direction: right Write: { label: "Write\nkey, value" shape: rectangle } Memtable: { label: "Memtable\nin-memory tree\n(sorted)" shape: rectangle } WAL: { label: "WAL\nappend-only log\n(crash recovery)" shape: rectangle } SSTable: { label: "SSTable\nsorted segment\non disk" shape: rectangle } Compaction: { label: "Compaction\nmerge segments,\ndrop old values" shape: rectangle } Read: { label: "Read\nmemtable first,\nthen newest segment" shape: rectangle } Write -> Memtable Write -> WAL Memtable -> SSTable: "flush when\n> threshold" SSTable -> Compaction Compaction -> SSTable: "merged\nsegments" Read -> Memtable Read -> SSTable