About data consistency

An introduction to how Cassandra extends eventual consistency with tunable consistency.

Consistency refers to how up-to-date and synchronized a row of Cassandra data is on all of its replicas. Cassandra extends the concept of eventual consistency by offering tunable consistency. Tunable consistency means for any given read or write operation, the client application decides how consistent the requested data must be.

Even at low consistency levels, Cassandra writes to all replicas of the partition key, even replicas in other datacenters. The consistency level determines only the number of replicas that need to acknowledge the write success to the client application. Typically, a client specifies a consistency level that is less than the replication factor specified by the keyspace. This practice ensures that the coordinating server node reports the write successful even if some replicas are down or otherwise not responsive to the write.

The read consistency level specifies how many replicas must respond to a read request before returning data to the client application. Cassandra checks the specified number of replicas for data to satisfy the read request.

The CQL documentation contains a tutorial comparing consistency levels using cqlsh tracing.