Reference · quick sheet

The Quorum Playbook

Three numbers, one inequality, and a long list of things that inequality does not mean.

The numbers

N
How many nodes hold a copy of each key. In Cassandra/ScyllaDB this is the replication factor.
R
"The minimum number of nodes that must participate in a successful read operation."
W
"The minimum number of nodes that must participate in a successful write operation."
R + W > N
Forces the read set and write set to intersect, so at least one copy you read has seen the write. "Yields a quorum-like system" — the paper's hedge is deliberate.

The dial

N,R,WBehaviourUse when
3,2,2Overlap guaranteed; tolerates one node down on each sideThe sane default
3,1,3Fast reads, slow and fragile writesRead-dominated, writes rare and precious
3,3,1Fast writes, slow readsWrite-dominated, e.g. always-writeable stores
3,1,1Fastest; no overlap; stale reads expectedData where staleness is genuinely free

Latency rule: "the latency of a get (or put) operation is dictated by the slowest of the R (or W) replicas." Every extra node required is another chance to draw a slow one. R and W are a dial between certainty and tail latency.

What R + W > N does NOT give you

  • Ordering. Two concurrent writes at W can both succeed and diverge. Overlap says nothing about which is newer.
  • Overlap under a sloppy quorum. Writes may land on healthy nodes outside the intended N, so the arithmetic's assumption is deliberately broken in exchange for availability.
  • The ability to pick the newest copy. That needs version metadata and a merge policy.
  • Linearizability. Dynamo calls its model eventual consistency throughout. Defer to Jepsen for the precise names.

Availability machinery

Sloppy quorum
Operations go to the first N healthy nodes in the preference list, not necessarily the first N on the ring. Without it, a strict quorum "would be unavailable during server failures and network partitions".
Hinted handoff
A displaced replica carries "a hint in its metadata that suggests which node was the intended recipient", and is delivered when that node returns.
Conflict resolution
The store can only do blunt things like last-write-wins — a data-loss policy with a neutral name. The application knows the schema and can merge, as the shopping cart does.

Where you meet this dial

SystemControl
Cassandra / ScyllaDBConsistency level per query: ONE, QUORUM, ALL — literally R and W
PostgreSQLsynchronous_commit, from off to remote_apply
The staleness ladderRungs 1–4 are increasing amounts of "wait for more replicas"