36

Distributed Systems

CAP Theorem

Impossibility Under Partition.

The article

If

A networked data store cannot simultaneously guarantee Consistency, Availability, and Partition tolerance. Because network partitions are not optional in the real world, the live choice is really between consistency and availability at the moment a partition happens.

Then

Decide before an outage whether each operation prefers consistency or availability. The partition will happen; the only question is what your system does when it does.

Unless

PACELC / Tunable Consistency

The CAP triangle, with partition tolerance marked as not optional and the live choice on the remaining edgethe only real decisionPartition tolerancenot a choice — the network partitionsConsistencyCP · refuse writes, stay correctAvailabilityAP · accept writes, reconcile later
The triangle is usually drawn as "pick two", which is misleading — you do not get to decline partitions, the network declines for you. P is a fact about the world. The only choice you actually make is the one along the bottom edge, and you make it before the partition, not during it.

Source

Eric Brewer, Towards Robust Distributed Systems (PODC keynote, 2000); proved by Seth Gilbert & Nancy Lynch (SIGACT News, 2002).

Go to the source

See also