異種データの統合
ここでは、Microsoft SQL Server のレプリケーション テクノロジを使用して、SQL Server データベースとサポートされる Oracle および IBM DB2 のデータベースのデータを統合する方法について簡単に説明します。
多くの企業や組織では、重要なデータが複数の製造元のデータベースに格納されています。組織の処理の自動化に着手する際、異種データベースのデータを他のプロセスと比較したり共有したりすることがよく必要になります。多くの場合、データベース システムには直接的な互換性がなく、使用しているオペレーティング システムがすべて同じでないことも少なくありません。このようなシナリオを、一般に異種データ環境と呼びます。
SQL Server には、Integration Services や PowerPivot など、異種データの統合に役立つ機能が用意されています。また、SQL Server のレプリケーション機能を使用してサーバー間でデータをレプリケートすることで異種データを統合することもできます。SQL Server では、Oracle および IBM の特定のデータベースとの異種データのレプリケーションをサポートしています。
レプリケーションを使用すると、次のようないくつかの方法で異種データを統合できます。
SQL Server データベースへのレプリケート可能なデータのパブリッシャーとして Oracle データベースを使用できます。
IBM および Oracle のデータベースへのレプリケート可能なデータのパブリッシャーまたはディストリビューターとして SQL Server を使用します。次の図は、SQL Server パブリッシャーから IBM DB2 サブスクライバーおよび Oracle サブスクライバーへのレプリケーションを示しています。
Oracle から SQL Server サブスクライバーにデータをパブリッシュした後に、そのデータを SQL Server から Oracle サブスクライバーまたは IBM サブスクライバーに配信できます。このシナリオでは、データは最初に SQL Server データベースにレプリケートされ、次に SQL Server、IBM DB2、Oracle などの他のデータベースにレプリケートされます。
注 Oracle から IBM サブスクライバーまたは Oracle サブスクライバーに直接レプリケートすることは SQL Server ではサポートされていません。
以下の図は、Oracle データベースから他のデータベースへのデータのレプリケーションを示しています。パブリケーションには、Oracle データベースの一部またはすべてのデータが含まれます。データは最初に、ディストリビューターとして構成されている SQL Server にレプリケートされ、次に他の SQL Server、IBM、Oracle のデータベースに配信されます。各データベースは、パブリケーションのサブスクライバーで、サブスクリプションとしてスキーマとデータを受信します。
異種トポロジにおける SQL Server のレプリケーションには、次のような制約があります。
トランザクション レプリケーションおよびスナップショット レプリケーションがサポートされています。マージ レプリケーションはサポートされていません。
プッシュ サブスクリプションまたはプル サブスクリプションのいずれかを使用できます。ピア ツー ピア サブスクリプションはサポートされていません。
Oracle データベースは、SQL Server に対するパブリッシャーまたはサブスクライバーになることができます。
IBM データベースは、常に SQL Server に対するサブスクライバーになります。IBM DB2 から SQL Server にパブリッシュすることはサポートされていません。
異種トポロジにおけるレプリケーションの詳細については、「異種データベース レプリケーション」を参照してください。
使用するレプリケーションの種類の選択
SQL Server では、異種環境におけるさまざまなアプリケーション要件に対する各種のレプリケーションを用意しています。
アプリケーションで増分変更が発生するたびにそのレプリケーションが必要な場合は、トランザクション レプリケーションを使用します。
Oracle パブリッシングの場合、トランザクション レプリケーションでは、トリガーと変更の追跡テーブルを使用してパブリッシャー側で変更を追跡しています。トランザクション レプリケーションの詳細については、「トランザクション レプリケーションの概要」、「トランザクション レプリケーションの動作方法」、および「Oracle パブリッシャのトランザクション レプリケーション ワークフロー」を参照してください。
アプリケーションで頻繁にデータをレプリケートする必要がない場合、または増分更新を使用せずに定期的に更新する必要がある場合は、スナップショット レプリケーションを使用します。
スナップショット レプリケーションでは、増分更新の追跡と配信を行わないので、パブリッシュされたテーブルにトリガーが使用されません。スナップショット レプリケーションの詳細については、「トランザクション レプリケーションの概要」および「トランザクション レプリケーションの動作方法」を参照してください。
スナップショット レプリケーションとトランザクション レプリケーションはどちらも、以下に示すさまざまな異種統合シナリオの主な要件に対応しています。
異なる製造元のデータベース間でのレプリケーション
トランザクションの一貫性
最小限のオーバーヘッド
トランザクション レプリケーションでは、増分更新を必要とするシステムの以下の追加要件に対応します。
短い待機時間
高いスループット
異種統合ソリューションを実装する手順
詳細については、以下のリンクをクリックしてください。
Oracle パブリッシング:
Oracle サブスクライバーおよび IBM DB2 サブスクライバー :
サブスクリプションの初期化が終わり、パブリッシャーとサブスクライバー間でデータ フローが発生したら、共通の管理および監視作業の詳細について以下のトピックを参照してください。