the CAP theorem

term

cloudprogramming

A distributed system facing a network partition must choose between consistency and availability; it cannot keep both.

Eric Brewer conjectured it in a 2000 keynote and Gilbert and Lynch proved it in 2002: when nodes cannot talk, a system either refuses answers (consistent, unavailable) or answers with possibly stale data (available, inconsistent). Partitions are not optional on real networks, so the theorem is really about which failure mode you pre-select. Every database's marketing page is a position paper on CAP, whether it says so or not.

Also known as: Brewer's theorem

All glossary entries