Geo-replicated Database Reconciliation via Distributed State Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-availability database services face challenges in reconciling databases across geo-replicated clusters, especially in situations like unavailability of primary databases, communication link failures, and concurrent operations, which can prevent synchronization and lead to data inconsistencies.

Innovation Solution

A stateless messaging protocol managed by a distributed cluster management module uses reconciliation data structures to track database states and operations, allowing each cluster to determine whether changes can be reconciled, ensuring that databases remain synchronized without relying on a central control point.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a coordination infrastructure is used to ensure data consistency between geo-replicated clusters, then data consistency is improved, but the system becomes more complex and introduces a single point of failure

Engineering Contradiction:
Improvedata consistencyVSAvoidcoordination infrastructure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The coordination infrastructure is segmented and distributed across multiple nodes rather than centralized. Each node independently maintains reconciliation data structures and processes reconciliation requests, eliminating the single point of failure while preserving data consistency through distributed coordination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Reconciliation data structures serve as intermediaries between clusters, carrying state information and operation metadata. These data structures enable indirect coordination between clusters without requiring a centralized coordinator, reducing system complexity and improving reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If databases are geo-replicated across different locations for disaster recovery, then availability is improved, but maintaining synchronization between clusters becomes more difficult

Engineering Contradiction:
ImproveavailabilityVSAvoidsynchronization mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Reconciliation data structures are pre-established and maintained at each cluster before conflicts occur. These data structures continuously track database state and operation metadata, enabling rapid conflict detection and resolution without complex real-time synchronization protocols when failures or concurrent operations occur.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If concurrent operations are allowed on primary and secondary databases independently, then productivity is improved, but data consistency becomes harder to maintain

Engineering Contradiction:
Improveconcurrent operationsVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback through reconciliation data structures that continuously monitor and compare database states across clusters. When concurrent operations create conflicts, the feedback mechanism detects state divergences and triggers reconciliation processes, allowing high concurrency while maintaining eventual consistency through automated conflict resolution.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9405816B2Reconciliation of geo-replicated database clusters
Publication Date: 2016.08.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9405816B2 patent drawing
  • US9405816B2 patent drawing
  • US9405816B2 patent drawing

AI summary

A database associated with a primary database cluster may be replicated in a backup database cluster located in a different location in order to provide a highly-available fault tolerant database service. The databases are reconciled through a cluster management module distributed in each database cluster. The cluster management module uses a set of reconciliation data structures to track locally the reconciled states of each database in each database cluster, the operations made locally to the databases in each database cluster, and the author of the operations. The cluster management module in each database cluster engages in a stateless messaging protocol using the set of reconciliation data structures to determine whether or not the databases may be reconciled.