More projects coming soon.
A from-scratch LSM-tree key-value storage engine in Go
I built go-lsm-kv to learn how embedded databases actually persist data on disk. It is an LSM-tree key-value engine in the spirit of LevelDB and RocksDB: writes go to a write-ahead log and an in-memory memtable (skip list), then flush to immutable SSTables on disk, with Bloom filters to skip disk work on misses and k-way merge compaction so reads stay manageable as files accumulate.
The codebase is organized as a small library (pkg/kv) plus a tiny CLI for ad hoc get/put. Durability and recovery are taken seriously: WAL-first writes, CRC32 records, torn-tail handling on replay, and careful fsync ordering around compaction. Benchmarks, API examples, and how to run tests are documented on GitHub.