Composite Primary Key Partitioning for Scalable Data Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage services face challenges in providing seamless scaling, high durability, and availability without imposing maximum table size or throughput limits, while also managing anomalies and hot spots, and require complex database administration.

Innovation Solution

A Web services-based data storage service that supports seamless scaling, automatic live repartitioning, flexible schema, multiple consistency models, and predictable performance, with an API for storage service clients to interact through a simple set of Web services, allowing for operations like storing, retrieving, updating, and querying data without client-side partitioning, and maintaining low latency and multi-tenancy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is distributed across multiple machines for scalability and availability, then system capacity and reliability improve, but system complexity and difficulty of management increase

Engineering Contradiction:
Improvesystem availabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the distributed database system into autonomous peer nodes that independently manage their own data partitions. Each peer operates autonomously without requiring centralized coordination, eliminating single points of failure and reducing system management complexity while maintaining high availability across the distributed network.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements self-organizing peer nodes that automatically discover each other, dynamically balance data partitions, and autonomously handle failover scenarios. This self-service mechanism eliminates the need for complex centralized management systems, allowing the distributed database to automatically maintain reliability while reducing operational complexity.

Inventive Principle:
Principle #25Self-service

2Ease of operation

If complex database administration is avoided, then ease of operation improves, but ability to manage large-scale data distribution deteriorates

Engineering Contradiction:
Improvedatabase administrationVSAvoiddata distribution scale
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent enables peer nodes to automatically perform data distribution, partition balancing, and failover management without human intervention. The system self-organizes and self-manages large-scale data distribution across the network, providing ease of operation while effectively handling massive data scales through autonomous peer coordination.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces a lightweight peer-to-peer communication protocol that acts as an intermediary mechanism between distributed nodes. This protocol enables automatic coordination for data distribution and management tasks without requiring complex administrative interfaces, allowing users to operate the system easily while the intermediary handles the complexity of large-scale data management.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If automatic live repartitioning is implemented, then adaptability improves, but system complexity increases

Engineering Contradiction:
Improvelive repartitioning capabilityVSAvoidpartition management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic partition assignment where data partitions are not statically bound to specific peers but are continuously reassigned based on current system conditions. Peer nodes automatically detect changes in system state and perform live repartitioning operations, enabling the system to adapt to varying workloads and node availability while the distributed nature of the implementation keeps management complexity manageable.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent incorporates feedback mechanisms where peer nodes continuously monitor system state, partition balance, and node performance metrics. This feedback drives automatic repartitioning decisions, allowing the system to adapt to changing conditions while the decentralized feedback loops prevent the need for complex centralized control mechanisms.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8819027B1System and method for partitioning and indexing table data using a composite primary key
Publication Date: 2014.08.26 AMAZON TECH INC
  • US8819027B1 patent drawing
  • US8819027B1 patent drawing
  • US8819027B1 patent drawing

AI summary

A system that implements a scaleable data storage service may maintain tables in a non-relational data store on behalf of service clients. Each table may include multiple items. Each item may include one or more attributes, each containing a name-value pair. The system may provide an API through which clients can query tables maintained by the service. Items may be partitioned and indexed in a table according to a simple or composite primary key contained in all items in the table. A composite primary key may include a hash key attribute, and a range key attribute. The range key attribute may be usable to order items having the same hash key attribute value, and to partition them dependent on a range of range key attribute values. A query request may specify a logical or mathematical expression dependent on range key attribute values and may be directed to multiple partitions.