PACELC extends CAP to normal operation
coreintermediateCAP theorem only describes what a distributed system must give up during a network partition: availability or consistency. PACELC — coined by Daniel Abadi in 2010 and formalized in a 2012 paper — points out that CAP leaves the far more common case unaddressed: when there is no partition at all, a replicated system still has to choose between responding quickly (Latency) and making sure every replica agrees before responding (Consistency). The name spells out the full rule: if there is a Partition, choose Availability or Consistency; Else (normal operation), choose Latency or Consistency. A system's partition-time and normal-time choices don't have to match, and in practice a design is usually described by both letters at once, e.g. "PA/EL" or "PC/EC".
Think of it as
CAP is like asking what a restaurant does during a kitchen fire (the partition): keep serving food that might be wrong, or stop serving until things are sorted out. PACELC adds the question every restaurant faces on an ordinary busy night with no fire at all: does the kitchen fire a dish the moment one cook finishes it (fast, but the other cooks on that table haven't confirmed their parts are ready), or does it wait for every cook on that ticket to confirm before any plate leaves the pass (slower, but the whole table arrives correct and together)? That second trade-off is there every single night, fire or no fire.
What we're doing: Show that the "Else" branch applies even when a system has never experienced a partition.
- 3
- Option A on Day 1 is the "Else" branch of PACELC in action: no partition exists, yet the system still trades away some consistency for lower latency.
- 11
- Day 47 is the classic CAP scenario — a real partition forces a choice between staying available and staying consistent.
- 19
- The point of PACELC: the Day 1 (Else) decision and the Day 47 (Partition) decision are two separate design choices, not one.
Why this works: CAP alone would leave the Day 1 scenario completely undescribed, since no partition is happening — but that ordinary, partition-free case is where a replicated system spends nearly all of its time, so it is the trade-off engineers hit most often in practice.
Believing a system that is "CA" (or "CP", or "AP") under CAP has said everything about its behavior
Wrong
Better
What you see: A design discussion cites "CP" or "AP" as if it fully describes a system's performance characteristics under normal load, and is surprised when the system's everyday latency doesn't match that expectation.
Why: CAP's letters say nothing about behavior outside a partition — a system's CAP classification and its PACELC classification are answering two different questions, and both are needed for a complete picture.
- A replicated request
- leads to Partition? (check)
- Partition? — CAP's question
- leads to A or C (yes)
- leads to L or C (else)
- A or C — availability vs consistency
- L or C — latency vs consistency
CAP vs PACELC — what each one actually describes
Remember: CAP only speaks during a partition (A vs C). PACELC adds the "Else": even with zero partitions, every replicated system trades Latency against Consistency on every single request — the two choices (partition-time and normal-time) are independent.
See also: worked example nearest replica vs quorum · pacelc as evaluation checklist · primary replica and sync vs async

