2012-04-05 16 views
0

私はASP.NET MVC3でファイル共有システムを実装しています。ほとんどのファイル共有サイトでは、ファイルをサーバーのファイルシステムに標準のバイナリ形式で保存していると思います。ファイル共有サイトのファイル格納形式

私は、データベースにファイルシステムまたはバイナリデータフィールドという2つのオプションがあります。

ファイルシステム(大型のものを含む)をファイルシステムに格納するのではなく、データベースに格納することに利点がありますか?

詳細情報:

予想平均ファイルサイズは800 MBです。 1分間に3つのファイルをダウンロードしているユーザーにフィードバックすることが通常要求されます。

+1

保存するファイルの平均サイズは何ですか?予想される使用状況は何ですか? INSERT/UPDATE/DELETE/SELECTの%を意味しますか? – sll

+0

@sll - ロードパラメータの説明を追加しました。 –

+0

DB == Microsoft SQL Server?もしそうなら[FILESTREAM Overview](http://technet.microsoft.com/en-us/library/bb933993.aspx) – sll

答えて

0

ファイルがそれと同じくらい大きい場合は、ファイルシステムを使用するほうがより確実です。データベースは、小さな行にグループ分けされた関係データを含むように設計されており、これらのリレーションの値のコンサルティングと比較を行うために最適化されています。ファイルシステムはかなり大きなブロブを保存するために最適化されており、名前でバイトストリームとして呼び出します。

大きなファイルをデータベースに入れると、データベースが占有する領域を管理することも難しくなります。ファイルシステムで使用されるスペースを照会し、データを削除および置換するツールが優れています。

ファイルシステムを使用するための唯一の注意点は、アプリケーションが、これらのファイルの保存に使用するファイルシステムの一部を書き込むために必要な権限を持つアカウントで実行する必要があることです。

0

使用のFileStreamの場合:格納されている

  1. オブジェクトは、平均して、1メガバイトよりも大きいです。
  2. 高速読み込みアクセスが重要です。
  3. アプリケーション・ロジック用に中間層を使用するアプリケーションを開発しています。ここで

MSDNのリンクは、それを使用する方法https://msdn.microsoft.com/en-us/library/gg471497.aspx

です:https://www.simple-talk.com/sql/learn-sql-server/an-introduction-to-sql-server-filestream/