7

多くのファイル/BLOB をファイル システムに格納するための一般的な手法は、ハッシュ関数を使用してファイル パスを決定することです。例: hash(identifier) -> "o238455789" -> o23/8455/789 (ハッシュ衝突戦略もよくあります)

この手法には名前がありますか (それは「パターン」ですか?)、 ACM デジタル ライブラリまたはコンピューティング文献の同様のオンライン データベースを検索して見つけることができます。

問題/解決策を調査す​​る本/論文はありますか?

PS 役立つメモに感謝しますが、上記の手法に対処するものはありません。

4

4 に答える 4

3

これは、Microsoft が SQL Server 2008 で FILESTREAM ストレージを使用して行ったことだと思います。SQL Server 内に BLOB データを保存できますが、ディスクから直接ファイルにアクセスできるため、優れたパフォーマンスが得られます。

Microsoftは、興味のある非構造化データの管理に関するホワイトペーパーをリリースしました。 FILESTREAM 、ファイル ストレージの長所と短所、および BLOB を使用するかどうかについて説明している MSDN の記事もあります。

于 2008-12-06T14:47:30.290 に答える
2

米国特許 5742807 はこれを扱ってい
ます http://www.freepatentsonline.com/5742807.html

オープンドキュメントリポジトリに電子的に保存された複数のドキュメントを管理するシステムおよび方法は、一方向ハッシュ関数を使用して、保存されたドキュメントのハッシュを索引付けリンクとして計算します。文書管理インデックスは、リポジトリに格納されている元の文書の属性をハッシュと文書にマッピングします。hash-to-location インデックスは、リポジトリのファイル システム内のドキュメントのアドレス ロケーションにハッシュをマップします。属性は、属性を場所にリンクするための場所を指すハッシュを指します。

于 2010-11-12T09:53:09.727 に答える
1

@クリス・キンプトン

これは索引付けと呼ばれます。シャーディングまたはパーティショニングは、ファイルを分割する方法に関するものです。

于 2008-12-04T13:42:17.660 に答える
0

この種のことはshardingのように聞こえますが、おそらく微妙な点が欠けています。

同様に、私はそれに関する多くの記事を見ません - highscalability.com にいくつかあります

于 2008-12-04T09:55:14.890 に答える