RBS の概要 (SharePoint Server 2010)

 

適用先: SharePoint Server 2010

トピックの最終更新日: 2016-11-30

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

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

注意

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

この記事の内容

  • RBS について

  • RBS プロバイダー

  • SharePoint 2010 製品での RBS の使用

RBS について

SharePoint Server 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 Server 2010 のようなアプリケーションはコンテンツ データベースの外側の場所に BLOB を格納できます。BLOB を外部に格納すると、必要とされる SQL Server データベース記憶域の領域を減らすことができます。各 BLOB のメタデータは SQL Server データベースに格納され、BLOB は RBS ストアに格納されます。

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

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

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

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

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

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

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

  • BLOB ストア

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

RBS プロバイダー

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

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

ローカル RBS プロバイダー

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

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

重要

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

リモート RBS プロバイダー

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

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

SharePoint 2010 Productsでの RBS の使用

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

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

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

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

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

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

重要

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

See Also

Other Resources

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