Read operations
When a client requests data from a coordinator node, the coordinator node sends that request to all replica nodes responsible for owning the data. Replica nodes fetch data and respond to the coordinator node; the coordinator node then compares this data and responds to the client with the most recent data returned by the replicas.
A replica node may return data from a cache called row cache, or it might need to consult the SSTable
and give merged data from both Memtable
and SSTable
.
Reads from row cache
A row cache is an off-heap cache that caches frequently accessed rows. It is configured at column family level and is optional. It caches complete or partial partition rows. In previous versions of Cassandra, it used to store complete the partition key row; however, in the 2.1 release, we can also configure how many clustering rows for a partition key should be cached. For example, the following CREATE
statement will cache the latest 10 status updates from a user:
CREATE TABLE...