私が開発しているJava Webアプリケーションでは、ユーザーはファイル(写真やドキュメント)をプロファイルにアップロードし、それらのファイルのアクセスルールを定義できますファイルの表示/ダウンロード)。アクセス制御/許可システムはカスタム作成されており、ルールはmongoDBにユーザのプロファイルと実際のファイルエントリとともに格納されます。ファイルの保存+アクセス許可:mongodbとファイルシステムのアプローチ
私はアプリケーションとストレージを分散してフォールトトレラントにする必要があることを知っているので、どのファイルがファイルストレージにとって最善の戦略であるかを理解する必要があります。
mongoDB内のファイルを、説明とアクセスルールを含むファイルドキュメントが格納されているファイルコレクションに格納する必要がありますか?
ファイルをサーバーのファイルシステムに保存し、mongoDBドキュメントのパスを保持する必要がありますか?ファイルシステムのアプローチでは、私は引き続きユーザー定義のアクセス許可とその方法を強制することができますか? 最後にファイルシステムのアプローチでは、どのようにサーバー間でファイルを配布しますか?専用サーバーを使用するか、Webアプリケーションサーバーまたはmongodbサーバーにファイルを保存することはできますか?
あなたの洞察力に感謝します。どんな助けやフィードバックも感謝しています。
アレックス
MongoDBのGridFSはあなたに「分散型およびフォールトトレラント」を提供します。そして既にあなたはすでにそれを設定しています。あなたは、これらのDB-VSファイルシステムの質問が通常とっているものである「パフォーマンス」について言及していませんでした。それに話すことはできません。 FWIW、私は似たようなことをやり始めています。すべてをGridFS(ローカルファイルシステムのキャッシュ)に入れようとしています。それがどうなるか見てみましょう。 – Thilo
これはおそらく役立ちます:http://stackoverflow.com/questions/3413115/is-gridfs-fast-and-reliable-enough-for-production – Thilo