The Consistency Ladder — Requirement to Rung to Mechanism
Ask a junior "what consistency does this need?" and you get one of two wrong answers: "strong, to be safe" (needlessly slow, and unavailable the moment the network hiccups) or "eventual, to scale" (silently, expensively wrong). The senior move is neither — it's to treat consistency as a ladder and place each feature on the lowest rung that is still correct. This page is the decision layer that sits on top of the guide's CAP, quorum, consensus and CRDT pages: requirement → rung → mechanism.
The rungs, strongest to weakest
Each rung down relaxes a guarantee in exchange for lower latency and higher availability under a partition. You climb up only when a stale or out-of-order read would be wrong; you stay down everywhere else.
| Rung | Guarantee (plain words) | Buys you / costs you | Mechanism to name | Use when |
|---|---|---|---|---|
| Linearizable (strong) | Every read sees the latest write; the system behaves like one single copy in real-time order. | Correctness under concurrency; costs coordination latency and availability under partition (CP). | Consensus (Raft/Paxos), single-leader sync writes, or a strict quorum W+R>N plus synchronous read-repair before answering — overlap alone buys freshness of acknowledged writes, not real-time ordering | Stale = wrong: account balance, "sold out", unique-username claim. |
| Causal | Cause-before-effect is preserved for everyone; unrelated (concurrent) writes may be seen in different orders. | Preserves meaning (a reply follows its parent); stays available under partition. | Version vectors / vector clocks | Comments, chat, collaborative editing. |
| Read-your-writes / monotonic (session) | You always see your own writes, and your reads never go backwards in time. | Fixes the jarring "I posted and it vanished"; cheap, client-centric. | Sticky sessions, read-from-leader for that user | Post-then-view, profile edits, "did my change save?". |
| Eventual | If writes stop, all replicas converge eventually; until then reads may be stale. | Lowest latency, highest availability (AP); costs temporary staleness. | Async replication, gossip, CRDTs (to converge without conflicts) | Like/view counts, feeds, product catalog, DNS. |
The decision rule (this is the whole skill)
- Cost the stale read. Ask, per feature: "if this read is a few seconds old or out of order, what breaks?" Money, inventory, identity → a lot. A view counter → nothing.
- Pick the lowest safe rung. Climb only as high as that cost forces you; every rung up trades away latency and availability.
- Name the mechanism. A rung without a mechanism is hand-waving. Linearizable → consensus, a leader path, or strict W+R>N with read-repair before returning; causal → version vectors; read-your-writes → sticky/leader reads; eventual → async + CRDTs. This is what makes the answer defensible under drilling.
The ladder is just the operational face of the CAP trade-off: the top rungs are CP (give up availability under partition to stay correct), the bottom rungs are AP (give up freshness to stay up). Quorums let you tune where you sit — W+R>N moves you most of the way up (a read always overlaps the last acknowledged write), but the top rung additionally needs reads to write back the freshest version before returning (or a leader/consensus path); smaller quorums slide you down.
Worked example — one checkout, three different rungs
The tell of a strong answer is refusing to pick one level for the whole system. A single e-commerce checkout wants three:
- Inventory decrement → Linearizable. Overselling means refunds and a reputation hit, so the last unit must be handed out exactly once. That's an atomic conditional decrement / quorum write — exactly what the flash-sale inventory lab builds.
- Product reviews → Causal. A reply must appear after the review it answers, but there's no need for a global real-time order across unrelated reviews. Causal is correct and stays available.
- "12 people are viewing this" → Eventual. Off by a few for a second? Nobody notices. Spend the saved coordination on availability and speed.
One flow, three rungs, each justified by the cost of a stale read. Say that in an interview and you've shown the judgment the question is actually testing.
Traps to avoid
- "Strong everywhere" for safety. You've made the whole system CP — a single partition takes features offline that never needed strong reads. Cost without benefit.
- "Eventual everywhere" for scale. Now a balance or an inventory count can be wrong, and you'll paper over it with reconciliation and apologies. Some rungs are load-bearing.
- Naming a level without a mechanism. "We'll use strong consistency" is not an answer; "single-leader with synchronous quorum W+R>N" is. See 2PC vs Saga vs TCC for when a distributed write can't be one linearizable step.
- Confusing isolation with consistency. Database isolation levels govern concurrent transactions on one node's data; consistency models govern what replicas show. Related, not the same axis.
Related: Beyond CAP · CAP in practice (quorums, fencing) · Consensus (Paxos vs Raft) · CRDTs · SQL isolation levels · 2PC vs Saga vs TCC.
🤖 Don't fully get this? Learn it with Claude
Stuck on The Consistency Ladder — Requirement to Rung to Mechanism? Open Claude, copy a block below, and it'll teach you this exact concept — visually and interactively.
Build the mental picture, not memorization.
I just read a lesson on **The Consistency Ladder — Requirement to Rung to Mechanism** (System Design) and want to truly understand it. Explain The Consistency Ladder — Requirement to Rung to Mechanism from first principles using ONE vivid real-world analogy and a visual mental model — draw it as ASCII art or a clear step-by-step diagram — with a concrete example using real numbers. Then ask me one question to check I got the mental picture, and wait for my reply. If you're unsure or a claim isn't standard, say so and reason from first principles instead of guessing.
Socratic — adapts to where you're stuck.
Teach me **The Consistency Ladder — Requirement to Rung to Mechanism** interactively. Ask me ONE guiding question at a time, wait for my answer, and adapt to my confusion — build the idea with me step by step instead of explaining it all at once. If you're unsure or a claim isn't standard, say so and reason from first principles instead of guessing.
Active recall exposes what you missed.
Quiz me on **The Consistency Ladder — Requirement to Rung to Mechanism** with 5 questions, easy to tricky, ONE at a time. Tell me if each answer is right; at the end, explain clearly what I got wrong and why. If you're unsure or a claim isn't standard, say so and reason from first principles instead of guessing.
Intuition + hook + flashcards for long-term memory.
Help me remember **The Consistency Ladder — Requirement to Rung to Mechanism** for the long term: give the one-sentence intuition, a memorable hook/mnemonic, a tiny worked example, and 3 active-recall flashcards (Q -> A). If you're unsure or a claim isn't standard, say so and reason from first principles instead of guessing.