2009-06-25 9 views
1

私たちは独自のデータベースを扱っており、セマンティック複合キーが128ビットのGUIDと64ビットのタイムスタンプで構成されるテーブルを持っています。同一のタイムスタンプを持つ複数のレコードだけでなく、同じGUIDを持つ複数のレコードがテーブルに存在する可能性があるという意味での意味論的複合キー。ただし、ペア(GUID、タイムスタンプ)は一意です。ハッシュメカニズムをよりよくサポートするための強化として、タイムスタンプを完全にユニークにすることができます。ミリ秒単位でインクリメントします。GUIDと64ビットタイムスタンプを別のGUIDにハッシュする方法

独自のデータベースはむしろ最小限で、高速アクセスに使用したい128ビットのハッシュキーを持っています。したがって、GUIDとタイムスタンプを128ビットのフィールド、つまり別のGUIDにハッシュする必要があります。

この目的に最も適したハッシュ関数を提案できますか?

答えて

3

MD5についてはどうですか?適切な長さと良好な分布特性を有する。あなたが持っている2つのフィールドの排他的論理和より計算的に集中しています。