CockroachDB: Why They Threw Away RocksDB
Why CockroachDB replaced RocksDB with Pebble: tombstones that scans must step over, range deletes the compaction picker ignored, and the cgo toll on every call.
RocksDB: the SQLite of Storage Engines
Why RocksDB exists, why writes stall, how to compute its 33x write amplification, what its knobs cost, and how Ribbon filters get close to the theoretical minimum.
S3: Millions of Hard Drives, and You Can't Edit One Byte
Why S3 is not a filesystem: ranged reads but no partial writes, what s3fs, Goofys and JuiceFS paid to hide that, and how LSM trees on object storage use it.
Why So Many Database Engines? The RUM Conjecture Explained
Why LevelDB, RocksDB, Pebble, Cassandra, ScyllaDB and TigerBeetle all share one LSM tree design yet differ: the RUM Conjecture, leveled vs tiered compaction, Bloom filters.
What Is an LSM Tree? The Data Structure Behind Most Modern Databases
How LSM trees turn random writes into sequential ones: MemTable, WAL, sorted runs, the read path, compaction, and the write, read and space amplification triangle.
What's Actually Inside Your Database?
From punch cards to the B-tree to LSM engines: how databases store data on disk, why B-trees became the default, and what the other family does differently.