次の方法で共有


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

最終更新日: 2009年10月1日

適用対象: SharePoint Foundation 2010

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

概要

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

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

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

解決策は、外部 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 プロバイダーを実装することにより新たなサポート要件とメンテナンス要件に対応する必要があります。

関連項目

概念

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

BLOB アクセス インターフェイス : ISPExternalBinaryProvider

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