Lesson 16 of 17
16. Consistency and CAP

Sources

3 min read+10 XP

Source notes

  • CAP conjecture: Eric Brewer, keynote at PODC 2000. Proof: Seth Gilbert and Nancy Lynch, "Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services", ACM SIGACT News, 2002. Brewer, "CAP Twelve Years Later: How the 'Rules' Have Changed", IEEE Computer, 2012.
  • PACELC: Daniel J. Abadi, "Consistency Tradeoffs in Modern Distributed Database System Design", IEEE Computer, February 2012 (https://www.cs.umd.edu/~abadi/papers/abadi-pacelc.pdf). Classifications quoted (Dynamo-style systems as PA/EL by default; fully ACID systems such as VoltDB as PC/EC) are from that paper.
  • Linearizability: Maurice Herlihy and Jeannette Wing, "Linearizability: A Correctness Condition for Concurrent Objects", ACM TOPLAS, 1990.
  • Session guarantees (read-your-writes, monotonic reads and writes): Douglas Terry et al., "Session Guarantees for Weakly Consistent Replicated Data", PDIS 1994.
  • Shopping cart as the motivating example for always-writable storage: DeCandia et al., "Dynamo: Amazon's Highly Available Key-value Store", SOSP 2007.
  • CRDTs: Marc Shapiro et al., "Conflict-free Replicated Data Types", SSS 2011.
  • The 120 ms Mumbai–Frankfurt round trip and spend rates are illustrative assumptions; arithmetic computed 2026-10-08.
  • Level 3 and Level 4 code: tested 2026-10-08 (code/ch16_consistency.py, all checks pass).