An ☞ interesting explanation of how Cassandra write ops are happening:
- client submits its write request to a single, random Cassandra node
- the node behavior is similar to a proxy writing data to the cluster
- writes are replicated to N nodes according to the replication placement strategy (the details of
RackAwareStrategyare quite interesting)
- each of the N nodes performs 2 actions when receiving a write (in the form of
- append the mutation to the commit log for transactional purposes
- update an in-memory
Memtablestructure with the change
There are also a couple of asynchronous operations:
Memtableis written to disk in a structure called
SSTables corresponding to a column family are merged into a raw ColumnFamily datafile.
You should definitely check the ☞ original post as there are more interesting details.