Table Index Partition Communication Channels

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed database management systems, maintaining index integrity during table and index partition splitting operations is challenging due to potential latency and the need for efficient communication between multiple partitions, which can lead to message duplication and loss.

Innovation Solution

The implementation of a communication mechanism using sending and receiving buffers, where messages are managed in a first-in, first-out order, and durability mechanisms are employed to prevent message loss, allowing for seamless splitting of table and index partitions while maintaining index integrity through the use of sessions and replication groups.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If messages are transmitted between table partitions and index partitions during splitting operations, then communication efficiency is improved, but message duplication and loss may occur

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidmessage integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system suspends communication between table partitions and index partitions before the splitting operation begins. This preliminary action prevents messages from being transmitted during the critical splitting period, eliminating the risk of message duplication and loss while maintaining communication efficiency after the split is complete.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a buffering mechanism that temporarily stores messages during splitting operations. This cushioning approach absorbs the potential harm of message duplication by providing a temporary holding area where messages can be safely stored until the splitting is complete and communication can resume without risk of loss or duplication.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Duration of action of stationary object

If communication channels are maintained during splitting operations, then data flow continuity is improved, but index integrity may be compromised

Engineering Contradiction:
Improvedata flow continuityVSAvoidindex integrity
Core Design Contradiction:
Duration of action of stationary objectVSStability of the object's composition

Solution Approach 1:

The system suspends communication channels before splitting operations begin, prioritizing index integrity over data flow continuity during the critical period. After the splitting is complete, communication is restored, ensuring that index integrity is maintained while data flow continuity is preserved for the majority of operational time.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If multiple communication channels are established between partitions, then communication coverage is improved, but system complexity increases

Engineering Contradiction:
Improvecommunication coverageVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system extracts and manages communication channels on a per-splitting-operation basis. During splitting operations, specific communication channels are temporarily suspended while others remain active. This selective extraction approach maintains comprehensive communication coverage when needed while reducing complexity during critical operations by removing only the necessary channels.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10102228B1Table and index communications channels
Publication Date: 2018.10.16 AMAZON TECH INC
  • US10102228B1 patent drawing
  • US10102228B1 patent drawing
  • US10102228B1 patent drawing

AI summary

One or more table partitions may communicate with one or more index partitions. A communications channel may be dedicated to each combination of table partition and index partition. The communications channel may act as a queue of messages corresponding to updates to data maintained in a table partition that have yet to be processed by a corresponding index partition. Upon splitting a table partition, communications channels may be duplicated including unprocessed messages. Connections between new table partitions and an index may be finalized upon the index's receipt of a message indicative of the new table partition.