CAP Theorem

In a distributed system you can satisfy at most 2 out of the 3 guarantees:

  1. Consistency: all nodes see same data at any time, or reads return lastest written value by any client.
    • It means that even though there are multiple clients that are reading and writing the data. All the clients see the same data at any given point of time. The reads by any client return the latest written value by a particular client.
  2. Availability: the system allows operations all the time, and operations return quickly.
  3. Partition-tolerance: the system continues to work in spite of network partitions.
    • When the system is partitioned, some parts of the system fail, the system should still continue to work. It means that the remaining functioning partitions of system still need to guarantee both consistency and availability.
    • Partitions can happen across data-centers when the internet gets disconnected through “Internet router outages”, “Under-sea cables cut” or “DNS not working”
    • Partitions can also occur within a data-center, e.g. a rack switch outage.


  1. CAP Theorem is proposed by Eric Brewer (Berkeley) in 1998:
  2. CAP Theorem is subsequently proved by Gilbert and Lynch (Nus and MIT) in 2002: ACM SIGACT News, Volume 33 Issue 2 (2002), pg. 51-59
  3. Wikipedia article:

About yingding wang
i am looking forward to innovation in IT and Robotics

Comments are closed.

%d bloggers like this: