質問: user投稿型のWebサービスを作っております。 画像やファイルをユーザが自由にアップロードできるのですが、 ファイルを同じフォルダ・ディレクトリにまとめるべきか、 それともまとまりごとに細かく分けるべきかどちらでしょうか? ###### 例 ユーザが100人いたとします。 ユーザはそれぞれ自分で画像やファイルをアップロードすることができ、 その数に制限はありません。 (といってもそれほど多くとも100、平均2~10ほどです) このとき、 ・storage/#{user_id}/#{filename} としてフォルダの数を増やすべきか ・storage/#{filename} として1つのフォルダにたくさんのファイルを詰め込むべきか どちらの方がwebサービスの運用をするにあたってベターでしょうか? お忙しい中恐れいいりますが、よろしくお願い致します。
回答: どのような形がいいかは、ファイルをどのように保存するかに依存します。 * ディスク保存する場合、1ディレクトリのファイルが増えすぎると検索が重くなるので、ある程度ディレクトリ分けしたほうがいいです。 * S3に置く場合、S3上のディレクトリは**パス入りのファイル名をそう見せかけているだけ**のものであって(参考)、どちらに置いても扱い上はほぼ変わりません。