LSM write path: every write lands twice

WAL fsync, memtable, flush, compaction (teaching sketch)

LSM write path: every write lands twice WAL fsync, memtable, flush, compaction (teaching sketch) 01 / Client 02 / Durable log 03 / Memory 04 / Disk files 05 / Background Client put · write request · 01 / Client Client put write request WAL · append + fsync · 02 / Durable log · durable WAL append + fsync durable Memtable · sorted RAM · 03 / Memory · visible Memtable sorted RAM visible SSTable segments · immutable, newest first · 04 / Disk files SSTable segments immutable, newest first Compaction · merge + tombstones · 05 / Background Compaction merge + tombstones append + fsync update sorted map replay after crash flush sorted run merge, newest wins Legend primary data async batch data store data flow