Eventually Consistent Replication in Time-Series Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed time-series databases face challenges in maintaining high availability and reducing latency during writes and reads, especially when replicas experience outages or data is ingested out of order, due to the complexity of managing large datasets and ensuring eventual consistency across replicas.

Innovation Solution

Implementing replication protocols that allow writes to be committed and queries to be performed efficiently by ensuring version consistency among replicas, using a commit protocol that acknowledges writes only if all replicas are up-to-date and allowing queries with stale data to reduce retries and improve network utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If strict consistency protocols are used to ensure data accuracy across replicas, then data consistency is improved, but write latency and system availability deteriorate

Engineering Contradiction:
Improvedata consistencyVSAvoidwrite latency
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by requiring consistency only for the minimum necessary quorum of replicas (N/2 + 1) rather than all replicas. This allows writes to be committed once a sufficient subset of replicas acknowledges the write, reducing latency while maintaining bounded eventual consistency across the distributed system.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary actions by pre-establishing replica groups and their consistency requirements before writes occur. Metadata about replica group composition and consistency levels is maintained in advance, allowing the system to quickly determine commit eligibility without complex runtime negotiations when writes need to be committed.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If all replicas must be up-to-date before committing writes, then data consistency is improved, but system availability and write throughput deteriorate during replica outages

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem availability
Core Design Contradiction:
Manufacturing precisionVSReliability

Solution Approach 1:

The patent requires consistency only with a quorum of replicas (N/2 + 1) rather than all replicas. This partial action approach allows the system to commit writes even when some replicas are unavailable, maintaining system availability while ensuring bounded eventual consistency through the quorum mechanism.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system cushions against replica failures by requiring writes to be acknowledged by a quorum of replicas before committing. This beforehand cushioning ensures that even if some replicas fail afterward, the committed data remains consistent across the surviving replicas, maintaining both consistency and availability.

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

3Manufacturing precision

If complex consensus mechanisms are implemented to manage replica consistency, then data consistency is improved, but device complexity and operational overhead increase

Engineering Contradiction:
Improvedata consistencyVSAvoidconsensus mechanism complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent extracts the complex consensus logic from the data plane and places it in the control plane. Metadata about replica group composition, membership, and consistency requirements is maintained separately and used to guide simple commit decisions. This separation reduces the complexity of individual write operations while maintaining strong consistency guarantees.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system introduces metadata as an intermediary layer between the physical replicas and the consistency logic. This metadata layer abstracts the complexity of replica group management and provides a simplified interface for determining commit eligibility, reducing operational overhead while maintaining consistency guarantees.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Manufacturing precision

If retries are implemented to ensure writes reach all replicas, then data consistency is improved, but network utilization and operational complexity increase

Engineering Contradiction:
Improvedata consistencyVSAvoidnetwork utilization
Core Design Contradiction:
Manufacturing precisionVSLoss of energy

Solution Approach 1:

The patent sends writes to a quorum of replicas (N/2 + 1) rather than all replicas. This partial action approach ensures bounded eventual consistency without requiring redundant writes to every replica, reducing network utilization while maintaining data consistency across the distributed system.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11250019B1Eventually consistent replication in a time-series database
Publication Date: 2022.02.15 AMAZON TECH INC
  • US11250019B1 patent drawing
  • US11250019B1 patent drawing
  • US11250019B1 patent drawing

AI summary

Methods, systems, and computer-readable media for eventually consistent replication in a time-series database are disclosed. Time-series data is stored in a plurality of replicas of a replica group. The time-series data is within spatial and temporal boundaries of the replica group. The replicas store a server-side version number of replica group metadata. A query processor sends a query request to a first replica of the replica group. The query request comprises a query-client-side version number of the replica group metadata. The first replica performs a comparison of the query-client-side version number to the server-side version number. The first replica generates a successful response to the query request or denies the query request based at least in part on the comparison, where the successful response comprises one or more elements of the time-series data.