badger
简介
badger是2016年 dgraph.io基于一篇论文开发的一款基于 LSM tree 的高性能单机KV存储库,使用 Go 开发。
badger专门为SSD所优化,将key和value分别存储以减少I/O放大。
对于随机读,Badger至少要比RocksDB快3.5倍,对于值的大小从128B到16KB,数据加载Badger比LevelDB快0.86 - 14倍。
Badger不存储value,而是存储value的指针,分离的key和value,只有key存在LSM tree中, value存在WAL中。compaction的时候只移动key和value指针, LSM tree比较小,相对于普通的LSM tree层级要少,这也意味着查找会更少。
Badger还对value值进行压缩存储,以减少数据量。