0

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

ストレージに関しては、ファイルシステムとデータベースのバイナリデータフィールドの2つのオプションがあります。

ファイルシステムではなく、データベースにファイル(大きなファイルを含む)を保存することに利点はありますか?

より詳しい情報:

予想される平均ファイルサイズは800MBです。通常、1分あたり3ファイルは、ダウンロードしているユーザーにフィードバックするように要求されます。

4

2 に答える 2

0

ファイルがそれと同じくらい大きい場合は、ファイルシステムを使用する方がほぼ確実に優れたオプションです。データベースは、小さな行にグループ化されたリレーショナルデータを含むように設計されており、これらのリレーションの値を調べて比較するために最適化されています。ファイルシステムは、かなり大きなBLOBを格納し、それらを名前でバイトストリームとして呼び出すように最適化されています。

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

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

于 2012-04-05T23:17:39.830 に答える
0

次の場合にFileStreamを使用します。

  1. 保存されているオブジェクトは、平均して1MBを超えています。
  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/

于 2016-01-18T18:32:38.053 に答える