Elastic Database Partitioning for Multi-Tenant Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvemulti-tenant database capabilityVSAvoidread and write performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddatabase management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvepartitioning implementation simplicityVSAvoidadaptability to data patterns
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12204948B2Elastic data partitioning of a database
Publication Date: 2025.01.21 SALESFORCE INC
  • US12204948B2 patent drawing
  • US12204948B2 patent drawing
  • US12204948B2 patent drawing

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.