Glossary

CAP Theorem

The CAP theorem (Brewer's theorem) states that a distributed system cannot simultaneously guarantee all three properties — Consistency, Availability, and Partition Tolerance. When a network partition (P) occurs, a choice must be made between C and A.

Three properties

In practice

Partition Tolerance is mandatory for any real distributed system — the network will always fail at some point. So the choice is: CP (MySQL, HBase, ZooKeeper) or AP (Cassandra, CouchDB, DynamoDB). MongoDB and Redis can be configured for either model.