Skip to main content
  1. References/
  2. Architecture Design Basics/
  3. Pattern Taxonomy/
  4. Reliability, Consistency & Synchronisation/

Consistency Models

·· 235 words· 2 mins

🔴 P0 — the spectrum from linearisability to eventual consistency

Problem #

When data is replicated, which version does a reader see? The consistency model defines the contract between the system and its users about recency and ordering of data.

The Spectrum #

ModelGuaranteeCostExample Use
LinearisabilityReads see the most recent write, globallyHighest (consensus)Bank account balance
SequentialAll ops appear in some total order consistent with each processHighDistributed locks
CausalCausally related ops appear in order; concurrent ops may be reorderedMediumSocial media feeds
Monotonic readsOnce you see a value, you never see an older oneLowSession-scoped reads
EventualAll replicas converge eventually; no recency guaranteeLowestDNS, CDN, product catalog

Key Insight #

Consistency is not binary. “Strongly consistent” and “eventually consistent” are ends of a spectrum. In practice, you choose different consistency levels for different parts of the same system: linearisable for the payment ledger, eventual for the product catalog.

Instinct #

Name the consistency model explicitly in your design. Don’t say “consistent” — say “linearisable for writes to the balance table, eventually consistent with <5s lag for the activity feed.” This precision is a seniority signal.

References #

DDIA 2e Reference #

  • Chapter 9: Consistency and Consensus — this IS Chapter 9
  • Chapter 5: Replication and consistency guarantees