7

単純にファイルをバイナリ データとしてデータベースに格納したり、ファイル共有への URL を含む列をデータベースに格納したりする代わりに、ファイル テーブルを使用することを考えています。私たちのアプリは Entity Framework を使用しているため、これは私が目にする小さな障害の 1 つですが、かなり簡単に回避できます。もう 1 つは、ファイルをデータベースと同じサーバーの "MachineName\InstanceName\FileShare" などのフォルダー パスに格納する必要があることです (フォルダーが別のサーバーに存在できるように構成できますか? )。

FileTable を使用することのその他の欠点はありますか?

4

1 に答える 1

3

ファイルテーブルの欠点については、それらを実行するために必要な少し手間のかかるセットアップを除けば、私が考えることができる唯一のことは、BLOB のサイズが 1Mb 未満の場合、ファイルシステムではなくデータベースに格納することをドキュメントが示唆していることです。パフォーマンスが向上します。

filestream ファイル グループをネットワーク共有に配置することに関しては、これは機能しません。filestream/filetable に関する一般的な誤解の 1 つは、作成されるファイル共有が他のファイル共有と同様に通常の Windows ファイル共有であるというものです。そうではなく、ファイルは NTFS データ コンテナーと呼ばれるファイル システム上の特別な場所に保存され、NTFS ストリーミング API を介してファイル共有として外部に公開されます。これらの NTFS API は UNC 経由では機能しないため、ファイルはマシンに対してローカルである必要があります。

別のマシンで実際に動作させる唯一の方法は、iSCSI ドライブを使用して、NTFS API が引き続き動作するようにすることですが、ファイルは物理的に他のマシン上にあります。

于 2013-11-07T09:11:07.060 に答える