Log Conflict Resolution in Distributed Data Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face challenges in providing seamless scaling, high durability, and low latency while supporting flexible schema and multiple consistency models, especially in handling large datasets and varying workloads across multi-tier e-commerce systems.

Innovation Solution

A Web-based data storage service that implements automatic live repartitioning, supports strong consistency models, and uses a fault-tolerant log shipping mechanism with quorum-based replication and failover protocols to ensure data availability and performance across multiple storage nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is replicated across multiple machines for availability and durability, then reliability is improved, but log conflicts arise between replicas causing complexity in maintaining consistency

Engineering Contradiction:
Improvedata availabilityVSAvoidlog conflict resolution
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by applying operations to a designated replica before making it the current replica. This ensures that the replica is ready and has the necessary operations applied in advance, avoiding conflicts when switching between replicas. The operation log is maintained in a consistent state across all replicas, and operations are applied in a predetermined sequence to prevent conflicts.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary mechanism through the use of a current replica designator and operation log management. The current replica acts as an intermediary that coordinates operations between multiple replicas. By maintaining a single operation log and applying operations sequentially to the current replica, the system mediates between the need for replication and the need for consistency, eliminating conflicts.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If read operations go to any replica for high throughput, then productivity is improved, but consistency between reads deteriorates

Engineering Contradiction:
Improveread throughputVSAvoidread consistency
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system dynamically switches between different read strategies based on operational needs. When strong consistency is required, reads are directed to the current replica. When high throughput is needed and consistency requirements are relaxed, reads can go to any replica. This dynamic adaptation allows the system to optimize between productivity and measurement precision based on the specific operational context.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of read consistency requirements based on operational needs. By allowing the consistency requirement parameter to be flexible rather than fixed, the system can achieve high throughput when strong consistency is not critical, while maintaining consistency when needed. This parameter change enables optimization between productivity and measurement precision.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If write operations are applied to all replicas simultaneously for strong consistency, then measurement precision is improved, but system latency increases

Engineering Contradiction:
Improvewrite consistencyVSAvoidwrite latency
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The system applies write operations preliminarily to the current replica before making it the new current replica. This preliminary application ensures that the operation is committed to a specific replica first, establishing a consistent state. Subsequent operations can then be applied to other replicas in a coordinated manner, reducing the latency associated with simultaneous writes to all replicas.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuity of useful action by keeping the operation log consistent across all replicas and applying operations sequentially rather than simultaneously. This continuous, sequential application of operations ensures strong consistency while avoiding the latency spikes that would result from simultaneous writes. The current replica mechanism ensures that operations are always being applied continuously to maintain consistency.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10248704B2System and method for log conflict detection and resolution in a data store
Publication Date: 2019.04.02 AMAZON TECH INC
  • US10248704B2 patent drawing
  • US10248704B2 patent drawing
  • US10248704B2 patent drawing

AI summary

A system that implements a data storage service may store data on behalf of storage service clients. The system may maintain data in multiple replicas that are stored on respective computing nodes in the system. Updates to the stored data and to the membership of replica groups are propagated as replicated log records. A replica receiving a log record may compare metadata in the received log record to corresponding metadata in a log record that was previously appended to its log to determine a response. The metadata may include a sequence number, a lock generation identifier, an epoch identifier, or an indication of an epoch change. The replica may append the received log record to its log, drop the received log record, or cache the received log record for future use. If a log conflict indicates an invalid log stream branch, one or more log records may be deleted.