PACELC Theorem
Practical example
A Cassandra cluster using LOCAL_QUORUM for fast local reads (PA/EL) but switching a specific query to cross-region QUORUM for stronger consistency will incur inter-datacentre round-trip latency even with zero packet loss, independent of any partition event.
CAP theorem is frequently misapplied by engineers as a permanent, binary constraint, when in reality it only governs system behavior during an active network partition. PACELC closes this gap by asserting that even when the network is healthy (else), a system must still choose between minimizing response Latency and guaranteeing strong Consistency. This is not a philosophical distinction—it maps directly to real replication topology decisions: does a write return to the client after being durably committed to a quorum of replicas (PC/EC, e.g., traditional Spanner-style commits), or does it return as soon as it hits the local/leader node while replication happens asynchronously (PA/EL, e.g., Cassandra with LOCAL_QUORUM reads on async DCs)?
The four resulting classifications are commonly denoted as PA/EL and PC/EC (the two dominant real-world quadrants), with PA/EC and PC/EL existing but being rare due to their poor cost/benefit tradeoffs:
PA/EL: Prioritizes availability during a partition and latency otherwise. Dynamo-style systems (Cassandra, Riak) fall here—reads/writes complete fast against whatever replica is reachable, with reconciliation (read repair, hinted handoff) happening out-of-band.PC/EC: Prioritizes consistency both during a partition and in normal operation. Systems built on Raft/Paxos (etcd, Spanner, CockroachDB) fall here—every write pays the latency cost of a quorum round-trip, even when the network is perfectly healthy, because consistency is non-negotiable.PA/ECandPC/EL: Theoretically possible but architecturally awkward—e.g., a system that is strongly consistent during a partition but loose otherwise contradicts its own guarantees and is rarely implemented deliberately.
The critical engineering insight is that the EL/EC choice is a tunable, per-operation decision in many modern databases rather than a fixed architectural property. Systems like DynamoDB, Cosmos DB, and Cassandra expose consistency levels (eventual, session, bounded-staleness, strong) that let operators dial the L-vs-C tradeoff per query, effectively letting a single deployment straddle multiple PACELC quadrants simultaneously depending on workload. This is why capacity planning and SLO design must account for PACELC at the query level, not just the cluster level—a service advertising p99 latency targets must know which consistency mode each hot-path query is running under, since a switch from local-quorum to global-strong consistency can add one or more WAN round-trips independent of any partition event.
PACELC also reframes how engineers should reason about multi-region active-active deployments. A common failure mode is architects designing for CAP’s partition-availability tradeoff (correctly choosing AP for a Dynamo-style store) while ignoring that the same system, under normal healthy-network conditions, still imposes a latency tax for any consistency stronger than eventual—e.g., cross-region QUORUM reads in Cassandra will incur inter-DC RTT even with zero packet loss. Ignoring the EL/EC axis leads to under-provisioned latency budgets and mis-set client timeouts that only manifest as tail-latency incidents long after the system has passed partition-tolerance testing.