Skip to content

CAP Theorem

In any distributed data store, network partitions are unavoidable; during a partition, the system must choose between consistency (all nodes see the same data) and availability (every request receives a response).

Tension Addressed

Consistency vs. Availability

Recognizable As

Database classification as CP or AP; configuration options for "consistency level"; architectural decisions during network failure scenarios; distributed cache invalidation strategies

Canonical Sources

Brewer, "CAP Theorem" keynote (2000); Gilbert & Lynch, "Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services" (2002)

Transfers To

Database selection, distributed cache design, microservices architecture, edge computing, CDN design

The "pick two of three" framing is somewhat misleading - partition tolerance is not optional in any real distributed system. The actual choice is: during partitions, sacrifice consistency or availability? This guides system design based on business requirements (financial systems favor consistency; social media favors availability).