SQL Server にファイルとドキュメントを格納するために使用できるオプションについて説明し、比較します。
データベースにファイルを格納する - 利点と期待
エンタープライズ データの大部分は本質的に非構造化であり、通常はファイル とドキュメントとしてファイル システムに格納されます。 このデータのほとんどは、Windows API を介してファイルにアクセスするアプリケーションによって生成、管理、使用されます。 通常、企業はこのデータをファイル システムに保持しながら、ファイルの関連メタデータをリレーショナル データベースに格納します。
非構造化データをリレーショナル データベースに統合すると、大きな利点が得られます。 これらの利点には、次のようなものがあります。
バックアップなどの統合ストレージとデータ管理機能。
データとメタデータに対するフルテキスト検索やセマンティック検索などの統合サービス。
非構造化データに対する管理とポリシー管理の容易さ。
ただし、ほとんどの場合、非構造化データをリレーショナル データベースに格納するのは便利ではありません。 リレーショナル システム上で既存の Windows ベースのアプリケーションを実行することは以前は不可能でした。 確立されたアプリケーション (Microsoft Word や Adobe Reader など) を一番上のリレーショナル データベース API で実行するように書き換えるのは実用的ではありません。 これらのアプリケーションでは、Windows API を介してデータにアクセスできる必要があります。 言い換えると、期待される内容は次のとおりです。
Windows アプリケーションはデータベース トランザクションを認識せず、必要ありません。
Windows アプリケーションでは、ファイルおよびディレクトリ データのファイル システム API との互換性が必要です。
FILESTREAM
SQL Server には既に FILESTREAM 機能があり、ファイル システム上のファイルとして格納されている非構造化データの効率的なストレージ、管理、ストリーミングを提供します。 ただし、FILESTREAM ソリューションにはカスタム プログラミングが必要であり、上記の完全な Windows アプリケーション互換性の要件を満たしていません。
ファイルテーブル (FileTables)
FileTable 機能は、既存の FILESTREAM 機能に基づいて構築されており、企業のお客様は、非トランザクション アクセスの要件とファイル ベースのデータに対する Windows アプリケーションの互換性に対処することで、非構造化ファイル データとディレクトリ階層を SQL Server データベースに格納できます。
FILESTREAM と FileTable の比較
| 特徴 | ファイル サーバーとデータベース ソリューション | FILESTREAM ソリューション | FileTable ソリューション |
|---|---|---|---|
| 管理タスクの単一ストーリー | いいえ | イエス | はい |
| 単一のサービス セット: 検索、レポート作成、クエリなど | いいえ | イエス | はい |
| 統合セキュリティ モデル | いいえ | イエス | はい |
| FILESTREAM データのインプレース更新 | イエス | いいえ | はい |
| データベースに保持されているファイルとディレクトリの階層 | いいえ | いいえ | はい |
| Windows アプリケーションの互換性 | イエス | いいえ | はい |
| ファイル属性へのリレーショナル アクセス | いいえ | いいえ | はい |
FILESTREAM とリモート BLOB ストア (RBS) の比較
これら 2 つの機能の比較については、RBS チームからのブログ投稿「 SQL Server リモート BLOB ストアと FILESTREAM 機能の比較」を参照してください。
詳細情報
FILESTREAM (SQL Server)
FileTables (SQL Server)
リモート BLOB ストア (RBS) [SQL Server]