Design
- Write a key-value database in pure Go.
- Optimize for SSDs.
Badger’s design is based on a paper titled WiscKey: Separating Keys from Values in SSD-conscious Storage.
2 RocksDB is an SSD optimized version of LevelDB, which was designed specifically for rotating disks. As such RocksDB’s design isn’t aimed at SSDs.
4 Badger provides direct access to value versions via its Iterator API. Users can also specify how many versions to keep per key via Options.