3

ユーザーがファイルをアップロードできるソリューションを提供する必要があり、それらはいくつかのファイルと一緒に保存する必要がありmetadata、これは非常に大きくなる可能性があります。

これらのファイルへのアクセスは制御する必要があるため、DB に保存するだけでよいのですが、時間の経過とともに適切に処理されなくなるのではないBLOBかと心配しています。PostgreSQL

私の最初のアイデアは、何らかのNoSQLDB ソリューションを使用することでしたが、優れた RDBMS に取って代わり、ファイルをエレガントにまとめて格納するものを見つけることができませんでした。次に、これらのファイルを WebServer が提供しない場所に HD で保存し、テーブル ID という名前を付け、RAM にロードして適切なコンテンツ タイプで出力することを考えました。

誰かがこれに対するより良い解決策を提案してもらえますか?

4

1 に答える 1

1

多くの画像 (いくつかのメタデータを含む) を保存し、それらへの制御されたアクセスを許可する必要がありました。これが私がしたことです。

クラウドへ™</p>

画像ファイルを Amazon S3 に保存します。私のローカル データベースは、ファイルの S3 の場所を 1 つの列としてメタデータを保持しています。認証および承認されたユーザーがファイルを表示する必要がある場合、システム内の URL (認証と承認のチェックが行われる場所) にヒットし、画像の署名済みの有効期限が切れる URL が生成され、リダイレクトがブラウザーに返されます。その後、ブラウザーは、(URL 内の署名で指定されているように) 一定時間、画像を読み込むことができます。

このソリューションでは、リソースへのユーザー レベルのアクセス権があり、時間の経過とともに扱いにくくなる可能性のある BLOB などとして保存する必要はありません。また、ファイルをクライアントにストリーミングして安価な冗長ストレージを取得するために MY の帯域幅を使用することもありません。明らかに、このソリューションの適合性は、保存しようとしているバイナリ ファイルの性質と、Amazon に対する信頼のレベルによって異なります。スリップがあり、誰かが私のシステムから見るべきではない画像を見ても、世界は終わりません。YMMV。

于 2013-03-21T21:53:57.260 に答える