Quorum
Also known as: majority quorum, W + R > N
A quorum is the minimum number of replicas that must respond for an operation to count. With N replicas, a write quorum W and read quorum R overlap — guaranteeing a read sees the latest write — whenever W + R > N. Majority quorums (⌊N/2⌋ + 1) are the common choice because they tolerate the most failures while staying unique.
Last reviewed · Part of the Architecture Glossary
In practice
With N = 3 replicas:
| W | R | Overlap? | Character |
|---|---|---|---|
| 3 | 1 | yes | Fast reads, writes fail if any replica is down |
| 1 | 3 | yes | Fast writes, reads fail if any replica is down |
| 2 | 2 | yes | Tolerates one failure on both paths — the usual choice |
| 1 | 1 | no | Fastest, no freshness guarantee |
W = R = 2 is where most systems land: 2 + 2 > 3, so any read set and any write set share at least one replica, and either path survives a single node loss.
Consensus protocols (Raft, Paxos) use a majority quorum for a stronger reason than overlap — two majorities of the same cluster cannot exist simultaneously, which is what prevents split brain.
When it matters
Choosing replication factor and consistency level in Cassandra, DynamoDB, MongoDB or etcd; sizing a cluster for a target failure tolerance. A 5-node Raft cluster tolerates two failures, a 3-node cluster one — and a 4-node cluster still only one, which is why even node counts are rare.
Common mistake
Treating W + R > N as a guarantee of linearizability. It guarantees the read set contains the newest value; without a repair or read-versioning step, a client can still pick the stale replica's answer. Dynamo-style stores need read repair and version reconciliation on top.
See also
- Split BrainSplit brain is the state where a network partition leaves two halves of a cluster each believing it is the authoritative one, so both accept writes.
- LinearizabilityLinearizability is the strongest single-object consistency model: every operation appears to take effect instantaneously at some point between its invocation and its response, and once a write is visible to any client it is visible to all.
- Replication LagReplication lag is the delay between a write committing on the primary and becoming visible on a replica.