2

重複の可能性:
画像を DB に保存する - はい、いいえ?

私は、ユーザーが写真をアップロードできるサイトをホストしており、.net ファイルのアップロード コントロールが適切に機能しています。.

  • FileUpload コントロールから SaveAs() メソッドを使用して、実際のファイルとして保存できます。
  • イメージを Byte[] に分解し、データベースに格納してアクセスできます。

ここでの本当の質問は、IIS または Sql Server 2008 R2 の負荷が必要かどうかということだと思います。

どの方法論を使用すべきか、またその理由についての一般的なコンセンサスは何ですか? ありがとう!

4

2 に答える 2

4

どちらの方法も理想的ではないため、一般的なコンセンサスはありません。

イメージをファイルとして保存すると、複数のサーバーで実行するようにアプリケーションをスケーリングすることが難しくなります。その場合、ローカル ディスクではなく、ファイルを保存するための SAN/NAS が必要になります。

画像をデータベースに保存するということは、画像データ用に大量のキャッシュ スペースを使用することになり、他のクエリの速度が低下するだけでなく、データベースとバックアップのサイズも増加します。また、ページを介して画像を提供する必要があることも意味します。ファイルを直接要求することはできません。

つまり、画像の量と、アプリケーションに必要なスケーラビリティがどれくらいかということになります。

于 2013-01-25T18:52:41.587 に答える
3

それらをデータベースに入れないようにしてください。いくつかのファイルがあるだけで、DB のサイズが大幅に大きくなります。これは、バックアップ サイズにも影響します。

データベースに実際のファイル バイトを格納しても、実際の利益は見られません。ファイル システム内のファイルへの物理パスがあれば、それで十分です。

これにより、ファイルの独自のバックアップ戦略を立てることもできます.

于 2013-01-25T18:49:26.523 に答える