我正在尝试评估是否对我的Couchbase部署使用Bloom Bloom过滤器是个好主意。我在仅值弹出模式下使用CB 6.5.1。我尚不清楚在正式文档中进行搜索时是否可以使用Bloom筛选器。此外,我只能提及它们仅在5.0和5.1版本上的使用。更具体地说,在版本5.0中,在“数据库引擎体系结构”部分中阅读
完整的元数据弹出会从非居民项目的缓存中删除所有数据,包括键,元数据和键值对。完全弹出非常适合以下情况:应用程序具有不经常访问的冷数据,或者总数据大小太大而无法容纳在内存中,并且可以接受对数据的更高延迟访问。Bloom过滤器显着提高了完全收回缓存管理的性能。布隆过滤器默认情况下处于启用状态,无法禁用。
那么这是否意味着它们仅在完全弹出模式下可用?
其他的页面,我可以找到只有在5.0版本和5.1是这样一个刚刚描述的组合布隆过滤器的功能,具有完全弹射和XDCR。
那么6.5.x版本中发生了什么?默认情况下,bloom过滤器是否仅在完全弹出模式下使用并且不能被禁用?可以在某个地方配置它们吗?有人可以将它们与仅值弹出模式结合使用吗?
仅值弹出模式下的Couchbase存储桶在元数据中具有该存储桶的所有键,因此对于大多数操作而言,布隆过滤器的好处是微不足道的,因为它可以更快地查看内部存储器结构来检查键是否存在。也就是说,布隆过滤器用于值驱逐,以改进对已删除键的检测,因为这些键不驻留在内存中,但其逻辑删除确实驻留在磁盘上。
在最新的Couchbase Server版本(包括Couchbase Server 7.0)中仍然存在布隆过滤器。例如,在我的6.5.1集群上,我有一个名为travel-sample的仅值存储桶。我可以使用cbstats CLI命令查看Bloom过滤器信息。
:〜$ / opt / couchbase / bin / cbstats -u管理员-p密码-b travel-sample localhost:11210全部| grep bfilter
ep_bfilter_enabled:true ep_bfilter_fp_prob:0.01 ep_bfilter_key_count:10000 ep_bfilter_residency_threshold:0.1
布隆过滤器有2个配置选项,这些配置选项已使用cbepctl命令修改:
bfilter_enabled-启用或禁用布隆过滤器(是/否)
bfilter_residency_threshold-居民比率阈值,低于该阈值将完全考虑布隆过滤器中的所有项目
例如; :〜$ / opt / couchbase / bin / cbepctl本地主机:11210 -b travel-sample -u管理员-p密码设置flush_param bfilter_enabled false
设置参数:bfilter_enabled为false设置bfilter_enabled为false
您可以看到它现已被禁用。
:〜$ / opt / couchbase / bin / cbstats -u管理员-p密码-b travel-sample localhost:11210全部| grep bfilter ep_bfilter_enabled:假ep_bfilter_fp_prob:0.01 ep_bfilter_key_count:10000 ep_bfilter_residency_threshold:0.1逐出策略(0.0-1.0)
谢谢Ian McCloy(Couchbase首席产品经理)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句