CAP Theorem
Noun · Development · Origin: 2000
Definitions
The theorem stating that a distributed data store can provide at most two of three guarantees: Consistency, Availability, and Partition tolerance. Since network partitions are inevitable, the real choice is between consistency and availability.
In plain English: A fundamental rule of distributed systems: you can't have perfect data accuracy AND perfect availability AND handle network failures — pick two.
In practice, the choice between CP (consistent but may be unavailable) and AP (available but may return stale data) depends on the use case. Banking systems choose CP (wrong balance is unacceptable); social media feeds choose AP (a slightly stale timeline is fine).
Example: 'For the payment ledger we chose CP — better to reject a transaction than process it with stale data. The activity feed is AP because nobody cares if it's 5 seconds behind.'
Source: practical application
Origin Story
The impossible triangle that haunts every distributed system
Eric Brewer presented his **CAP conjecture** at the ACM Symposium on Principles of Distributed Computing in 2000. He proposed that a distributed system can provide at most two of three guarantees: **Consistency** (all nodes see the same data), **Availability** (every request gets a response), and **Partition tolerance** (the system works despite network failures).
Seth Gilbert and Nancy Lynch formally proved it as a theorem in 2002. The proof showed that during a network partition, a system must choose between consistency and availability -- it cannot have both.
CAP became the most cited (and most misunderstood) result in distributed systems. Brewer himself later clarified that it's not about choosing 2 of 3 in general -- it's about the tradeoff *during partitions*. In practice, systems like DynamoDB and Cassandra choose availability, while traditional databases choose consistency.
Coined by: Eric Brewer (conjecture), Seth Gilbert & Nancy Lynch (proof)
Context: ACM PODC 2000 (conjecture), 2002 (proof)
Fun fact: Brewer later wrote a 2012 article titled 'CAP Twelve Years Later' acknowledging that the theorem is often oversimplified. He noted that partitions are rare in practice, and the real design space is much richer than 'pick two.'