既然他们填满了,误报的百分比增加了,那么用什么技术来防止它们饱和呢?看起来你不能清空位,因为这会对该节点中存储的数据立即产生负面影响。bloom过滤器实现如何保持清洁?
即使你有一套已知的大小,在使用像Cassandra这样的bloom过滤器的数据存储中,令我困惑的是节点中的数据将被添加和删除,对吗?但是,当您删除密钥时,您无法将其布隆过滤器存储桶设置为0,因为这可能会为节点中的数据创建一个错误的否定结果,该数据会将一个或多个相同的存储区散列为已除去的密钥。因此,随着时间的推移,就好像过滤器已经填满了
虽然让我困惑的是,节点中的数据将被添加和删除,对吧?但是,当您删除密钥时,您无法将其布隆过滤器存储桶设置为0,因为这可能会为节点中的数据创建一个错误的否定结果,该数据会将一个或多个相同的存储区散列为已除去的密钥。那么随着时间的推移,就好像过滤器填满了吗? – ambertch
bloom过滤器是可用的,一旦创建了sstable,它永远不会改变。其他sstables随着新数据的添加而添加,删除操作通过墓碑来处理,其中存储在sstable中的写入 – sbridges