The CAP theorem states that a distributed data store cannot simultaneously guarantee consistency, availability, and partition tolerance. Under network partitioning, it must trade off consistency against availability because partition tolerance is non-negotiable for large-scale systems. section 4.4
The three guarantees are:
- Consistency: every read receives the most recent write or an error. section 4.4
- Availability: every request receives a response, except during outages affecting all nodes. section 4.4
- Partition tolerance: the system continues operating despite lost connections between network nodes. section 4.4
Choosing availability
A product catalog can tolerate some stale information, so availability may take priority over strict consistency. The same two-out-of-three framing is compared with trade-offs among unit-test attributes. section 4.4



