3

Hazelcast のようなキー値ストアのキーとしてハッシュ (CityHash、Murmur など) を使用するのは良い考えかどうか疑問に思っています。データベースには約 2,000,000,000 のレコード (URL) があると予想しているため、競合が発生する可能性があります。ハッシュの衝突によって一部のデータが失われることはそれほど重要ではありませんが、もちろん回避することが最善です。

レコードには、URL、タイム スタンプ、ステータス コードが含まれます。主な操作は、URL が既に存在するかどうかの挿入と検索です。

それで、速度が関連していることを考えると、あなたは何を提案しますか:

  • ID ジェネレーターを使用する、または
  • CityHash や Murmur などのハッシュ アルゴリズムを使用する、または
  • 関連する文字列、この場合は URL、それ自体を使用して?
4

1 に答える 1

3

Hazelcast はキー オブジェクトの hashCode/equals メソッドに依存せず、代わりにキーのバイナリ表現の MurMur ハッシュを使用します。

要するに、ハッシュの衝突について本当に心配する必要はありません。

于 2015-06-12T10:51:20.350 に答える