Multi-Leader Replica Group Snapshot Addition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data replication techniques in multi-leader replica groups face challenges in efficiently adding new replicas without disrupting ongoing updates and ensuring data consistency across distributed locations, leading to potential losses or conflicts.

Innovation Solution

Implementing a method to create a snapshot of a data set at a specific point in time and replicate updates from existing replicas to the new replica, using a replication protocol that handles conflicts and ensures eventual consistency, while allowing new replicas to be added without blocking or losing updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a new replica is added to a multi-leader replica group, then data availability and performance are improved, but data consistency and conflict resolution become more complex

Engineering Contradiction:
Improvedata availabilityVSAvoidconflict resolution complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system captures a snapshot of the data set at a specific point in time before adding the new replica. This preliminary action establishes a known consistent state that the new replica can use as its starting point, avoiding the need to resolve conflicts with historical updates that occurred before the snapshot was taken.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The replication process is segmented into distinct phases: (1) capturing a snapshot at a specific timestamp, (2) replicating the snapshot to the new replica, and (3) subsequently replicating only updates that occur after the snapshot timestamp. This segmentation simplifies conflict resolution by clearly separating historical data from new updates.

Inventive Principle:
Principle #1Segmentation

2Reliability

If updates are replicated continuously to maintain consistency, then data consistency is improved, but adding new replicas causes disruption and loss of updates

Engineering Contradiction:
Improvedata consistencyVSAvoidupdate loss during replica addition
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

A snapshot of the data set is captured at a specific point in time before the new replica is added. This preliminary action creates a stable baseline that ensures no updates are lost during the replica addition process, as the snapshot represents a complete consistent state.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The snapshot acts as an intermediary mechanism between the existing replicas and the new replica. Instead of directly replicating ongoing updates to the new replica (which could cause disruption), the snapshot serves as a buffer that ensures consistent data transfer without losing any updates.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If a snapshot is captured and replicated to a new replica, then update continuity is maintained, but replication overhead and data transfer time increase

Engineering Contradiction:
Improveupdate continuityVSAvoidreplication time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Instead of replicating the entire data set history to the new replica, the system captures a snapshot at a specific timestamp and replicates only the data present at that moment. Subsequently, only updates occurring after the snapshot timestamp are replicated. This local quality approach minimizes replication overhead while maintaining update continuity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11789971B1Adding replicas to a multi-leader replica group for a data set
Publication Date: 2023.10.17 AMAZON TECH INC
  • US11789971B1 patent drawing
  • US11789971B1 patent drawing
  • US11789971B1 patent drawing

AI summary

Replicas may be added to a multi-leader replica group for a data set. A new replica may be added to a group of replicas by copying a version of the data set according to a point in time to the new replica. As updates may occur at different ones of the replicas when the new replica is added, updates that occurred at a source replica for the snapshot and other replicas may be replicated by the different replicas according to the point in time at which the snapshot is created without blocking updates at any of the replicas in the replica group.