Back to browse
GitHub Repository

A hand-built key-value storage engine in Go — LSM-tree with WAL, SSTable, Bloom Filter & Compaction

1 starsGo

NiroDB – A key-value storage engine built from scratch in Go

by nirox·Mar 5, 2026·2 points·0 comments

AI Analysis

●●SolidWizardryBig Brain

Educational LSM implementation in pure Go; zero production use case demonstrated.

Strengths
  • Full LSM-tree from first principles: Skip List memtable, WAL with CRC32, SSTable Bloom filters, size-tiered compaction
  • Pedagogical clarity: architecture diagram, RESP wire protocol, CLI and server modes all included
  • Pure Go, no external deps; detailed compaction output (files merged, keys deduped, size delta)
Weaknesses
  • No production benchmarks vs RocksDB/LevelDB; unclear why anyone would use this over mature alternatives
  • Thread-safe with sync.Mutex only; horizontal scaling, clustering, or durability guarantees absent
  • 0 GitHub stars; reads as educational exercise, not a tool intended for real workloads
Target Audience

Database enthusiasts, systems programmers learning database internals, educational reference

Similar To

RocksDB · LevelDB

Similar Projects

Infrastructure●●Solid

I built a persistent LSM-Tree storage engine in Go from scratch

Well-crafted LSM-Tree reference implementation in Go—but RocksDB and BadgerDB already solve this production-grade.

Big BrainWizardry
Jyotishmoy
103mo ago
Developer Tools●●Solid

I built a persistent LSM-Tree storage engine in Go from scratch

LSM-Tree from scratch in Go: WAL, SkipList, SSTables, compaction—education-grade.

WizardryBig BrainShip It
Jyotishmoy
103mo ago