Skip to content
kvbench

Scenarios

Pick a key/value engine by what your workload does most: read-heavy, write-ingest, mixed read-update, durable writes, ordered scans, or smallest footprint. Each scenario has real numbers.

The fastest way to pick an engine is to name what your workload does most, then read the one scenario that matches. Each page below states the question, names the winners with real numbers from four machines, and says plainly what to avoid and why.

All throughput figures are operations per second. Unless a table says otherwise, the headline number is an Apple M4 laptop (10 cores, 24 GB), 100,000 keys of 1 KB each, 8 concurrent clients. Where an engine scales differently on a server, the page shows the cross-machine numbers too.

Scenario The question Top picks
Read-heavy Mostly reading keys you already wrote tamnd/kv, pogreb, buntdb
Write ingest A firehose of new keys pebble, badger, buntdb
Mixed read-update Reads and updates in roughly equal measure buntdb, badger, pebble
Durable writes Every write must survive a crash badger, sqlite
Range scans Walking keys in sorted order bbolt, pebble, goleveldb
Smallest footprint Least disk per byte stored goleveldb, pebble

If you are not sure which one you are, you are probably mixed read-update: most real services read and write in roughly equal measure. Start there.