Distributed Systems TheoryAdvanced14 min read1 questions

CAP Theorem and PACELC, Properly Explained

The most misquoted theorem in the industry. What CAP really says, why the interesting trade-off happens when there is no partition, and how to classify real systems.

Covers: The actual statement of CAP, why 'pick two' is misleading, PACELC, partition behaviour, real database classifications

Almost everyone can say “consistency, availability, partition tolerance - pick two”. Almost nobody can say what that actually means, and the shorthand is wrong in a way that matters: you do not get to pick P. Networks partition. The real statement is a conditional about what you do when they do.

Filter
0/1 mastered
AdvancedcapdistributedconsistencyAsked at Amazon, Google

30-second answer

CAP says that during a network partition, a distributed system must choose between consistency - every read returns the most recent write or an error - and availability - every request receives a non-error response, possibly stale. Partition tolerance is not a choice: networks fail, so any real distributed system must tolerate partitions. That makes CAP a conditional statement about behaviour during a partition, not a menu of three items. 'CA' systems do not exist in a distributed setting; a single-node database is CA only because it is not distributed.

Showing 1 of 1 questions for cap-theorem-and-pacelc.

Check your understanding

3 questions · no sign-up, nothing stored

0/3 answered
Question 1

1.Why is a 'CA' distributed system not a real option?

Question 2

2.What does the 'ELC' half of PACELC describe?

Question 3

3.In Cassandra with N=3, which read/write configuration gives strong consistency?