在键值存储中使用哈希作为ID

时间:2015-06-10 16:11:47

标签: performance hash hazelcast key-value-store murmurhash

我想知道使用哈希(CityHash,Murmur等)作为像Hazelcast这样的键值存储中的键是否是个好主意。我预计数据库中会有大约2,000,000,000条记录(URL),因此可能会发生冲突。通过哈希冲突丢失一些数据并不是超级关键,但当然最好避免它们。

记录包含URL,时间戳,状态代码。主要操作是插入并查找URL是否已存在。

那么,鉴于速度是相关的,你会建议什么:

  • 使用ID generator
  • 使用像CityHash或Murmur这样的哈希算法,或
  • 使用相关的字符串,在这种情况下是一个URL本身?

1 个答案:

答案 0 :(得分:2)

Hazelcast不依赖于密钥对象的hashCode / equals方法,而是使用密钥的二进制表示的MurMur哈希。

简而言之,您不应该真正担心哈希冲突。