Skip to content
Devgo

Quorum

The minimum number of nodes that must agree for a read/write to succeed, trading consistency against availability and latency. With N replicas, a write quorum W and read quorum R where W+R>N guarantees strong consistency. Dynamo-style systems tune R and W per operation.

When to use
  • Leaderless replicated stores (Dynamo, Cassandra).
  • Tuning consistency per operation.
When not to
  • Single-leader systems (the leader is the quorum).
  • When you need pure availability over consistency.

Definition

A quorum is a majority or configured subset of replicas. For strong consistency, writes need W replicas, reads need R, with W+R>N so any read overlaps a recent write. Smaller quorums are faster/available but weaker; larger are stronger but less available.

Why it exists

needs agreement on which copy is authoritative. Quorums let a system tolerate some failures while keeping reads and writes consistent, without requiring all replicas to be up.

How it works

Write to W of N replicas; read from R. If W+R>N, reads see the latest write. RF=3, W=2, R=2 tolerates one failure with strong consistency. W=1,R=1 is faster but may read stale data. Tunable per request in /Dynamo.

Scaling limits

Higher quorums reduce availability (more nodes must be up) and add latency (wait for more acks). Lower quorums risk stale reads. Quorum doesn't help with the 'last writer wins' conflict across concurrent writes.

Cost shape

Latency to reach the quorum. Blow-ups: cross-region quorum latency and too-high quorums hurting availability.

Alternatives

  • Leader-based replication — Simpler consistency, leader is a bottleneck/SPOF.
  • Read repair / anti-entropy — without quorum.

Failure modes

  • Stale reads with low R.
  • Unavailable with high W/R during failures.
  • Concurrent-write conflicts.

, , ,