【发布时间】:2011-08-16 11:55:51
【问题描述】:
我读到这个: http://spyced.blogspot.com/2009/01/all-you-ever-wanted-to-know-about.html
我的问题:
1.) Cassandra 仅使用布隆过滤器来找出最有可能包含密钥的 SST(排序字符串表)是否正确?因为可能有几个 SST,而 Cassandra 不知道密钥可能在哪个 SST 中?因此,为了加快查看所有 SST,使用了bloomfilters。它是否正确? (我正在尝试了解 cassandra 的工作原理......)
2.) 为什么(如上面的链接中所解释的)密钥会被多次散列?需要使用不同的哈希函数对密钥进行多次哈希处理以获得更好的“随机分布”位,这是否正确?如果这是错误的,为什么需要对密钥进行多次散列?这会消耗 CPU 周期吗?如果我有几个 Hash 函数的输出,那么对结果做了什么,它们是 ANDed 还是 XORded。这有什么不同吗?
3.)使用 MD5 与 SHA1(根据文章是随机分布的)相比,“使用 Bloomfilter 的 Fales 正数”的差异有多大?为什么MD5不是随机分布的?
非常感谢!! 延斯
【问题讨论】:
标签: hash cassandra bloom-filter