A Log-Structured Merge (LSM) Tree based storage engine written in Rust., built while studying LSM Trees and their underlying storage concepts.
The goal of this project is to understand how modern storage engines use WALs, MemTables, Bloom Filters, SSTables, and compaction to efficiently handle writes and persistent storage.
- WAL persistence
- chunking
- rotation
- iterator
- MemTable implementation
- Btree based
- Skip list based
- Bloom filter
- SSTable persistence
- SST Block creation
- compression
- decompression
- SSTable
- merge
- compaction
- Delete
- tombstone handling
The Log-Structured Merge-Tree (LSM-Tree) Patrick O'Neil, Edward Cheng, Dieter Gawlick, Elizabeth O'Neil — Acta Informatica, 1996
Read the original LSM-Tree paper
Built with ❤️ by Rahul