Dynamic Storage Partitioning via Composite Keys

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multi-tenant database systems lack awareness of tenant-specific data distribution and partitioning goals, leading to suboptimal performance due to inadequate partitioning strategies and difficulty in implementing tenant-specific rules, resulting in reduced efficiency and usefulness.

Innovation Solution

A data store system dynamically manages tenant data usage across multiple partitions by generating a composite partition key that includes user-specified and additional attributes, allowing for intelligent data distribution and rebalancing based on usage metrics, while maintaining user-specified partition boundaries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single large tenant saturates the partitioning of a table, then the partitioning structure is simple to manage, but database performance deteriorates for all tenants

Engineering Contradiction:
Improvepartitioning management complexityVSAvoiddatabase performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies segmentation by dividing tenant data into multiple partitions based on a composite partition key that includes both the tenant identifier and an additional attribute. This segmentation prevents any single tenant from saturating all partitions while maintaining manageable partition structures through automated key generation and dynamic partition creation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically changes the partitioning parameter by generating a composite partition key that combines the tenant identifier with an additional attribute. This parameter change allows the system to adapt partition distribution based on data characteristics and usage patterns, improving performance without increasing management complexity.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If tenant-specific partitioning rules are implemented, then partitioning effectiveness improves for each tenant, but system complexity increases

Engineering Contradiction:
Improvepartitioning effectivenessVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service by automatically generating composite partition keys using a hash function applied to tenant identifiers and additional attributes. This automation provides tenant-specific partitioning effectiveness without requiring manual configuration or complex system management, as the system adapts partitioning rules dynamically based on data characteristics.

Inventive Principle:
Principle #25Self-service

3Productivity

If data is spread across multiple partitions, then data access parallelization improves, but partition management complexity increases

Engineering Contradiction:
Improvedata access parallelizationVSAvoidpartition management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The composite partition key serves multiple functions: it enables data distribution across partitions for parallelization, maintains tenant data isolation, and provides a consistent basis for partition management. This multi-functionality achieves data access parallelization without proportionally increasing management complexity, as the same key structure serves multiple purposes.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Productivity

If a composite partition key with additional attributes is used, then data distribution improves, but key generation complexity increases

Engineering Contradiction:
Improvedata distributionVSAvoidkey generation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system replaces manual or complex mechanical key generation processes with an automated hash function that takes the tenant identifier and additional attribute as input. This substitution improves data distribution through consistent hashing while reducing key generation complexity by using standard cryptographic hash functions that are computationally efficient and easily implemented.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11061930B1Dynamic management of storage object partitioning
Publication Date: 2021.07.13 AMAZON TECH INC
  • US11061930B1 patent drawing
  • US11061930B1 patent drawing
  • US11061930B1 patent drawing

AI summary

Systems and methods are provided to implement a partitioned data store that transparently manages the partitioning of storage objects. In embodiments, the data store may determine that a user-specified partition key for a storage object is inadequate to properly partition the storage object, and generate another partition key that includes the user-specified partition key and another partition attribute. The data store may allow clients to query and update the data using the user-specified partition key, but transparently rebalance the actual partitions by adjusting the generated partition key. In embodiments, the data store may monitor usage metrics for its partitions, and take rebalancing actions (e.g., splitting partitions or relocating partition data) to dynamically maintain balance among the partitions. In embodiments, the data store may provide an analytics interface that displays the usage metrics for the different user-specified partitions.