In line with the CAP Theorem, data services favour Availability
and Partition Tolerance
over Consistency
. Additionally,
complex queries are delegated to search nodes rather than data nodes, for which there is a small delay in
indexing after a write. As a result, clients should be aware that the consistency model is considered eventual
.
Client Considerations
Clients should be aware of eventual consistency and adjust their behaviour accordingly. There are three differing levels of consistency that should be considered for read-after-write handling.
- when writing, any changes reflected in the written resources will be strictly consistent in the response returned. therefore, such clients writing changes which are then reflected within the same dataset should not be subjected to any delays for eventual consistency
- simple queries (i.e. get) are delegated to data nodes which provide strict consistency in the standard case. This may become eventual in situations such as a network partitions or cross region access.
- complex queries (i.e.browse) are delegated to search nodes which are subjected to a delay due to indexing into solr.
Further Reading
The following articles may be of interest: