Distributed Database - Eventual consistency

> (Data|State) Management and Processing > Distributed Database

1 - About

Eventually consistency means all updates can be expected to propagate to all replicas with a certain period of time. The period should fall in the range of milliseconds with the system being consistent at its end.

Write conflicts will eventually propagate throughout the system

We believe that applications must be aware that they may read weakly consistent data and also that their write operations may conflict with those of other users and applications.

Moreover, applications must be revolved in the detection and resolution of conflicts since these naturally depend on the semantics of the application.

D. Terry et al., “Managing Update Conflicts in Bayou,a Weakly Connected Replicated Storage System”, SOSP 1995

What the application sees in the meantime is sensitive to replication mechanics and difficult to predict

Contrast with RDBMS, Paxos: Immediate (or “strong”) consistency, but there may be deadlocks.


3 - NoSQL

A transaction with two updates on two different records where the system will only see both of those changes or neither of those changes is not supported in NoSQL systems.

NoSQL systems have eventually consisting guarantees at the record level. big table defines the notion of entity groups (a set of related records) for which transactions are strongly consistent.

4 - Documentation / Reference

data/distributed/eventual_consistency.txt · Last modified: 2018/10/21 21:40 by gerardnico