The CAP TheoremN. Lynch and S. Gilbert, “Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services,” SIGACT News, 2002. is one of the most fundamental theorems in the field of distributed systems. It outlines an inherent trade-off in the design of distributed systems.

Initial statement of the CAP theorem

According to the initial statement of the CAP theorem, it is impossible for a distributed data store to provide more than two of the following properties simultaneously: consistency, availability, and partition tolerance.

Consistency

Consistency means that every successful read request receives the result of the most recent write request.

The concept of consistency in the CAP theorem is completely different from the concept of consistency in ACID transactions. The notion of consistency as presented in the CAP theorem is more important for distributed systems.

Availability

Availability means that every request receives a non-error response, without any guarantees on whether it reflects the most recent write request.

Partition Tolerance

Partition tolerance means that the system can continue to operate despite an arbitrary number of messages being dropped by the network between nodes due to a network partition.

Get hands-on with 1400+ tech skills courses.