LSM-Tree

Log-Structured Merge Tree — writes fill the memtable, flush to SSTables, compaction merges levels, reads walk newest-first with bloom filters

Write O(1) amortized · sequential Read O(log_T n) · leveled Space ~1.1×–2× (compaction)
3
inserting
scanning
found
tombstone
merging
maybebloom hit
nobloom skip
Memtable
0
SSTables
0
Live keys
0
Write Amp
1.0
Read Amp
0
Space Amp
1.0
Press put to add a key, delete to write a tombstone, get to read newest-first, or Run Demo for the guided trace.

Complexity

OperationCostNote
put / deleteO(1) amortizedWAL append + memtable
flushO(memtable), seqone sequential write
get (leveled)O(log_T n)≤1 SSTable/level
get miss (bloom)≈ O(1) exp.skips SSTables
get (size-tiered)O(T·log_T n)overlapping runs
compactionO(S) k-way mergebackground, seq
write amp~L·T (leveled)~L (size-tiered)
spaceO(live × SA)obsolete + tombstones

Operation Log