6 Consistency Guarantees #
- Strong Consistency
- Eventual Consistency
- See (any) subset of previous writes
- Weakest
- Consistency Prefix
- See an ordered sequence of writes starting with the first write
- The read result exist at some point in the master
- Bounded Staleness
- See all “old” writes
- e.g. See all writes more than 5 minutes ago
- Monotonic Reads
- See increasing subset of writes
- Similar to eventual consistency
- Later read return more recently value
- Read my write
- See all writes performed by reader

Strength of consistency guarantee #
- Defined by the size of the set of allowable results
- Strong consistency
- Set size = 1 (only the latest value)
- Eventual Consistency
- Set size = large (any value)
In-Class
Linearizability #
- Strong consistency, single copy
- All ops seen in same global order
- Global order determined by real time
- if
a completes before b begins, a ordered before b - else
a + b are concurrent - Simpler to reason about
- Poor performance
Sequential Consistency #
- All ops totally ordered but no real-time ordering
- linearizable w/o realtime
- Ops from one client are ordered in program order
Causal Consistency #
- No total order seen by all clients
- Causally-related ops: same order observed by all clients
comments powered by