Couchbase 6.5.1和Bloom过滤器

Couchbase 6.5.1和Bloom过滤器,couchbase,bloom-filter,Couchbase,Bloom Filter,我正在尝试评估使用bloom过滤器是否适合我的Couchbase部署。我在仅限值的弹出模式上使用CB 6.5.1。在官方文档中搜索,我不清楚bloom过滤器何时可用。此外,我只能在5.0和5.1版本中提到它们的使用。更具体地说,在5.0版中,在数据库引擎体系结构一节中 完全元数据弹出将从非常驻项的缓存中删除所有数据,包括键、元数据和键值对。完全弹出非常适合应用程序具有不经常访问的冷数据,或者总数据大小太大而无法放入内存,并且接受对数据的更高延迟访问的情况。Bloom筛选器显著提高了完全逐出缓存管

我正在尝试评估使用bloom过滤器是否适合我的Couchbase部署。我在仅限值的弹出模式上使用CB 6.5.1。在官方文档中搜索,我不清楚bloom过滤器何时可用。此外,我只能在5.0和5.1版本中提到它们的使用。更具体地说,在5.0版中,在数据库引擎体系结构一节中

完全元数据弹出将从非常驻项的缓存中删除所有数据,包括键、元数据和键值对。完全弹出非常适合应用程序具有不经常访问的冷数据,或者总数据大小太大而无法放入内存,并且接受对数据的更高延迟访问的情况。Bloom筛选器显著提高了完全逐出缓存管理的性能。Bloom过滤器在默认情况下处于启用状态,不能禁用

:~$ /opt/couchbase/bin/cbstats -u Administrator -p password -b travel-sample localhost:11210 all | grep bfilter
ep_bfilter_enabled: false
ep_bfilter_fp_prob: 0.01
ep_bfilter_key_count: 10000
ep_bfilter_residency_threshold: 0.1
eviction policy (0.0 - 1.0)
那么这是否意味着它们只在完全弹射模式下可用

我只能在版本5.0和5.1中找到的另一个页面是,它只是描述了bloom过滤器与完全喷射和XDCR相结合的功能


那么6.5.x版中发生了什么?bloom过滤器是否默认仅在完全弹出模式下使用,且不能禁用?它们可以在某处配置吗?有人可以将它们与仅值弹出模式结合使用吗?

仅值弹出模式下的Couchbase bucket具有元数据中bucket的所有密钥,因此bloom筛选器的好处对于大多数操作来说是最小的,因为它可以更快地查看内部内存结构以检查密钥是否存在。也就是说,bloom过滤器用于值逐出,以改进对已删除密钥的检测,因为这些密钥不驻留在内存中,但它们的墓碑确实驻留在磁盘上

Bloom过滤器在Couchbase Server 7.0之前的最新版本中仍然存在。 例如,在我的6.5.1集群上,我有一个名为travel sample的仅值存储桶。我可以使用cbstats CLI命令查看bloom过滤器信息

:~$ /opt/couchbase/bin/cbstats -u Administrator -p password -b travel-sample localhost:11210 all | grep bfilter

ep_bfilter_enabled: true
ep_bfilter_fp_prob: 0.01
ep_bfilter_key_count: 10000
ep_bfilter_residency_threshold: 0.1
使用cbepctl命令修改的bloom过滤器有两个配置选项:

bfilter_enabled-启用或禁用bloom过滤器(真/假)

bfilter_Residentity_threshold-驻留比率阈值,低于该阈值,bloom过滤器中的所有项目都将被视为完整的

比如,; :~$/opt/couchbase/bin/cbepctl localhost:11210-b旅行示例-u管理员-p密码设置刷新参数bfilter\u启用错误

setting param: bfilter_enabled false
set bfilter_enabled to false
你可以看到它现在被禁用了

:~$ /opt/couchbase/bin/cbstats -u Administrator -p password -b travel-sample localhost:11210 all | grep bfilter
ep_bfilter_enabled: false
ep_bfilter_fp_prob: 0.01
ep_bfilter_key_count: 10000
ep_bfilter_residency_threshold: 0.1
eviction policy (0.0 - 1.0)
谢谢,,
Ian McCloy(Couchbase首席产品经理)

交叉引用Couchbase论坛帖子:非常感谢Ian!老实说,这超出了我的预料。我不知道为什么你已经从你的文档中删除了所有关于bloom过滤器的内容。还是我错过了什么?您可以启用/禁用它们的事实不应该成为mem调优文档的一部分吗?