PACELC
PACELC is a formulation proposed by Daniel Abadi that extends CAP. Read as a sentence: if there is a Partition, the system trades Availability against Consistency; Else — when the network is behaving — it trades Latency against Consistency.
The argument for adding the second clause is that CAP only says something about partitions, which Abadi argues is a significant omission. Partitions are rare. The consistency–latency trade-off is present continuously, because keeping replicas in agreement requires communication, and communication takes time whether or not anything has failed.
That makes PACELC the more useful lens for everyday design. Most systems spend almost all of their operating life in the else branch, where the question is not “what happens during a partition” but “how much latency are we paying for how much freshness, on every single request.”
Systems are often described with a two-part classification — for example, one that gives up consistency during a partition and also favors latency in normal operation, versus one that holds consistency in both branches. The labels matter less than the habit they encourage: asking both questions rather than only the partition one.
One caution. A single product does not always sit in one cell, because many systems expose consistency as a per-operation setting. The honest unit of classification is usually the configured operation rather than the database, which is why “we use an eventually consistent store” is rarely a complete answer.
How this pairs with the CAP theorem and with quorum settings is worked through in Replication, Consistency, and Time.
Discover more from Insightful Data Lab
Subscribe to get the latest posts sent to your email.
