【问题标题】:Why leveldb's bloomfilter's bit array needs to be partitioned into many filterblocks?为什么leveldb的bloomfilter的位数组需要分割成很多filterblock?
【发布时间】:2018-12-21 09:23:14
【问题描述】:

由于表被打开,整个过滤器块都会保存在内存中,如果只有一个bloomfilter位数组会不会更简单?

【问题讨论】:

    标签: leveldb bloom-filter


    【解决方案1】:

    RocksDB 使用不同的设计:它使用Bloom filters covering the whole SST file

    我对 leveldb 的设计不是很熟悉,但可能 leveldb 不熟悉的原因可能是因为简单。此外,如果每个块都有一个单独的布隆过滤器,那么只需要在内存中保存一个块。因此,leveldb 针对查找相关的情况进行了优化,而 RocksDB 针对速度进行了优化。组合布隆过滤器会稍微减小布隆过滤器的大小,但需要加载整个布隆过滤器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-20
      • 2014-06-30
      • 2011-08-16
      • 1970-01-01
      • 2015-12-06
      • 1970-01-01
      • 2015-09-07
      • 1970-01-01
      相关资源
      最近更新 更多