badger

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值进行压缩存储,以减少数据量。

参考

  1. https://colobu.com/2017/10/11/badger-a-performant-k-v-store/

updatedupdated2024-05-152024-05-15