This project is a lightweight, educational key-value store based on LSM-Tree (Log-Structured Merge Tree), implemented entirely in Go. It is designed as a learning project to explore the internal mechanics of modern storage engines.
- WAL Write and Recovery
- Manifest Replay and Recovery
- Memtable and ImmMemtable Switching
- Flush and Compaction Logic
- WAL Lifecycle Management (delete after flush)
- Bloom Filter
- Implement MVCC Support
- Improve Testing
- Support Transactional Rollback
- Support Snapshot Isolation
This project is mainly based on the excellent Mini-LSM tutorial by Skyzh.