Compound Partition and Clustering Keys for Key-Value Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed database systems using a key-value approach lack granular control over data storage and ordering, limiting their ability to manage complex operations compared to relational databases.

Innovation Solution

Implementing compound partition keys and clustering keys to enable more precise control over data storage and access, allowing for the combination of multiple partition or clustering keys to determine node placement and sort order, respectively, while maintaining compatibility with existing key-value database systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a key-value approach is used for data storage, then scalability and reliability are improved, but granular control over data storage and ordering is lost

Engineering Contradiction:
ImprovescalabilityVSAvoidgranular control
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent segments the control of data storage by introducing separate partition key and clustering key components. The partition key determines which node stores the data, while the clustering key determines the sort order within the partition. This segmentation allows the system to maintain key-value scalability while regaining granular control over both storage location and ordering independently.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If table-oriented functionality is added to key-value systems, then relational database capabilities are improved, but system complexity increases

Engineering Contradiction:
Improvetable-oriented functionalityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces compound keys as an intermediary mechanism between the simple key-value interface and complex table-oriented operations. By encoding partition and clustering key information within the compound key structure, the system enables table-like data organization and querying capabilities without requiring a complete architectural shift to a relational model, thus adding versatility while controlling complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11036762B1Compound partition and clustering keys
Publication Date: 2021.06.15 AMAZON TECH INC
  • US11036762B1 patent drawing
  • US11036762B1 patent drawing
  • US11036762B1 patent drawing

AI summary

A data storage service implements encoding techniques for generating compound partition keys, compound clustering keys, or a combination for more flexibility in storing data in a key-value database system. In some aspects a request to store data with multiple partition keys and/or multiple clustering keys may be received. Length information may be added to the partition keys, and the results concatenated together to form a compound partition key used to store the data in the database. Ordering information may be added to the clustering keys, and the results concatenated together to form a compound clustering key, to be used in storing and sorting data in the database. In some cases, the clustering keys may be made a uniform length, such as by padding keys, as necessary, to have a length that is a multiple of an arbitrary number, and then dividing the clustering keys into chunks of that arbitrary number.