Consistency models¶
Category: Distributed systems · Status: stub
One line: The promise a distributed store makes about what a reader will see — from strong consistency, where every read sees the latest write, to eventual consistency, where replicas agree only in the end.
Also called: ACID, BASE, eventual consistency, external consistency.
How it connects¶
In each language¶
| Elsewhere | etcd ↗ is linearizable by default and serializable on request; Cassandra ↗ lets each operation choose how many replicas must respond, from ONE to QUORUM and beyond |
Where to read more¶
- In the books: Concurrent Programming on Windows, Joe Duffy — ch. 10, 'Memory Models and Lock Freedom' → 'Memory Consistency Models'
- In the books: Concurrent Programming: Algorithms, Principles, and Foundations, Michel Raynal — ch. 4, 'Atomicity: Formal Definition and Properties' → 'Alternatives to Atomicity'
- In the books: Distributed Computing, Ajay D. Kshemkalyani, Mukesh Singhal — ch. 12, 'Distributed Shared Memory' → 'Memory Consistency Models'
- In the books: Designing Data-Intensive Applications, Martin Kleppmann — ch. 9, 'Consistency and Consensus'
- In the books: Database Internals, Alex Petrov — ch. 11, 'Replication and Consistency'
- Reference: Wikipedia: Consistency model ↗