データ ウェアハウジングとレポート

データ ウェアハウジング アプリケーションやレポート アプリケーションでは、以下のような目的でレプリケーションがよく使用されます。

  • データを変換してデータ ウェアハウジング環境に移動できるように統合する。

  • データを読み取り専用のレポート用データベースに配信する。

  • データをオンライン分析処理 (OLAP) データベースに配信する。

レプリケーションでは Microsoft SQL Server 2008 Analysis Services (SSAS) オブジェクト (ディメンションやキューブなど) はレプリケートされませんが、オンライン トランザクション処理 (OLTP) データベースからステージング データベースやその他のデータベース (レポート、意思決定支援、分析などの目的に使用されるデータベース) にデータを配信するためによく使用されます。

次の図は、典型的なシナリオを表しています。ここでは、OLAP 分析と ROLAP 分析のために、オンライン処理サーバーからレポート サーバーとステージング サーバーの両方にデータがレプリケートされています。

レポート サーバーへのデータのレプリケーション

Adventure Works Cycles の例

Adventure Works Cycles は、データベースの概念とシナリオを説明するために使用する架空の製造会社です。詳細については、「AdventureWorks2008R2 サンプル データベース」を参照してください。

Adventure Works Cycles では、製造や人事を含む多くの部署でデータ ウェアハウジングとレポートを使用しています。

製造部では、製造欠陥やその他さまざまな品質およびパフォーマンスの基準に関する履歴データを保存しています。これらのデータは、製造施設のサーバーから本社のステージング サーバーにレプリケートされ、そこで変換されて分析用の OLAP キューブに読み込まれます。

人事部では、現在サードパーティのアプリケーションを使用してレポートを作成していますが、このアプリケーションを Reporting Services に置き換える計画を立てています。また、レポート機能を拡張して、次のような種類の分析を行えるようにしたいと考えています。

  • 給与と手当の分析 (国際為替相場の影響の分析を含む)

  • 人員調整計画

  • 人件費のシミュレーションと予測

レポートに対する社内ニーズの高まりを受けて、人事部では新しいサーバーをオンラインにすることにしました。データは、人事部やその他の部署から、この中央の読み取り専用レポート サーバーにレプリケートされます。

このシナリオの一般的な要件

データ ウェアハウジング アプリケーションとレポート アプリケーションには、一般的に以下のような要件があり、適切なレプリケーション ソリューションで対処する必要があります。

  • トランザクションの一貫性を保つ必要があります。

  • オンライン処理サーバーで行われた更新が速やかにステージング サーバーやレポート サーバーに反映されるように、待機時間を短くする必要があります。

  • 多数のトランザクションのレプリケーションを処理できる、高いスループットが必要です。

  • オンライン処理サーバーに対するレプリケーション処理のオーバーヘッドをできるだけ少なくする必要があります。

  • データ変更が伝達される方向は、オンライン処理サーバーからステージング サーバーとレポート サーバーへの一方向のみです。

  • ステージング サーバーとレポート サーバーで必要とされるデータは、オンライン処理サーバーで利用可能なデータのサブセットである可能性があります。

このシナリオで使用するレプリケーションの種類

SQL Server では、出版業界にたとえてレプリケーション システムのコンポーネントを表しています。コンポーネントには、パブリッシャ (出版社)、サブスクライバ (購読者)、パブリケーション (出版物) とアーティクル (記事)、およびサブスクリプション (定期購読物) があります。

上記の図では、オンライン処理サーバーがパブリッシャです。2 つのパブリケーション (ステージング用とレポート用) には、オンライン処理サーバーの一部またはすべてのデータが含まれます。各データ テーブルは、アーティクルです (アーティクルはストアド プロシージャなどの他のデータベース オブジェクトの場合もあります)。ステージング サーバーとレポート サーバーは、それぞれ対応するパブリケーションのサブスクライバです。これらは、サブスクリプションとしてスキーマとデータを受信します。システムのコンポーネントの詳細については、「レプリケーションのパブリッシング モデルの概要」を参照してください。

SQL Server では、さまざまなアプリケーション要件に対して各種のレプリケーション (スナップショット レプリケーション、トランザクション レプリケーション、およびマージ レプリケーション) を用意しています。このシナリオはトランザクション レプリケーションで最適に実装され、前のセクションで概説した要件によく適合します。トランザクション レプリケーションの詳細については、「トランザクション レプリケーションの概要」および「トランザクション レプリケーションの動作方法」を参照してください。

トランザクション レプリケーションは、以下に示すこのシナリオの主な要件に対応するように作られています。

  • トランザクションの一貫性

  • 短い待機時間

  • 高いスループット

  • 最小限のオーバーヘッド

このシナリオで考慮する必要がある主なオプションは、フィルタ選択です。トランザクション レプリケーションでは、ステージング サーバーとレポート サーバーのテーブルにアプリケーションで必要なデータのみが含まれるように、列や行をフィルタ選択することができます。詳細については、「パブリッシュされたデータのフィルター選択」を参照してください。

このシナリオの実装手順

このシナリオを実装するには、最初にパブリケーションとサブスクリプションを作成してから、各サブスクリプションを初期化してください。各手順の詳細については、以下のリンクをクリックしてください。

サブスクリプションの初期化が終わり、パブリッシャとサブスクライバ間でデータ フローが発生したら、共通の管理および監視作業の詳細について以下のトピックを参照してください。

関連項目

その他の技術情報