Partition Splitting in Distributed Database Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As distributed databases scale, managing and splitting partitions to handle increased data and traffic becomes complex, leading to latency, inconsistency, and reduced scalability due to inefficient data routing and processing.

Innovation Solution

Implement a method for partition splitting in distributed databases where data from a particular series is routed to the same node, using ingestion routers with updated partition metadata to create and manage sub-partitions, ensuring efficient reordering and deduplication, and preventing the parent partition from receiving new data once a threshold of routers has updated metadata.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If partition splitting is implemented in a distributed database, then scalability and data distribution are improved, but system complexity and routing inconsistency increase

Engineering Contradiction:
ImprovescalabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides a parent partition into multiple child partitions based on data range criteria, enabling the system to handle increased data volume by segmenting the data storage structure. This segmentation allows scalable growth while maintaining organized data distribution across the distributed database nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a metadata store as an intermediary component that centralizes partition metadata management. This metadata store acts as a mediator between ingestion routers and the distributed database, providing a single source of truth for partition information and reducing routing inconsistency during split operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If partition splitting is performed, then data distribution is improved, but latency increases due to metadata propagation delays

Engineering Contradiction:
Improvedata distributionVSAvoidlatency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-defining partition metadata in the metadata store before actual data redistribution occurs. Ingestion routers can proactively fetch and cache partition metadata, preparing the routing structure in advance to minimize latency during the actual split operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the mechanical propagation of partition metadata through multiple router instances with a centralized metadata store that provides on-demand access. This substitution eliminates the time-consuming chain of metadata updates across distributed routers, reducing latency by allowing routers to independently retrieve current partition information.

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

3Reliability

If partition metadata is propagated to all ingestion routers, then routing consistency is improved, but network overhead and processing time increase

Engineering Contradiction:
Improverouting consistencyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The centralized metadata store serves as an intermediary that provides routing consistency without requiring widespread propagation of metadata updates. Ingestion routers query the metadata store as needed, ensuring they receive consistent partition information without the overhead of maintaining synchronized copies across all nodes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent enables ingestion routers to self-serve by allowing them to independently query and retrieve partition metadata from the centralized metadata store. This self-service approach eliminates the need for passive metadata propagation, reducing network overhead and processing time while maintaining routing consistency.

Inventive Principle:
Principle #25Self-service

4Productivity

If data is reassigned from parent partition to sub-partitions, then load balancing is improved, but data routing complexity and inconsistency increase

Engineering Contradiction:
Improveload balancingVSAvoiddata routing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the parent partition into multiple child partitions with clearly defined data ranges, enabling systematic load balancing. Each child partition handles a specific portion of the data space, simplifying the routing logic despite the increased number of partitions by providing structured data distribution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The centralized metadata store acts as an intermediary that manages the complexity of data reassignment during partition splits. It maintains the authoritative mapping between data keys and partition locations, allowing ingestion routers to perform simple key-based lookups rather than managing complex reassignment logic themselves.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11263184B1Partition splitting in a distributed database
Publication Date: 2022.03.01 AMAZON TECH INC
  • US11263184B1 patent drawing
  • US11263184B1 patent drawing
  • US11263184B1 patent drawing

AI summary

Methods, systems, and computer-readable media for partition splitting in a distributed database are disclosed. A partition of data is split into a first sub-partition and a second sub-partition. A first portion of the data is assigned to the first sub-partition, and a second portion of the data is assigned to the second sub-partition. One or more elements of the first portion of the data from the partition and an additional one or more elements of the first portion of the data from the first sub-partition are stored into a first node. One or more elements of the second portion of the data from the partition and an additional one or more elements of the second portion of the data from the second sub-partition are stored into a second node. The partition is prevented from receiving new data after the partition is split into the first and second sub-partitions.