liveBook · Manning

Each quorum consistency

As explained in ScyllaDB in Action

EACH_QUORUM is a consistency level that requires a quorum of replicas in every datacenter to acknowledge an operation.

EACH_QUORUM requires a majority of replicas in every datacenter to acknowledge an operation. It is designed for multi-datacenter deployments where each datacenter must stay synchronized. section 8.2.2

Use EACH_QUORUM when:

  • Multiple datacenters can each serve user traffic and writes must be reflected across all of them. section 8.2.2
  • You prefer stronger cross-datacenter consistency even though consistency-level choices require balancing consistency against availability. section 8.2.2
  • You operate a single-datacenter cluster, where EACH_QUORUM behaves identically to the other quorum variants. section 8.2.2

Choosing between datacenter strategies

If one datacenter serves user-facing traffic and another handles analytics, LOCAL_QUORUM can keep the primary datacenter current while allowing eventual consistency elsewhere. If both datacenters serve users, EACH_QUORUM keeps writes synchronized in both. section 8.2.2 section 8.5

Table 8.1 Scylla supports many consistency-level choices for your queries to balance consistency and availability.
Consistency level
Required nodes to respond
ANY
Any node in the cluster can respond, even if it’s not a replica
ONE
A single replica
LOCAL_ONE
A single replica in the same datacenter
TWO
Two replicas
THREE
Three replicas
QUORUM
A majority of replicas
LOCAL_QUORUM
A majority of replicas in the same datacenter
EACH_QUORUM
A majority of replicas in every datacenter
SERIAL (used to get the latest data via Paxos)
A majority of replicas
LOCAL_SERIAL
A majority of replicas in the same datacenter
ALL
Every replica in the cluster

Compare EACH_QUORUM with ONE, LOCAL_QUORUM, QUORUM, and ALL by the replicas required to respond. section 8.2.2

How ScyllaDB in Action covers it

How deep it goes
Defines the required replica responses and deployment trade-off, but does not provide query syntax or implementation internals.
Examples
Contrasts an analytics datacenter using LOCAL_QUORUM with user-serving datacenters using EACH_QUORUM.
What it assumes
Assumes familiarity with replicas, quorum consistency, availability, and datacenter-based deployment.
What you can do after
Configure consistency levels by choosing EACH_QUORUM for synchronized multi-datacenter traffic or LOCAL_QUORUM for localized consistency.
How it connects
Connects EACH_QUORUM with datacenters, quorum consistency, LOCAL_QUORUM, availability, and eventual consistency.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of ScyllaDB in Action. The section links point to the parts of the book it draws on.