A simplified implementation of a Log-Structured Merge Tree (LSM Tree) designed for high-performance write-heavy workloads.
- In-memory MemTable
- Immutable SSTables on disk
- Compaction mechanism
- Efficient write path
- Basic read/write API
Modern databases like LevelDB and RocksDB use LSM Trees to handle large-scale data efficiently. This project demonstrates how LSM Trees work internally.
- Language: C++ / Python
- Storage: File-based persistence
- In-memory data structure (e.g., skip list / map)
- Handles fast writes
- Immutable sorted files on disk
- Enable efficient sequential reads
- Merges SSTables
- Removes duplicates and stale data
- Write → MemTable
- Flush → SSTable
- Background compaction
- Read → Check MemTable + SSTables
- High write throughput
- Sequential disk access
- Scalable storage design