Blob (SQL Server) を保存するオプションの比較

適用対象:SQL Server

ファイルおよびドキュメントを SQL Server に格納するために使用できるオプションを説明して比較します。

データベースへのファイルの格納 - 利点と予測

企業データの大部分は、実際は構造化されておらず、通常、ファイルや文書としてファイル システムに保存されています。 このデータの大半は、Windows API を通じてファイルにアクセスするアプリケーションによって作成、管理、および使用されます。 通常、企業はこのデータをファイル システムに保存し、ファイルの関連するメタデータ ファイルをリレーショナル データベースに格納します。

非構造化データをリレーショナル データベースに統合すると、次の利点があります。

  • バックアップなどの、統合ストレージおよびデータ管理機能。
  • データとメタデータ全体に対するフルテキスト検索、セマンティック検索などの統合サービス。
  • 非構造化データの管理およびポリシーの管理の容易さ。

一般に非構造化データをリレーショナル データベースに格納するのは不便でした。 確立されているアプリケーション (Microsoft Word、Adobe Reader など) でリレーショナル データベース API を操作するのは実用的ではありませんでした。 このようなアプリケーションでは、データが Windows API を通じてアクセスされることが前提となっています。 アプリケーションでは次のことが前提となります。

  • Windows アプリケーションにはデータベース トランザクションが不要であり、認識もされない。
  • Windows アプリケーションは、ファイルおよびディレクトリ データのためにファイル システム API との互換性が必要。

何年か前は、SQL Server ではリレーショナル データベースに非構造化データを格納するさまざまな方法が提供されませんでした。 しかし、最近では非構造化データを格納する方法が提供されます。

FILESTREAM

SQL Server には既に FILESTREAM 機能があります。 FILESTREAM 機能では、ファイル システムでファイルとして格納される非構造化データの効率的な保管、管理、およびストリーミングを行うことができます。 ただし、FILESTREAM ソリューションはカスタム プログラミングを必要とし、上で説明した完全な Windows アプリケーションの互換性の要件を満たしていません。

FileTables

FileTable 機能は、既存の FILESTREAM 機能をベースとして構築されています。 FileTable 機能により、企業では SQL Server データベースで、非構造化ファイル データ、およびディレクトリ階層を格納することができます。 この機能によって、ファイルベース データの Windows アプリケーションの互換性や非トランザクション アクセスの要件に対応できます。

FILESTREAM と FileTable の比較

機能 ファイル サーバーとデータベース ソリューション FILESTREAM ソリューション FileTable ソリューション
管理タスクのシングル ストーリー いいえ はい はい
サービスの単一セット: 検索、レポート、クエリなど いいえ はい はい
統合セキュリティ モデル いいえ はい はい
FILESTREAM データのインプレース更新 はい いいえ はい
データベースで管理されるファイルおよびディレクトリの階層 いいえ いいえ はい
Windows アプリケーションの互換性 はい いいえ はい
ファイルの属性へのリレーショナル アクセス いいえ いいえ はい

FILESTREAM とリモート BLOB ストア (RBS) の比較

非構造化データを格納するためのもう 1 つのオプションには、リモート BLOB ストア (RBS) が含まれます。 詳細については、「Remote Blob Store (RBS) (SQL Server)」 (リモート BLOB ストア (RBS) (SQL Server)) を参照してください。

詳細情報

FILESTREAM (SQL Server)
FileTables (SQL Server)
リモート BLOB ストア (RBS) [SQL Server]