簡體   English   中英

在鍵值存儲中使用哈希作為 ID

[英]Using hashes as IDs in key-value stores

我想知道在像 Hazelcast 這樣的鍵值存儲中使用哈希(CityHash、Murmur 等)作為鍵是否是個好主意。 我預計數據庫中有大約 2,000,000,000 條記錄(URL),因此可能會發生沖突。 通過哈希沖突丟失一些數據並不是非常重要,但當然最好避免它們。

一條記錄包含 URL、時間戳、狀態代碼。 主要操作是插入和查找 URL 是否已經存在。

那么,鑒於速度是相關的,您有什么建議:

  • 使用ID 生成器,或
  • 使用散列算法,如 CityHash 或 Murmur,或
  • 使用相關的字符串,在這種情況下是一個 URL,本身?

Hazelcast 不依賴於密鑰對象的 hashCode/equals 方法,而是使用密鑰的二進制表示的 MurMur 哈希。

簡而言之,您不應該真正擔心哈希沖突。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM