# CAP Theorem The CAP theorem states that a distributed system can only guarantee two out of three properties at the same time: consistency, availability, and partition tolerance. Since network partitions are unavoidable in real systems, the practical choice comes down to consistency versus availability during a partition. Designers use CAP as a framework to reason about these trade-offs rather than as a strict rule for every scenario. Visit the following resources to learn more: - [@opensource@CAP FAQ](https://github.com/henryr/cap-faq) - [@article@CAP theorem revisited](http://robertgreiner.com/2014/08/cap-theorem-revisited/) - [@article@A plain english introduction to CAP theorem](http://ksat.me/a-plain-english-introduction-to-cap-theorem) - [@video@The CAP theorem](https://www.youtube.com/watch?v=k-Yaq8AHlFA)