System Design Space
Knowledge graphSettings

Updated: July 1, 2026 at 4:50 PM

PACELC theorem

hard

Extending CAP with the normal-operation trade-off between latency and consistency, plus the partition-time choice between availability and consistency. System classes: PA/EL, PC/EC, PA/EC, PC/EL.

CAP explains what happens during failure. PACELC explains the price of normal life. That is what makes it so practical: most of the time, the system is paying for the everyday balance between latency and consistency, not for the partition itself.

In practice, this chapter helps separate steady-state policy from degradation policy so teams can reason differently about fast responses and about what should happen when connectivity starts to break.

In interviews and architecture reviews, it gives you a more mature language for tail latency, conflict probability, coordination cost, and the price of reconciling replicas after the fact.

Practical value of this chapter

Design in practice

Extends CAP reasoning into steady-state operation instead of stopping at partition scenarios.

Decision quality

Helps define separate policies for ordinary behavior and for network-failure behavior.

Interview articulation

Strengthens answers by comparing strategies through coordination cost, response time, and acceptable divergence.

Risk and trade-offs

Makes the price of each choice explicit: tail latency, conflict probability, and reconciliation complexity.

Original

Telegram: Book Cube

Original post discussing the PACELC theorem.

Перейти на сайт

CAP names the rare, painful moment when the network breaks. PACELC names the cost of every other day: even with a healthy network a distributed system still decides between lower latency and stronger consistency on every write and read.

Related chapter

CAP theorem

Fundamental limitation of distributed systems.

Читать обзор

What the PACELC theorem says

if P then (A or C) else (L or C)

PACELC formula

if P (network partition)

If the network splits, the system must choose between:

A — AvailabilityorC — Consistency
else E (normal operation)

When the network is healthy, the system chooses between:

L — LatencyorC — Consistency

Foundation

HTTP protocol

Protocol-level latency affects the L vs C tradeoff.

Читать обзор

Why the PACELC theorem matters

CAP captures a rare, painful moment: connectivity between nodes is gone. PACELC adds the everyday case — with a healthy network the engineer still decides whether to wait for extra coordination and a stricter answer, or reply faster with softer guarantees.

Key insight

Eventual consistency is not just a failure strategy. More often it is picked to reduce steady-state latency, cut synchronous coordination, and sustain higher request throughput.

System classes under PACELC

Every system answers two questions: which way to lean under a partition, and at what price to hold a response in steady state. The intersection produces four PACELC classes.

AAvailability
CConsistency
LLow Latency
PPartition

How to read PACELC categories

PA/EL - Availability and lower latency

Requests have to keep flowing under partitions and answer as fast as possible in steady state. The price — weaker guarantees and temporary replica divergence the product has to live with at the application layer.

CassandraDynamoDBRiakCouchDB

PC/EC - Strong consistency in every mode

Consistency holds at all times — both under partitions and in calm operation. The bill comes as longer coordination, more synchronization, and sometimes rejected operations the moment the cluster cannot stay aligned.

VoltDBMegastoreGoogle Spanner

PA/EC - Available during faults, stricter in normal operation

A balance between two priorities: stay available when the network splits, hold stronger guarantees when it is healthy. Fits products where response time matters but the team will not accept stale reads and conflict resolution as the norm.

MongoDB (common setup)

PC/EL - Strict under faults, fast in steady state

A mirror of the previous class: under partitions the system protects consistency, in everyday operation it cuts latency and refuses to pay for unnecessary synchronous coordination. A rare but very telling angle on the trade-off.

PNUTS

How the theorem emerged

2010

In 2010, Daniel Abadi proposed PACELC to close a blind spot in CAP: a partition-time model alone is not enough if you also have to explain the cost of ordinary distributed-database operation. The core idea is laid out in the paper "Consistency Tradeoffs in Modern Distributed Database System Design".

Visualizing the latency-consistency trade-off

Latency vs consistency trade-off

Interactive chart showing how real systems sit along the PACELC spectrum.

Low latency
High latency
Strong consistency
Eventual consistency
PC/EC zone
PA/EL zone
Lower latency in steady state (EL)

Systems in the lower-left prioritize response speed and tolerate temporary divergence between replicas.

Consistency in steady state (EC)

Systems in the upper-right preserve stronger guarantees, paying for them with extra coordination and latency.

Lower latency
trade-off
Stronger consistency

Important: System positions on this chart are qualitative estimates, not exact measurements. Real characteristics depend on configuration, workload, version, and network conditions.

The PACELC classification here is grounded in Daniel Abadi’s paper "Consistency Tradeoffs in Modern Distributed Database System Design" and on widely accepted industry interpretations.

Classification sources

DatabaseCategorySource
Cassandra
PA/ELApache Docs
DynamoDB
PA/ELAWS Docs
Riak
PA/ELRiak Blog
CouchDB
PA/ELCouchDB Docs
Redis Cluster
PA/ELRedis Docs
Voldemort
PA/ELVoldemort Design
ScyllaDB
PA/ELScyllaDB Docs
MongoDB
PA/ECMongoDB Docs
Cosmos DB
PA/ECAzure Docs
Firebase RTDB
PA/ECFirebase Docs
PNUTS
PC/ELVLDB Paper
DatabaseCategorySource
HBase
PC/ELHBase Book
FoundationDB
PC/ELFDB Docs
VoltDB
PC/ECVoltDB Docs
Spanner
PC/ECGoogle Cloud
CockroachDB
PC/ECCRDB Docs
YugabyteDB
PC/ECYugabyteDB Docs
TiDB
PC/ECTiDB Docs
PostgreSQL
PC/ECPostgreSQL Docs
MySQL Cluster
PC/ECMySQL Docs
Megastore
PC/ECGoogle Research

More details

Jepsen and consistency models

Complete hierarchy of consistency models from the Jepsen project.

Читать обзор

Consistency models: the bigger picture

PACELC sets the latency-vs-consistency axis, but the word "consistency" hides a whole stack of guarantees. Jepsen sorts them out: where eventual consistency ends, where strong consistency begins, and how linearizability and stronger transactional behavior sit above the weaker convergence models.

Jepsen and consistency models

Consistency hierarchy, serializable vs linearizable behavior, and practical testing under failure

What to remember

  • PACELC does not replace CAP — it extends it into steady state, where the trade-off persists even with a healthy network.
  • Eventual consistency is more often chosen to cut steady-state latency than to survive a failure.
  • PA/EL fits products that prioritize response time and availability, while PC/EC fits domains that need stricter correctness.
  • The final class is decided by domain invariants, geography, replication strategy, and coordination cost — not by team preference.

Related chapters

Enable tracking in Settings