Appropriate use cases for Cassandra
There are several known, good use cases for Cassandra. Understanding how Cassandra's write path works can help you in determining whether or not it will work well for your use case:
Cassandra applies writes both in memory and on disk.
Note
The commit log exists to provide durability. If a Cassandra node experiences a plug-out-of-the-wall event, the commit log is verified against what is stored on disk when the Cassandra process is restarted. If there was any data stored in memory that had not yet been persisted to disk, it is replayed from the commit log at that time.
Overview of the internals
The preceding figure showed that write is stored both in memory and on disk. Periodically, the data is flushed from memory to disk:
Note
The main thing to remember is that Cassandra writes its sorted string data files (SSTable
files) as immutable. That is, they are written once, and never modified. When an SSTable
file reaches its maximum capacity, another is written. Therefore...