Examples of read consistency levels
The following diagrams show examples of read requests using different consistency levels:
-
QUORUM
in a single datacenter -
ONE
in a single datacenter -
QUORUM
in two datacenters -
LOCAL_QUORUM
in two datacenters -
ONE
in two datacenters -
LOCAL_ONE
in two datacenters
Rapid read protection diagram shows how the speculative retry table property affects consistency.
A single-datacenter cluster with a consistency level of QUORUM
In a single-datacenter cluster with a replication factor of 3 and a read consistency level of QUORUM
, 2 of the 3 replicas ((3/2)+1 = 2
) for the given row must respond to fulfill the read request.
If the contacted replicas have different versions of the row, the replica with the most recent version will return the requested data.
In the background, the third replica is checked for consistency with the first two, and if needed, a read repair is initiated for the out-of-date replicas.
QUORUM
Coordinator node |
|
Chosen node |
|
Read response |
|
Read repair |
A single-datacenter cluster with a consistency level of ONE
In a single-datacenter cluster with a replication factor of 3 and a read consistency level of ONE
, the closest replica for the given row is contacted to fulfill the read request.
ONE
Coordinator node |
|
Chosen node |
|
Read response |
|
Read repair |
A two-datacenter cluster with a consistency level of QUORUM
In a two-datacenter cluster with a replication factor of 3 and a read consistency of QUORUM
, 4 replicas for the given row must respond to fulfill the read request.
The 4 replicas can be from any datacenter.
In the background, the remaining replicas are checked for consistency with the first four.
If needed, a read repair is initiated for the out-of-date replicas.
QUORUM
Coordinator node |
|
Chosen node |
|
Read response |
|
Read repair |
A two-datacenter cluster with a consistency level of LOCAL_QUORUM
In a two-datacenter cluster with a replication factor of 3 and a read consistency of LOCAL_QUORUM
, 2 replicas in the same datacenter as the coordinator node for the given row must respond to fulfill the read request.
In the background, the remaining replicas are checked for consistency with the first 2.
If needed, a read repair is initiated for the out-of-date replicas.
LOCAL_QUORUM
Coordinator node |
|
Chosen node |
|
Read response |
|
Read repair |
A two-datacenter cluster with a consistency level of ONE
In a two-datacenter cluster with a replication factor of 3, and a read consistency of ONE
, the closest replica for the given row, regardless of datacenter, is contacted to fulfill the read request.
ONE
Coordinator node |
|
Chosen node |
|
Read response |
|
Read repair |
A two-datacenter cluster with a consistency level of LOCAL_ONE
In a two-datacenter cluster with a replication factor of 3, and a read consistency of LOCAL_ONE
, the closest replica for the given row in the same datacenter as the coordinator node is contacted to fulfill the read request.
LOCAL_ONE
Coordinator node |
|
Chosen node |
|
Read response |
|
Read repair |