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

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

適用対象: SharePoint Foundation 2010

外部のバイナリ ラージ オブジェクト (BLOB) ストア プロバイダー、または EBS Provider (ISPExternalBinaryProvider) では、構造化されていないバイナリ ストリームを外部 BLOB ストアに格納、または外部 BLOB ストアから取得できます。これにより、外部 BLOB ストアは、アプリケーションの構造化データを含む Microsoft SQL Server コンテンツ データベースと平行して動作することができます。ただし、EBS Provider は (設計上) 比較的単純なので、操作する上での制限があります。さらに、EBS Provider をインストールおよび有効化することで SharePoint の展開が複雑になるため、バックアップおよび復元操作、ガベージ コレクション、その他の展開要素に影響が出ます。

制限要素とトレードオフの問題

SharePoint の展開に EBS Provider を実装する上で、考慮すべき重要な問題の一部を以下に挙げます。

  • 外部 BLOB ストアのデータ ストリームは、変更および更新できません。変更や更新を行えないようにすることで、SQL Server コンテンツ データベースと並行する外部 BLOB ストアとの間でファイル レベルのトランザクションの一貫性が保てます。

    編集または更新された SharePoint ファイルが保存されても、EBS Provider は既存の BLOB を上書きしません。代わりに、EBS Provider は新しい BLOB ストリームを作成し、外部 BLOB ストアに格納します。元の BLOB を参照するメタデータ、およびその BlobId は、SQL Server データベースから削除されます。その後、EBS Provider は、(新しい BlobId を使用して) 新しい参照を作成し、新しく作成した BLOB を関連付けます。

    当然、孤立した BLOB が外部 BLOB ストアに蓄積されることになります。システムにおける BLOB データの更新頻度によっては、孤立した BLOB の数は簡単に増加します。このため、更新頻度を分析および特定し、外部 BLOB ストアの効率を維持するのに十分なスケジュールでガベージ コレクションを導入する必要があります (詳細については、「レイジー ガベージ コレクションを実装する」を参照してください)。

    注意

    ガベージ コレクション自体が、外部 BLOB ストアにとっても SQL Server コンテンツ データベースにとっても、リソースへの負荷の高い操作なので、使用状況がピークになる期間にアプリケーション リソースと競合しないように、ガベージ コレクションをスケジュールする必要があります。

  • 現在のリリースの外部 BLOB ストレージ機能は、Microsoft Office および SharePoint Foundation の次回のフル バージョン リリースで採用される外部 BLOB ストレージ技術と、構文的な一貫性はなくなる予定です。そのような互換性が設計目標ではないため、現行バージョンを使用した実装が、今後のバージョンの Microsoft Office または SharePoint Foundation と互換性があるという保証はありません。

  • 現行バージョンでは、外部 BLOB ストレージは、ファーム (SPFarm) の範囲でのみサポートされています。さらに、ファーム内の各フロントエンド Web サーバーに EBS Provider をインストールして設定し、有効にしておく必要があります。

  • EBS Provider の使用で発生する、または外部 BLOB ストア自体に発生する、エラー状態、リソース障害、またはシステム遅延は、一般的に SharePoint サイトのパフォーマンスに影響します。

  • BLOB データをコンテンツ データベースから外部 BLOB ストアに移動するためのユーティリティはありません。したがって、初めて EBS Provider をインストールして有効にするときは、現在コンテンツ データベースに保存されている既存の BLOB を外部 BLOB ストアに手動で移動する必要があります。この方法は 2 つあります。

    • SPSiteCollection オブジェクトでサイト レベルのバックアップを使用し、メソッドを復元すると、データ ストア全体をバックアップおよび復元できます。全データをバックアップした後で EBS Provider をインストールして有効にすると、復元操作を呼び出したとき、EBS Provider は、構造化データをコンテンツ データベースの適切なテーブルにルーティングする一方で、BLOB ストリームを外部 BLOB ストアにルーティングします。

    • 2 番目の予備的な方法は、このセクションの前半で説明した問題に依存します。ファイルが更新されるたびに新しい BLOB データ ストリームが外部 BLOB ストアに保存されるため、EBS Provider をインストールして有効にし、通常のファイル更新プロセスを実行するだけで、それまでコンテンツ データベースに保持されていたバイナリ ファイルが外部 BLOB ストアに徐々に格納されていきます。更新されたファイルが外部 BLOB ストアにルーティングされると、そのファイルの前のバージョンはコンテンツ データベースから自動的に削除されます。

  • EBS Provider で外部 BLOB ストアを使用する場合、SharePoint Foundation のバックアップおよび復元機能の一部は、コンテンツ データベースでは動作するものの外部 BLOB ストアでは動作しないため、バックアップと復元の手順、および障害復旧のための準備を再設計する必要があります。外部 BLOB ストアは別個に扱う必要があります。

関連項目

参照

SPFarm

SPSiteCollection

概念

レイジー ガベージ コレクションを実装する