CAP theorem
Under partition, choose Consistency or Availability.
Origin
Eric Brewer proposed it as a conjecture at PODC 2000. Seth Gilbert and Nancy Lynch proved a formalised version in 2002. Brewer revisited it in IEEE Computer (2012), arguing the popular framing ("pick two of three") was misleading — in practice the choice is only made during a partition.
Where it shows up in production
- etcd & ZooKeeper CP — refuse writes during partition rather than risk a split-brain.
- Cassandra (default) AP — accept writes everywhere, reconcile later. Tunable per query via consistency levels.
- DynamoDB AP by default; transactions opt into stronger consistency at higher cost.
On Semicolony
Sources & further reading
- Paper Gilbert & Lynch — Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services (2002)
- Article Brewer — CAP Twelve Years Later (2012)
- Blog Daniel Abadi — Problems with CAP and Yahoo's little-known NoSQL system (PACELC)
- Docs CAP theorem simulator (Semicolony)
Found this useful?