RBS の概要 (SharePoint Foundation 2010)

 

適用先: SharePoint Foundation 2010

この記事では、リモート BLOB ストレージ (RBS)、Microsoft SQL Server と共に Microsoft SharePoint Foundation 2010 を使用してデータベース ストレージ リソースを最適化する方法について説明します。

RBS を実装する前に、その潜在的なコストとメリットを評価することを強くお勧めします。SharePoint Foundation 2010 インストールで RBS を使用する方法に関する詳細および推奨事項については、「RBS を計画する (SharePoint Foundation 2010)」を参照してください。

注意

特に指定のない限り、この記事の情報は、FILESTREAM プロバイダーを使用する RBS にのみ適用されます。他のプロバイダー固有のガイダンスについては、プロバイダーのメーカーに問い合わせてください。

この記事の内容:

  • RBS について

  • RBS プロバイダー

  • SharePoint 2010 製品と共に RBS を使用する

RBS について

SharePoint Foundation 2010 におけるバイナリ ラージ オブジェクト (BLOB) は、データベースに格納され、その構造ではなくサイズと場所によって決まる巨大なデータの塊です。たとえば、Microsoft Office 2010 ドキュメント ファイルやビデオ ファイルがこれに該当します。非構造化データとも呼ばれるこれらの BLOB は、既定では、関連するメタデータ (構造化データ) と共に直接 SharePoint コンテンツ データベースに格納されます。こうした BLOB のサイズは非常に大きくなり得るため、コンテンツ データベースの外側に BLOB を格納したほうがよい場合があります。BLOB は不変です。したがって、BLOB の新しいコピーはその BLOB のバージョンごとに格納する必要があります。このため、データベースの使用率が増加すると、そこに格納されている BLOB データの合計サイズが急増して、そのデータベースに格納されているドキュメント メタデータやその他の構造化データの合計サイズを上回ることがあります。BLOB データは多くの領域を消費する可能性があり、データベース アクセス パターンのために最適化されているサーバー リソースを使用します。そのため、BLOB データを SQL Server データベースの外に出し、汎用の記憶域またはコンテンツ アドレッサブル ストレージ (CAS) に移すことが有効な場合があります。これを実行するには、RBS が使用できます。

RBS は、Microsoft SQL Server 2008 R2、SQL Server 2008 または Microsoft SQL Server 2008 R2 Express のアドオン機能パックとして組み込まれている Microsoft SQL Server ライブラリの API セットです。RBS の機能により、SharePoint Foundation 2010 のようなアプリケーションはコンテンツ データベースの外側の場所に BLOB を格納できます。BLOB を外部に格納すると、必要とされる SQL Server データベース記憶域の領域を減らすことができます。各 BLOB のメタデータは SQL Server データベースに格納され、BLOB は RBS ストアに格納されます。

SharePoint Foundation 2010 は、RBS の機能を使用して、BLOB をコンテンツ データベースの外側に格納します。SQL Server と SharePoint Foundation 2010 は連携して、データベース レコードと RBS 外部ストアのコンテンツ間のデータ整合性をデータベース単位で管理します。

RBS は、次のコンポーネントで構成されています。

  • RBS クライアント ライブラリ

    RBS クライアント ライブラリは、Microsoft SharePoint Foundation と共に BLOB ストレージを調整する管理されたライブラリ、SQL Server 2008 Express、および RBS プロバイダー コンポーネントで構成されます。

  • リモート BLOB ストレージ プロバイダー

    RBS プロバイダーは、管理されたライブラリ、および BLOB ストアと通信するネイティブ ライブラリのセット (オプション) で構成されます。

    RBS プロバイダーの例として、SQL FILESTREAM プロバイダーがあります。SQL FILESTREAM プロバイダーは、SQL Server 2008 Express と NTFS ファイル システムの組み合わせを使用して、BLOB データの保管と BLOB データへの効率的なアクセスを可能にする SQL Server 2008 Express の機能です。FILESTREAM の詳細については、「FILESTREAM の概要」(http://go.microsoft.com/fwlink/?linkid=166020&clcid=0x411) および「FILESTREAM Storage in SQL Server 2008 (英語)」(http://go.microsoft.com/fwlink/?linkid=165746&clcid=0x411) (英語) を参照してください。

  • BLOB ストア

    BLOB ストアは、BLOB データの格納に使用されるエンティティです。これは、コンテンツ アドレッサブル ストレージ (CAS) ソリューション、サーバー メッセージ ブロック (SMB) をサポートするファイル サーバー、または SQL Server データベースのいずれかになります。

RBS プロバイダー

RBS は、プロバイダーを使用して、RBS API を使用している任意の専用 BLOB ストアに接続します。SharePoint Foundation 2010 は、このようなプロバイダーを介して RBS API を使用することで BLOB データにアクセスする BLOB ストレージ実装をサポートします。RBS プロバイダーにはローカルとリモートの 2 種類があります。

RBS プロバイダーが BLOB データを保存する場所は、使用するプロバイダーに応じて変わります。FILESTREAM プロバイダーの場合、データは .mdf ファイルではなく、データベースに関連付けられた別のフォルダーに保存されます。

ローカル RBS プロバイダー

ローカル プロバイダーは、データベースの外側といっても SQL Server を実行しているのと同じサーバー上に BLOB を格納します。ローカルの RBS FILESTREAM プロバイダーを使用して、展開された BLOB データを別の (つまり、リソース消費のより少ない) ローカル ディスクに配置することで、リソースを節約できます。BLOB はメタデータと同じファイルグループに格納されるため、サーバーの全体管理におけるバックアップや復元といった SharePoint Server 2010 の機能を使用できます。

RBS FILESTREAM プロバイダーは Microsoft SQL Server 2008 R2 用 Feature Pack に含まれる SQL Server リモート BLOB ストア インストール パッケージを通じて使用できます。RBS FILESTREAM プロバイダーは、SQL Server FILESTREAM 機能を使用して、同じデータベースに接続されていてサーバー上にローカルに保存されている追加的なリソースに BLOB を格納します。FILESTREAM 機能は、基盤となる NTFS ファイル システムを使用して、SQL データベース内の BLOB を管理します。

重要

ローカル FILESTREAM プロバイダーは、ローカルのハードディスク ドライブまたは接続されている iSCSI (Internet Small Computer System Interface) デバイスで使用されている場合にのみサポートされます。ローカル RBS FILESTREAM プロバイダーをネットワーク接続ストレージ (NAS) などのリモート ストレージ デバイスで使用することはできません。

リモート RBS プロバイダー

リモート RBS プロバイダーは、BLOB を別のサーバーに格納します。通常、これはデータベース サーバーと同じネットワーク上にある別のボリュームです。

BLOB はメタデータと同じファイルグループには格納されないため、一部の SharePoint Foundation 2010 機能 (たとえば、サーバーの全体管理のバックアップや復元) は、リモート RBS プロバイダーでは使用できません。メタデータと BLOB は、別々に管理する必要があります。こうしたプロバイダーでどんな機能が使用できるのかの詳細については、プロバイダーの製造元に問い合わせてください。

SharePoint 2010 Products と共に RBS を使用する

SharePoint Foundation 2010 は、SQL Server 2008 R2 用 Feature Pack に含まれる SQL Server リモート BLOB ストア インストール パッケージ用 Feature Pack の SQL Server リモート BLOB ストア インストール パッケージに含まれている FILESTREAM プロバイダーをサポートしています。このバージョンの RBS は、「MicrosoftR SQL ServerR 2008 R2 用 Feature Pack」(http://go.microsoft.com/fwlink/?linkid=177388&clcid=0x411) で入手できます。このバージョンの RBS のみが SharePoint Foundation 2010 でサポートされている点に注意してください。それ以前のバージョンはサポートされていません。サード パーティの RBS プロバイダーを RBS API と組み合わせて使用し、SharePoint Foundation 2010 と互換性のある BLOB ストレージ ソリューションを作成することもできます。

SharePoint Foundation 2010 では、サイト コレクションのバックアップと復元、およびサイトのインポートまたはエクスポートを行うとき、使用している RBS プロバイダーに関係なく、ファイルのコンテンツがダウンロードされ、再度サーバーにアップロードされます。このプロセスは、ディープ コピーと呼ばれています。ただし、SharePoint 2010 Products のファーム データベースのバックアップと復元の操作でサポートされているプロバイダーは、現時点では FILESTREAM プロバイダーのみです。

RBS を使用するには、SharePoint Foundation 2010 がインストールされている各サーバーとそのトポロジ内の各データベース サーバーに RBS プロバイダーをインストールする必要があります。こうしたプロバイダーには、RBS API のメソッドを実装し、BLOB 外部化の実際の操作を実行する DLL のセットが含まれます。

RBS をリモート サーバー上で実行するには、データベースがメタデータの格納先になっている SQL Server を実行しているサーバー上で SQL Server 2008 R2 Enterprise を実行しておく必要があります。

SharePoint Foundation 2010 コンテンツ データベースとは別の RBS ストアに BLOB データを格納する予定の場合は、SQL Server 2008 SP1 (累積的な更新プログラム 2 を適用済み) を実行する必要があります。これは、すべての RBS プロバイダーについて言えます。

4 GB を超えるコンテンツ データベースを持つ Windows SharePoint Services 3.0 のスタンドアロン インストールから SharePoint Foundation 2010 へのアップグレードで推奨されている FILESTREAM プロバイダーは、データを現在のコンテンツ データベースにローカルで関連付けます。SQL Server Enterprise は必要ありません。

重要

RBS を使用すると BLOB データを外部に格納できますが、こうした BLOB については、Microsoft SharePoint 2010 製品 以外のいかなるツールや製品を使用したアクセスまたは修正もサポートされていません。すべてのアクセスは、SharePoint 2010 Products のみを使用して行う必要があります。

スタンドアロンの Windows SharePoint Services 3.0 では、コンテンツ データベースが Windows Internal Database に格納され、サイズの制限がありません。一方、SharePoint Foundation 2010 では、コンテンツ データベースが SQL Server 2008 Express に格納され、データベース 1 つあたりの最大サイズが 4 GB になっています。

SQL Server 2008 R2 Express は最大 10 GB のデータベースをサポートします。インストール環境に 4 GB から 10 GB の間のデータベースがある場合は、コンテンツ データベースのストレージ用に SQL Server 2008 R2 Express へアップグレードすることをお勧めします。SQL Server 2008 R2 Express は、以下のサイトから無償アップグレードとしてダウンロードおよびインストールできます。Microsoft® SQL Server® 2008 R2 用 Feature Pack (http://go.microsoft.com/fwlink/?linkid=177388&clcid=0x411)

10 GB 以上のコンテンツ データベースを使用していて、Windows SharePoint Services 3.0 からアップグレードする場合は、RBS を実装する必要があります。Microsoft SQL Server 2008 Standard または Microsoft SQL Server 2008 Enterprise を使用することもできます。

Windows SharePoint Services 3.0 から SharePoint Foundation 2010 へ RBS と共にアップグレードする方法の詳細については、コンテンツ データベースが 4 GB より大きい場合に Windows SharePoint Services 3.0 のスタンドアロン インストールから SharePoint Foundation 2010 にアップグレードする (リモート BLOB ストレージ)を参照してください。

See Also

Other Resources

FILESTREAM の概要
FILESTREAM Storage in SQL Server 2008 (英語)
Remote BLOB Store Provider Library Implementation Specification (英語)