Fine-Grained Virtualization for Database Scaling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database scaling techniques face challenges in efficiently managing write-based workloads, as they often require disruptive migration and result in resource waste or performance degradation, especially when handling burst workloads or sudden changes in memory consumption.
Innovation Solution
Implementing fine-grained virtualization resource provisioning allows for dynamic, non-disruptive scaling of database resources, such as CPU and memory, by monitoring utilization and adjusting resources in real-time to match workload demands without permanent scaling operations, thereby preventing resource waste and ensuring efficient resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If database instances are migrated to scale processing capacity, then resource allocation can be adjusted, but application disruption and connection drops occur
Solution Approach 1:
The patent segments database instances into multiple database slices, where each slice can be independently scaled. This allows resource allocation to be adjusted at the slice level rather than requiring migration of entire database instances, thereby maintaining application continuity while enabling flexible resource adaptation.
Solution Approach 2:
The patent introduces a database proxy as an intermediary layer between client applications and database instances. The proxy manages connections and routes requests to appropriate database slices, allowing resource scaling to occur without disrupting application connections. The proxy acts as a mediator that absorbs the impact of resource changes.
2Productivity
If database instances are migrated for scaling, then capacity can be changed, but migration costs and downtime increase
Solution Approach 1:
The patent implements dynamic resource allocation where database slices can be created, modified, or deleted on-demand without fixed migration schedules. Resources are allocated dynamically based on workload requirements, eliminating the need for planned migration downtime and enabling continuous scaling operations.
Solution Approach 2:
The patent allows database slices to be pre-created with anticipated resource requirements before scaling events occur. When scaling is needed, pre-configured slices can be activated immediately without migration downtime, as the structural preparation has already been completed in advance.
3Ease of manufacture
If fixed capacity is allocated to database instances, then resource management is simplified, but resource waste occurs during burst workloads
Solution Approach 1:
The patent implements partial resource allocation where database slices can be created with specific resource capacities matched to actual workload needs. Rather than allocating full fixed capacity to all instances, resources are partially allocated based on demand, allowing simple resource management policies to work efficiently without wasting capacity during low-utilization periods.
Solution Approach 2:
The patent enables dynamic modification of resource capacity parameters for database slices without requiring structural changes or migrations. Resource parameters such as CPU, memory, and storage can be adjusted independently and immediately, allowing the system to adapt to burst workloads while maintaining simple management through standardized parameter interfaces.
4Device complexity
If coarse resource capacity adjustments are made, then scaling operations are simpler, but resource precision and efficiency decrease
Solution Approach 1:
The patent segments database instances into smaller database slices that can be independently managed with fine-grained resource controls. This segmentation enables precise resource allocation at the slice level while keeping individual slice management simple, avoiding the need for complex coarse-grained adjustments across entire database instances.
Solution Approach 2:
The patent implements dynamic resource provisioning where slice capacities can be adjusted in real-time based on monitoring metrics. This dynamic approach replaces complex predetermined scaling operations with simple, automated, fine-grained adjustments that precisely match actual resource utilization patterns.
Data Source
AI summary
Fine-grained virtualization provisioning may be performed for in-place database scaling. Computing resource utilization for a database on a host system is obtained for a period of time. The computing resource utilization may be evaluated with respect to a target capacity for the database. If a scaling event is detected based on the evaluation, a modified target capacity may be determined and used to make an adjustment of the computing resources permitted to be used by the database.


