I have described the CAP theorem and I wanted to describe the PACELC theorem that follows from it.

Like CAP, PACELC describes tradeoffs that distributed systems must make. It builds on the CAP theorem by making the assertion that distributed systems cannot ignore partition tolerance.

The PACELC theorem also proposes options for how the system can behave under network partitions and when the network is fine.

The first 3 letters of PACELC stand for “Under Partitions, choose Availability or Consistency”. Availability and Consistency here mean the same as in the CAP theorem.

The remaining letters stand for “Else, choose between Latency and Consistency”. This tradeoff mostly derives from existing ways that consistent data is achieved. Basically, you can wait for all nodes to have the same data (potentially slow) or not (potentially incorrect).

PACELC is the prefered way of reasoning about systems from an overview perspective. It is worth noting that it doesn’t necessarily perfectly match all systems, as these distinctions can become really obscure.