Cassandra: A Decentralized Structured Storage System
Avinash Lakshman, Prashant Malik2010ACM SIGOPS 2010
Read it on doi.org(opens in a new tab)Why this one
Read this after Dynamo: Amazon's Highly Available Key-value Store and Bigtable: A Distributed Storage System for Structured Data. Cassandra is the useful hybrid: Dynamo teaches you how to stay available without a master, Bigtable teaches you a sparse sorted map, and Cassandra shows what happens when you try to ship both ideas as an operational database. The trap is to remember it only as "eventual consistency" or as a NoSQL brand. The better lesson is about making failure a normal write path: hinted handoff, read repair, tunable quorum, partitioning, and compaction all exist because machines disappear, networks lie, and hot keys happen. If you are designing a feed, metrics store, inbox, or any write-heavy service that must keep accepting traffic across failures, this paper gives you the vocabulary to make the tradeoffs explicit instead of accidental.
What to take away
- Cassandra combines consistent hashing with a Bigtable-like column family model for write-heavy distributed storage.
- Tunable consistency lets clients choose latency, availability, and freshness per operation, not per database.
- Repair, hinted handoff, and compaction are not cleanup details, they are part of the write design.
Reads with
- Dynamo: Amazon's Highly Available Key-value Store
cassandra inherits its masterless replication and tunable quorum model
- Bigtable: A Distributed Storage System for Structured Data
cassandra borrows the sparse sorted map and compaction-shaped storage model
- The Log-Structured Merge-Tree (LSM-Tree)
sstables and compaction make more sense with the write-optimized tree underneath