Live Partitioning in Data Store for Seamless Scaling

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, and require complex client-side partitioning, while also managing anomalies and performance variability.

Innovation Solution

A Web-based data storage service that supports seamless scaling of tables through automatic live repartitioning, flexible schema, multiple consistency models, and predictable performance, with features like conditional updates and extreme scaling capabilities, allowing clients to interact through a simple API without the burden of database administration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is distributed across multiple machines for security and availability, then reliability improves, but system complexity increases

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

Solution Approach 1:

The patent segments data into partitions that are distributed across multiple machines. Each partition can be independently managed, replicated, and moved without affecting the entire system. This segmentation enables the system to achieve high availability and security through distribution while managing complexity by treating partitions as modular units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a universal data model where tables can function in multiple ways - they can be partitioned horizontally, replicated across machines, and dynamically reconfigured. This multi-functionality allows the same table structure to serve different availability and security requirements without requiring separate systems for each scenario.

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

2Adaptability or versatility

If client-side partitioning is implemented for scaling, then adaptability improves, but device complexity increases

Engineering Contradiction:
Improvescaling capabilityVSAvoidclient-side complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements server-side partitioning where the database service automatically manages data distribution, replication, and partitioning decisions. This eliminates the need for clients to implement complex partitioning logic, as the system self-adjusts to scaling requirements through automatic partition creation, data redistribution, and replica management.

Inventive Principle:
Principle #25Self-service

3Device complexity

If maximum table size limits are imposed for management simplicity, then device complexity decreases, but adaptability worsens

Engineering Contradiction:
Improvemanagement simplicityVSAvoidtable size flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic partitioning where tables can grow indefinitely by automatically creating new partitions as data volume increases. The system dynamically adjusts the number and distribution of partitions based on current data size and access patterns, eliminating fixed table size limits while maintaining management simplicity through automated partition management.

Inventive Principle:
Principle #15Dynamics

4Device complexity

If throughput limits are imposed for performance management, then device complexity decreases, but productivity worsens

Engineering Contradiction:
Improveperformance managementVSAvoiddata throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments data access pathways into multiple independent partitions and replicas. Each partition can handle read and write operations independently, allowing throughput to scale linearly with the number of partitions. This segmentation enables the system to achieve high throughput by distributing workloads across multiple machines without requiring complex performance management interventions.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20230400990A1System and method for performing live partitioning in a data store
Publication Date: 2023.12.14 AMAZON TECH INC
  • US20230400990A1 patent drawing
  • US20230400990A1 patent drawing
  • US20230400990A1 patent drawing

AI summary

A system that implements a scalable data storage service may maintain tables in a data store on behalf of storage service clients. The service may maintain table data in multiple replicas of partitions that are stored on respective computing nodes in the system. In response to detecting an anomaly in the system, detecting a change in data volume on a partition or service request traffic directed to a partition, or receiving a service request from a client to split a partition, the data storage service may create additional copies of a partition replica using a physical copy mechanism. The data storage service may issue a split command defined in an API for the data store to divide the original and additional replicas into multiple replica groups, and to configure each replica group to maintain a respective portion of the table data that was stored in the partition before the split.