System Design — CAP Problem

Concepts and considerations for CAP Problem in System Design

Larry | Peng Yang
Computer Science Fundamentals
2 min readApr 6, 2020

--

1. Concepts

  • Consistency: every read receives the most recent write or an error.
  • Availability: every request receives a response that is not an error.
  • Partition tolerance: the system continues to operate despite an arbitrary number of messages being dropped (or delayed) by the network between nodes.
  • CAP theorem implies that in the presence of a network partition, one has to choose between consistency and availability.
  • CAP is frequently misunderstood as if one has to choose to abandon one of the three guarantees at all times. In fact, the choice is really between consistency and availability only when a network partition or failure happens; at all other times, no trade-off has to be made.
  • ACID databases choose consistency over availability.
  • BASE systems choose availability over consistency.

Other Topics for System Design

--

--