Share via


Windows SharePoint Services の外部 BLOB ストレージの概要

Microsoft SQL Server は、SharePoint コンテンツ データベースの構造化データに対し非常に効率的なリソース管理を実現します。ただし、データ ファイルの大部分は構造化されていないバイナリ ファイル、つまりバイナリ ラージ オブジェクト (BLOB) データ ファイルです。SQL Server は、構造化データに比べバイナリ データに対して実現できる利点が少ないため、サーバー ファームではバイナリ データ ファイルの格納に外部データ ストアを使用することにより、費用を節約できる場合があります。

概要

SQL Server は、Windows SharePoint Services の構造化データに対し高パフォーマンスのリソース管理を実現します。SQL Server は、高速かつ効率的な SQL クエリ エンジンと、優れたクエリ ベースの構造化データ検索機能を提供します。

ただし、Windows SharePoint Services の典型的なエンタープライズ レベルの展開において、データの大部分は SharePoint ファイルに関連づけられた、構造化されていないバイナリ データ ストリームとして保存されます。SharePoint ファイルに対応する、このようなバイナリ ストリーム (BLOB) がデータの大半を占めることは少なくありません。

問題は、構造化されていないバイナリ データ ストリームを格納するのに SQL Server は最適なオプションではないということです。これは、構造化されていないバイナリ データが、高度な SQL クエリ環境に公開されないためです。事実、SQL Server の BLOB データを使用する保存と取得の操作は、簡単な get ステートメントや put ステートメントを使用するのとほとんど変わりません。したがって、BLOB データでは SQL Server の最も強力な機能の 1 つを利用できないことになり、クエリ エンジンおよび BLOB ストアとしての価値は限られたものになります。

解決策としては、外部 BLOB ストア (EBS) として機能する単純で費用効率が高いストレージ媒体を使用することが挙げられます。EBS は、サイトの構造化データを保存する SQL Server のコンテンツ データベースと並行して実行します。2 つのデータ ストア間を調整するには、COM インターフェイス (ISPExternalBinaryProvider) を実装する必要があります。これは、単純なセマンティクスを使用してファイルの Save コマンドと Open コマンドを認識します。BLOB データ ストリームを認識すると、BLOB ストアに対してリダイレクト コールを発行します。

このインターフェイスを実装する場合、外部 BLOB ストア プロバイダ (BLOB ストアでの保存や取得の操作を調整する EBS プロバイダ) として知られているオブジェクトを使用することができます。EBS プロバイダはまた、外部 BLOB ストアに存在する関連 BLOB ストリームのメタデータ参照情報が、SQL Server のコンテンツ データベースに含まれるようにします。

個々の SharePoint サイトにおいて、フロントエンド Web サーバーごとに EBS プロバイダのインストール、登録、および構成を行う必要があります。 これにより、インターフェイスで Save コマンドや Open コマンド (それぞれ、保存操作と取得操作を表します) が認識され、EBS プロバイダのリダイレクト コールが発行されるようになります。

展開場所に EBS を実装する際には多少のトレード オフが必要になることを理解しておいてください。操作上の制限とトレードオフ分析 に要約されている動作制限に加え、EBS プロバイダを実装することにより新たなサポート要件とメンテナンス要件に対応する必要があります。

See Also

概念

操作上の制限とトレードオフ分析

外部 BLOB ストレージのアーキテクチャ