2009-04-02 1 views
0

サウンドファイルとイメージファイルを大量に使用するASP.Net C#Webアプリケーションを構築しています。パフォーマンスを考慮すると、すべてのファイルをイメージデータ型としてSQLに格納し、データベースから取得するか、ハードファイルをサーバーに格納/アーカイブし、パスをsqlに格納するのが最善でしょうか?ストレージスペースと管理性の明白さ以外の賛否両論については興味があります。ASP.Netアプリケーションを使用したSQLのサウンドファイルとイメージファイルのサーバーまたはバイナリ上のハードファイル

答えて

0

パフォーマンスの観点からは、サウンド/イメージをファイルとして保存し、データベース内の場所を参照するほうがよいでしょう。これにより、データベースからWebサーバーにデータを転送する必要がなくなり、参照されるたびにハンドラを介して "ファイル"を再構成する必要がなくなります。もちろん、キャッシュはこれを助けるかもしれませんが、キャッシュミスごとにペナルティを支払うことになります。このソリューションは、私のお金のために、あなたがアップロードを有効にしている場合に行う衝突といくつかの余分なセキュリティ設定(潜在的な)に関する問題を抱えていますが、開発する必要があるコードに関してはやや複雑です。

0

私の現在のクライアントは、現在同じオプションを探しています。

  • はあなたが唯一の
  • あなたがする必要はありません、ファイルシステム上のバックアップに使用しているデータベースではなく、DBと場所を必要とする:

    IMAGEデータ型として保存:考慮すべきいくつかのトレードオフがあります。

    :存在しないファイルへの新しい場所またはぶら下げポインタと他の問題とDBが更新されずに移動されたファイル
  • DB内のパスとファイルとして保存

心配

  • 少し速くアクセス(我々は今後数日間でこれを定量化することがあります)

もともと私はまた、画像のクライアント側のキャッシュに問題があるだろうと思いました。たとえば、.NETがデータベースからイメージを取得すると、クライアントブラウザはそれをキャッシュできません。毎回新しいイメージのように見えます。私は、ユーザーにファイルレベルのアクセス権(セキュリティノーノー)を与えない限り、直接ファイルアクセスを使用して同じ問題に遭遇することを知りました。

関連する問題