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]