Read request examples
The following diagrams show examples of read requests using different consistency levels:
-
QUORUMin a single datacenter -
ONEin a single datacenter -
QUORUMin two datacenters -
LOCAL_QUORUMin two datacenters -
ONEin two datacenters -
LOCAL_ONEin 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.
QUORUMCoordinator 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.
ONECoordinator 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.
QUORUMCoordinator 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_QUORUMCoordinator 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.
ONECoordinator 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_ONECoordinator node |
|
Chosen node |
|
Read response |
|
Read repair |