Database Virtual Partitioning for Multi-Tenant Scalability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database systems without physical partitioning face scalability issues and performance problems, particularly when handling a large number of tenants, leading to potential query timeouts due to uneven loading of physical partitions.
Innovation Solution
The implementation of virtual partitioning, which dynamically splits a database into more granular parts, allowing for flexible and dynamic reconfiguration of tenant data distribution based on node affinity, enabling multiple virtual partitioning schemes to operate concurrently and adapt to changing loads.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If physical partitioning is used to improve scalability, then the database can handle more tenants, but the physical partitions become unevenly loaded causing performance problems and query timeouts
Solution Approach 1:
The patent divides the database into multiple virtual partitions at the logical level rather than physically. Each virtual partition can be dynamically assigned to different physical partitions, allowing the system to segment tenant data logically while maintaining flexible physical distribution. This resolves the contradiction by enabling scalability through virtual segmentation without the rigidity of physical segmentation that causes uneven loading.
Solution Approach 2:
The patent implements dynamic virtual partitioning where the mapping between virtual and physical partitions can change over time based on load conditions. Virtual partitions are not statically bound to physical partitions, allowing the system to adaptively redistribute data as tenants are added or removed. This dynamic approach prevents the performance degradation caused by static physical partitioning while maintaining scalability.
2Device complexity
If static physical partitioning is used to simplify database structure, then the database organization is straightforward, but it cannot adapt to changing tenant distributions leading to uneven loading
Solution Approach 1:
The patent introduces a virtual partitioning dimension between the physical storage layer and the tenant data layer. This additional logical dimension allows the database to maintain simple physical structures while achieving complex adaptive distributions through virtual mapping. The virtual partitioning layer acts as an abstraction that decouples the simplicity of physical storage from the flexibility of tenant distribution requirements.
3Adaptability or versatility
If virtual partitioning is implemented to improve adaptability, then the database can dynamically reconfigure tenant data distribution, but the system complexity increases
Solution Approach 1:
The patent introduces virtual partitions as an intermediary layer between physical storage and tenant data. This intermediary abstraction simplifies the management of dynamic reconfiguration by providing a logical layer that handles the complexity of adaptive distribution. The virtual partitioning mechanism acts as a mediator that translates high-level tenant distribution requirements into low-level physical storage operations, reducing the perceived complexity for users and administrators.
Data Source
AI summary
A database with virtual partitioning. A computer system used to implement the database receives a request for a database operation to be performed on data stored in a portion of the database, where the data has a group of logical partitions (e.g., tenants of a multi-tenant database), and where the portion of the database is not further physically partitioned. The computer system identifies a virtual partitioning scheme for the database operation, the virtual partitioning scheme defining sub-groups of the group of logical partitions. The computer system then performs the database operation for the sub-groups defined by the virtual partitioning scheme. Multiple virtual partitioning schemes can be active at the same time, and virtual partitioning schemes can be created dynamically in some instances.


