Grokking the System Design Interview, Volume II
Vote

0% completed

​

Anatomy of Cassandra's Read Operation

We just walked through how Cassandra writes a row. Now we look at the other half: what happens when a client asks for that row back. This is Cassandra's read path.

Let's look closer at the parts that make up that read path.

Caching

Cassandra offers three optional caches to boost read performance. Each trades memory for speed in a different place.

  1. Row cache. It caches complete, frequently read (hot) rows. A hit returns the whole row to the client, with no disk lookup at all. That speed costs more memory than the other caches. A full row takes more space than a pointer to one. 2

.....

.....

.....

Like the course? Get enrolled and start learning!
Fei Shan

Fei Shan

· 2 years ago

  1. So from the Flow chart provided in this section, the Bloom Filter part there is no "No" branch, does Cassandra load that into Bloom Filter if found that TN?
  2. So the Row cache and Key cache is loaded when write or read (produce a read missing) ?
C

Camoen V

· 4 years ago

From the course material, it wasn't immediately clear to me when MemTable is accessed as opposed to when Row Cache is accessed while performing a read operation.

https://docs.datastax.com/en/cassandra-oss/3.x/cassandra/dml/dmlAboutReads.html

It looks like MemTable is checked as the first step. It's then followed by checking RowCache -> in-memory bloom filters -> key cache -> partition summary + partition index.

Show 1 reply
M

Mircea C

· 5 years ago

This partition index summary file/partition index file form in essence a B-Tree, right ?

Reading Progress

0%


Vote for new content