2011-11-24 7 views
2

多くのファイルとフォルダをデータベースにインデックスする必要があります。ワークステーション1台あたりおよそ1000のファイル/フォルダと約100台のワークステーションが存在します。データベースへのファイルのインデックス付け

私はこれらのファイルをデータベースに常に同期させていますので、ファイルがすでにデータベースにあるかどうかを確認するために、データベースへのクイッククエリを実行する必要があります。 MD5でファイルの完全なパスをハッシュし、このハッシュフィールドをデータベースにインデックスすることを考えています。これは正しいアプローチですか?ハッシュ衝突は、1〜10百万件のレコードで発生する可能性がありますか?

私はMySQLまたはMongoDBの選択肢がありますが、私はMongoDBの方に傾いています、同意しますか?

答えて

3

MySQLが使用する標準のB +ツリーインデックスはあなたの目的に適しています。グローバル書き込みロックを避けるために、MyISAMとは対照的にInnoDBを使用していることを確認してください。

衝突が心配な場合は、衝突しないことがわかっているハッシュメカニズムを調べてください。代わりにMurmurHashまたはSHAバリアントを試してみてください。

関連する問題