Consistency Model¶
Core Idea¶
A consistency model is an explicit contract about what different observers of a shared state may see, and in what order, when updates are concurrent. It does not say what the state is; it constrains which interleavings of reads and writes count as legal observations, selecting a permitted subset out of the vastly larger conceivable set.
How would you explain it like I'm…
Shared Scoreboard Rules
Who Sees What, When
Legal-Observation Contract
Broad Use¶
- Distributed computing: linearizability, sequential, causal, and eventual consistency, and snapshot isolation, as named rules for replicated databases, file systems, and caches.
- Multi-jurisdictional law and records: title registries and tax records need a rule for what each office may assume about the others' state.
- Organizations with multiple sites: branch offices act on locally cached corporate truth, with an implicit rule for how stale a copy may be.
- Scientific publication: preprints, peer-reviewed versions, errata, and retractions mean different readers see different current truths.
- Memory hardware: CPUs and GPUs publish memory models (x86-TSO, ARM relaxed) specifying which read/write orderings the hardware honors.
Clarity¶
It converts "will everyone see the same thing?" into a testable contract and makes the divergence budget explicit — surfacing the hidden assumption that breaks silently at scale.
Manages Complexity¶
It replaces an enormous space of possible histories with a small permitted set, and lets the designer match the guarantee to the operation — strong consistency for funds movement, eventual for like-counts — paying for coordination only where needed.
Abstract Reasoning¶
It supports templates stated over observers and histories: strength-versus-cost reasoning, per-operation tiering, staleness budgeting, and compensation as an alternative to prevention.
Knowledge Transfer¶
- Distributed systems → organizations: make the guarantee explicit before scaling, since the implicit "everyone sees everything immediately" assumption breaks silently as a company adds sites.
- Computing → law: tiering the guarantee per operation maps onto a registry holding a binding central truth while local offices hold cached copies.
- General: treat propagation delay as a first-class variable — how stale a belief may be before it bites is one question across caches, branch offices, and rumor.
Example¶
A retailer shows storefront "items remaining" under eventual consistency, but reserves the last unit with a linearizable decrement against the warehouse so two stores cannot both sell it — and if an oversell slips through, a refund-and-apology pathway compensates after the fact.
Relationships to Other Abstractions¶
Current abstraction Consistency Model Prime
Parents (2) — more general patterns this builds on
-
Consistency Model is a kind of Contract Prime
A consistency model is explicitly an explicit contract specifying legal observations of shared state, fitting the general obligations-and-permissions bundle structure of contract.
-
Consistency Model presupposes Concurrency Prime
'Concurrency is the CONDITION — multiple operations in flight; a consistency model is the CONTRACT specifying which observations of that concurrency are legal.
Children (1) — more specific cases that build on this
-
Strong Consistency Domain-specific is a kind of Consistency Model
Strong consistency is a consistency model specialized to legal histories equivalent to one real-time-respecting total order.
Hierarchy paths (2) — routes to 2 parentless roots
- Consistency Model → Concurrency
Not to Be Confused With¶
- Consistency Model is not Concurrency because concurrency is the condition of multiple operations in flight whereas a consistency model is the contract specifying which observations of that concurrency are legal.
- Consistency Model is not Consistency (logical) because logical consistency is the non-derivability of a contradiction from a static rule-set whereas a consistency model constrains which orderings of reads and writes across observers are permitted.
- Consistency Model is not Coordination because coordination is the mechanism (consensus, locking) that enforces a strong model whereas the consistency model is the specification of what is to be enforced.