finds.dev← search

// the find

geohot/minikeyvalue

★ 3,154 · Go · MIT · updated Feb 2024

A distributed key value store in under 1000 lines. Used in production at comma.ai

A distributed key-value store built on nginx for blob storage and LevelDB for indexing, aimed at people storing large binary objects (1MB-1GB) across machines who don't want a full distributed filesystem. It's what comma.ai runs in production, so it's been through real-world use, not just a toy.

The design is genuinely minimal - HTTP PUT/GET/DELETE that 302-redirects to nginx volume servers means the volume server itself is just stock nginx, no custom binary protocol to maintain. The on-disk format is plain files plus LevelDB, so if the code has bugs your data isn't locked in some proprietary format - rebuild reconstructs the index from disk. It ships rebalance and rebuild as first-class CLI subcommands, which is the part distributed stores usually punt on.

Last pushed February 2024 and the whole project is one person's ~1000 lines, so there's no bus factor and no guarantee of a fix if something breaks. Rebalancing requires shutting down the master since LevelDB only allows one process, meaning no online resharding - that's a real operational cost at scale. Replication is naive (just N copies via -replicas), there's no consistency model discussion, no Raft/Paxos, so split-brain and write conflicts during partition are on you to reason about. S3 compatibility is explicitly 'a subset,' so don't assume your existing S3 tooling will just work.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →