質問

ユーザーベースのWebサイトを作成しようとしているので、各ユーザーの写真、ドキュメント、その他のデータを保存する必要があります。

1 000 000 000 000ユーザーのような愚かな数字を取ると、1 000 000 000の1つのフォルダーよりも世界で最も速いものではないと思います!だから私はようなものを作ることを考えていました

第1レベル:[AZ] 2番目のレベル:[AZ] 3番目のレベル:[AZ

そのため、ボビーは/b/o/b/byになります

しかし、これはまた、AZで始まるユーザーが非常に少なくなり、AM、S、L ...

そこで、「000000000001」、「000000000001」などのユーザーIDを使用することを考えていました...

第1レベル:[000-999]第2レベル:[000-999]第3レベル:[000-999

したがって、ユーザー0000000001のデータは/data/000/000/000/001に保存されます。その後、各レベルに最大1000フォルダーが確実にあります。

あなたたちはそれについてどう思いますか、私がすべきかどうか、またはしないべきですか?

サーバーは、RAID 1でExt3でCentos 5.4を実行します。I/Oがあまりにも悪い場合、おそらくRaid 10に行くでしょう。

役に立ちましたか?

解決

ハッシュ関数は、簡単に検索可能な構造全体に大量のデータを配布する方法を提供します。

この関連する質問を参照してください: ハッシュを使用して、ファイルの大規模なコレクションのパス名を作成するのはなぜですか?

また、Googleの結果を調べてみてください ディレクトリハッシュ.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top