Elastic Database Partitioning for Multi-Tenant Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional database management approaches for multi-tenant and dynamic-schema databases face challenges in data partitioning, leading to adverse impacts on read & write performance and database management due to 'intermingling' of data from different organizations and entities.
Innovation Solution
The implementation of an elastic partitioning scheme that allows for flexible and dynamic partitioning of database tables, where clustering criteria can vary by organization, database object, and time, enabling efficient data storage and retrieval.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional database management approaches are used for multi-tenant and dynamic-schema databases, then data from different organizations and entities can be stored together, but read and write performance deteriorates due to data intermingling
Solution Approach 1:
The patent applies segmentation by dividing the database into multiple partitions, each containing data from specific organizations or entities. This partitioning isolates data access patterns, so that queries and transactions on one partition do not interfere with others, thereby maintaining high performance while supporting multi-tenant capabilities. The system dynamically determines partitioning based on organization identifiers and data access patterns.
Solution Approach 2:
The patent implements dynamic partitioning where the database structure adapts based on workload characteristics, organization requirements, and data access patterns. Partitioning schemes can be modified over time without downtime, allowing the system to optimize performance as data grows and access patterns evolve. This dynamic approach maintains versatility while preventing performance degradation.
2Quantity of substance
If data from different organizations is stored together in conventional databases, then storage efficiency is improved, but database management complexity increases due to data intermingling
Solution Approach 1:
The database is segmented into organized partitions that maintain logical separation while using efficient storage structures. Each partition can be managed independently, simplifying backup, recovery, and maintenance operations. The segmentation enables the system to store large quantities of multi-tenant data efficiently while reducing management complexity through modular organization.
Solution Approach 2:
The patent introduces partitioning metadata and mapping structures as intermediaries between the physical storage and logical data access. These intermediaries track which data belongs to which organization and facilitate efficient retrieval without requiring complex management of intermingled data. The intermediary layer abstracts the complexity, allowing straightforward storage while maintaining organized access patterns.
3Ease of manufacture
If fixed partitioning schemes are used in databases, then implementation simplicity is maintained, but adaptability to changing data patterns and organizational needs deteriorates
Solution Approach 1:
The system employs dynamic partitioning that automatically adapts to changing data patterns, organizational requirements, and workload characteristics. Partitioning strategies can be modified based on observed access patterns, data growth, and organizational changes without requiring complete reimplementation. This maintains simplicity through automated adaptation while providing high versatility.
Solution Approach 2:
The patent utilizes parameter changes in partitioning strategies, such as adjusting partition keys, partition counts, and distribution methods based on evolving requirements. The system can change partitioning parameters dynamically to optimize for different scenarios (e.g., switching between hash-based and range-based partitioning), maintaining implementation simplicity through parameterized solutions while achieving high adaptability.
Data Source
AI summary
A database entry may be stored in a container in a database table corresponding with a partition key. The partition key may be determined by applying one or more partition rules to one or more data values associated with the database entry. The database entry may be an instance of one of a plurality of data object definitions associated with database entries in the database. Each of the data object definitions may identify a respective one or more data fields included within an instance of the data object definition.


