17 IBM DB2 UDB

Oracle Data IntegratorでのIBM DB2 UDBの使用方法を理解することが重要です。

この章の内容は次のとおりです。

概要

Oracle Data Integrator (ODI)では、IBM DB2 UDBデータベースのデータがシームレスに統合されます。Oracle Data Integratorの機能(ジャーナル化、データ整合性チェックおよびマッピングなど)は、IBM DB2 UDBを使用した場合に最良の動作が得られるように設計されています。

概念

IBM DB2 UDBの概念は、Oracle Data Integratorの概念に次のようにマップされます。1つのIBM DB2 UDBデータベースは、Oracle Data Integratorの1つのデータ・サーバーに対応します。このサーバー内で、スキーマがOracle Data Integrator物理スキーマにマップされます。

Oracle Data Integratorでは、Java Database Connectivity (JDBC)を使用してIBM DB2 UDBデータベースに接続します。

ナレッジ・モジュール

Oracle Data Integratorには、IBM DB2 UDBデータを処理するためのナレッジ・モジュール(KM)が用意されています。これらのリストを表17-1に示します。これらのKMではIBM DB2 UDB固有の機能が使用されます。IBM DB2 UDBデータベースで汎用SQL KMを使用することもできます。詳細は、汎用SQLを参照してください。

表17-1 DB2 UDB KM

ナレッジ・モジュール 説明

IKM DB2 UDB Incremental Update

増分更新モードでIBM DB2 UDBのターゲット表にデータを統合します。このIKMにより、データ・フローをステージングするための一時ステージング表が作成されます。次に、挿入する必要があるレコードおよび更新する必要があるレコードを判別するために、その内容がターゲット表と比較されます。また、CKMを起動してデータ整合性チェックを実行することもできます。

挿入および更新は、最大のパフォーマンスを得るためにバルク・セットベースの処理で実行されます。そのため、このIKMは大量のデータ用に最適化されています。

IBM DB2 UDBのターゲット表をロードして、欠落しているレコードを挿入し、既存のレコードを更新する場合は、このIKMの使用を検討してください。

このIKMを使用するには、ステージング領域がターゲットと同じデータ・サーバー上にあることが必要です。

IKM DB2 UDB Slowly Changing Dimension

データ・ウェアハウスでタイプ2の緩やかに変化するディメンションとして使用されるIBM DB2 UDBのターゲット表に、データを統合します。このIKMは、ターゲット・データストアで設定される緩やかに変化するディメンション・メタデータに依存して、新しいバージョンとして挿入する必要があるレコード、または既存のバージョンとして更新する必要があるレコードを判別します。

挿入および更新はバルク・セットベースの処理で実行されるため、このIKMは大量のデータ用に最適化されています。

IBM DB2 UDBのターゲット表をタイプ2の緩やかに変化するディメンションとしてロードする場合は、このIKMの使用を検討してください。

このIKMを使用するには、ステージング領域がターゲットと同じデータ・サーバー上にあり、適切な緩やかに変化するディメンション・メタデータがターゲット・データストア上で設定されていることが必要です。

JKM DB2 UDB Consistent

トリガーを使用してIBM DB2 UDB表の一貫したジャーナル化を行うためのジャーナル化インフラストラクチャを作成します。

IBM DB2 UDBでの一貫性のあるチェンジ・データ・キャプチャを有効にします。

JKM DB2 UDB Simple

トリガーを使用してIBM DB2 UDB表の単純なジャーナル化を行うためのジャーナル化インフラストラクチャを作成します。

IBM DB2 UDBでの単純なチェンジ・データ・キャプチャを有効にします。

LKM DB2 UDB to DB2 UDB (EXPORT_IMPORT)

固有のEXPORT / IMPORTコマンドを使用して、IBM DB2 UDBソース・データベースからIBM DB2 UDBステージング領域データベースへデータをロードします。

このモジュールでは、EXPORT CLPコマンドを使用して一時ファイルにデータを抽出します。その後、IMPORT CLPコマンドを使用してターゲットのDB2 UDBステージング表にデータをロードします。この方法は通常、大量のデータを処理する場合に標準のLKM SQL to SQLより効率的です。

ソース表がDB2 UDBデータベースにあり、ステージング領域が異なるDB2 UDBデータベースにある場合は、このLKMの使用を検討してください。

LKM File to DB2 UDB (LOAD)

固有のCLP LOADコマンドを使用して、ファイルからDB2 UDBステージング領域データベースへデータをロードします。

このLKMでは、ファイルの種類(固定またはデリミタ付き)に応じて、適切なLOADスクリプトが一時ディレクトリに生成されます。その後、CLPによってこのスクリプトが実行され、実行終了時に自動的に削除されます。この方法では固有のIBM DB2ローダーが使用されるため、大量のデータを処理する場合は、標準のLKM File to SQLより効率的です。

ソースが大きいフラット・ファイルで、ステージング領域がIBM DB2 UDBデータベースの場合は、このLKMの使用を検討してください。

LKM SQL to DB2 UDB

任意のANSI SQL-92標準準拠ソース・データベースからIBM DB2 UDBステージング領域へデータをロードします。このLKMは、「汎用SQL」に記載されている標準のLKM SQL to SQLと似ていますが、IBM DB2 UDBの追加パラメータを指定できる点で異なります。

LKM SQL to DB2 UDB (LOAD)

CLP LOADコマンドを使用して、任意のANSI SQL-92標準準拠ソース・データベースからIBM DB2 UDBステージング領域へデータをロードします。

このLKMでは、一時ファイルにソース・データがアンロードされ、CLP LOADコマンドを使用してIBM DB2固有のローダーがコールされて、ステージング表が移入されます。この方法では固有のIBM DB2ローダーが使用されるため、通常、大量のデータを処理する場合は、LKM SQL to SQLまたはLKM SQL to DB2 UDBより効率的です。

汎用データベースに大量のソース・データがあり、ステージング領域がIBM DB2 UDBデータベースの場合は、このLKMの使用を検討してください。

SKM IBM UDB

IBM DB2 UDBデータベース用のデータ・アクセスWebサービスを生成します。詳細は、「汎用SQL」のSKM SQLの説明を参照してください。

固有の要件

IBM DB2 UDB用の一部のナレッジ・モジュールでは、オペレーティング・システムのコールを使用してIBM CLPコマンド・プロセッサを起動し、効率的なロードを実行します。このようなナレッジ・モジュールの使用時には、次の制限が適用されます。

  • Oracle Data Integratorのエージェントを実行するマシン上に、IBM DB2 UDB Command Line Processor (CLP)およびDB2 UDB Connectソフトウェアがインストールされている必要があります。

  • トポロジで定義されるサーバー名は、これらのサーバーに使用されるIBM DB2 UDBの接続文字列と一致する必要があります。

  • 一部のDB2 UDB JDBCドライバでは、ODIエージェントを実行するマシンにDB2 UDB Connectソフトウェアがインストールされている必要があります。

サポートされるデータ型の詳細は、IBM DB2 UDBのドキュメントを参照してください。