Oracle® Fusion Middleware Oracle Data Integrator接続およびナレッジ・モジュール・ガイド 11gリリース1(11.1.1) B62261-01 |
|
![]() 戻る |
![]() 次へ |
この章では、Oracle Data IntegratorでのTeradataの使用方法について説明します。
この章の内容は次のとおりです。
Oracle Data Integrator(ODI)では、Teradataデータベースのデータがシームレスに統合されます。Oracle Data Integratorの機能(リバース・エンジニアリング、データ整合性チェックおよび統合インタフェースなど)は、Teradataを使用した場合に最良の動作が得られるように設計されています。
Teradataデータベースの概念は、Oracle Data Integratorの概念に次のようにマップされます。各TeradataサーバーはOracle Data Integratorの1つのデータ・サーバーに対応します。このサーバー内で、各データベースはOracle Data Integratorの1つの物理スキーマにマップされます。
Oracle Data Integratorでは、Java Database Connectivity(JDBC)およびTeradataユーティリティを使用して、Teradataデータベースに接続します。
Oracle Data Integratorには、Teradataデータを処理するためのナレッジ・モジュール(KM)が用意されています。これらのリストを表10-1に示します。これらのKMではTeradata固有の機能が使用されます。Teradataデータベースでは汎用SQL KMも使用できます。詳細は、第4章「汎用SQL」を参照してください。
表10-1 Teradataナレッジ・モジュール
ナレッジ・モジュール | 説明 |
---|---|
CKM Teradata |
Teradata表で定義された制約と照合して、データの整合性をチェックします。無効なレコードを拒否して、動的に作成されるエラー表に格納します。フロー制御および静的制御に使用できます。 |
IKM File to Teradata(TTU) |
このIKMは、Teradataユーティリティの能力を利用してファイルを直接ターゲットにロードするように設計されています。詳細は、10.8.2項「Teradataユーティリティのサポート」を参照してください。 |
IKM SQL to Teradata(TTU) |
Teradataユーティリティ(FastLoad、MultiLoad、TPumpまたはParallel Transporter)を使用して、SQL準拠のデータベースからTeradataデータベースのターゲット表へ、データを統合します。詳細は、10.8.2項「Teradataユーティリティのサポート」を参照してください。 |
IKM Teradata Control Append |
置換/追加モードでTeradataのターゲット表にデータを統合します。 |
IKM Teradata Incremental Update |
増分更新モードでTeradataのターゲット表にデータを統合します。 |
IKM Teradata Slowly Changing Dimension |
データ・ウェアハウスでタイプ2の緩やかに変化するディメンションとして使用されるTeradataのターゲット表に、データを統合します。 |
IKM Teradata to File(TTU) |
置換モードでTeradataのステージング領域からターゲット・ファイルにデータを統合します。詳細は、10.8.2項「Teradataユーティリティのサポート」を参照してください。 |
IKM Teradata Multi Statement |
1つのSQLトランザクションで管理される複数文リクエストを使用して、Teradataデータベース・ターゲット表にデータを統合します。詳細は、「複数文リクエストの使用」を参照してください。 |
IKM SQL to Teradata Control Append |
ANSI-92準拠ソース・データベースからTeradataターゲット表へ、切捨て/挿入(追加)モードでデータを統合します。 通常、このIKMはETL構成に使用されます。この構成では、ソース表とターゲット表は異なるデータベースにあり、インタフェースのステージング領域は、ソース表の論理スキーマまたは第3のスキーマに設定されます。 |
LKM File to Teradata(TTU) |
Teradataのバルク・ユーティリティを使用して、ファイルからTeradataステージング領域データベースへデータをロードします。詳細は、10.8.2項「Teradataユーティリティのサポート」を参照してください。 |
LKM SQL to Teradata(TTU) |
Teradataのネイティブ・バルク・ユーティリティを使用して、SQL準拠のソース・データベースからTeradataステージング領域データベースへデータをロードします。詳細は、10.8.2項「Teradataユーティリティのサポート」を参照してください。 |
RKM Teradata |
DBCシステム・ビューを使用して、Teradataデータベースからメタデータを取得します。RKMでは、UNICODEの列がサポートされます。 |
Teradataナレッジ・モジュールの使用を開始する前に、この項の情報を必ず読んでください。
インストールを実行する前に、システム要件および動作要件のドキュメントを読んで、使用する環境がインストールする製品の最低インストール要件を満たすことを確認する必要があります。
サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Network(OTN)からアクセスできます。
http://www.oracle.com/technology/products/oracle-data-integrator/index.html
Teradataの一部のナレッジ・モジュールでは、次のTeradataツールおよびユーティリティ(TTU)が使用されます。
FastLoad
MultiLoad
Tpump
FastExport
Teradata Parallel Transporter
これらのナレッジ・モジュールには、次の要件および制限が適用されます。
Teradataユーティリティを、Oracle Data Integratorエージェントを実行するマシンにインストールする必要があります。
トポロジで定義されるTeradataサーバーのサーバー名は、このサーバーに使用されるTeradata接続文字列(COP_n
postfixを除く)と一致する必要があります。
エージェントは、ターゲットのTeradataホストとは別のプラットフォームにインストールすることをお薦めします。エージェントがインストールされるマシンには、ターゲットTeradataサーバーへの非常に高いネットワーク・バンド幅が必要です。
IKM File to Teradata(TTU)およびLKM File to Teradata(TTU)では、TTUで統合されるファイルのエンコーディングを指定するためのファイル・キャラクタ・セットのエンコーディング・オプションがサポートされています。このオプションを設定しない場合は、デフォルトのTTUキャラクタ・セットが使用されます。キャラクタ・セットのエンコーディングの詳細は、Teradataのガイド『Getting Started: International Character Sets and the Teradata Database』を参照してください。
詳細は、Teradataのドキュメントを参照してください。
トポロジの設定には次が含まれます。
各Teradataデータ・サーバーは、特定のTeradataユーザー・アカウントに接続された1つのTeradataデータベースに対応します。このユーザーには、このTeradataシステムの複数のデータベースへのアクセス権が付与されます。これらのデータベースは、データ・サーバーの下に作成されたOracle Data Integrator内の物理スキーマに対応します。
『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のデータ・サーバーの作成に関する項に記載されている標準の手順で、Teradataテクノロジ用データ・サーバーを作成します。この項では、Teradataデータ・サーバーの定義に関する必須または固有のフィールドのみについて説明します。
「定義」タブ:
名前: Oracle Data Integratorに表示されるデータ・サーバーの名前
サーバー: データ・サーバーの物理名
ユーザー/パスワード: Teradataユーザーおよびそのパスワード
「JDBC」タブ:
JDBCドライバ: com.teradata.jdbc.TeraDriver
JDBC URL: jdbc:teradata://<host>:<port>/<server>
URLのパラメータは次のとおりです。
<host>
: Teradata JDBCゲートウェイ・マシンのネットワーク名またはIPアドレス
<port>
: ゲートウェイのポート番号(通常7060)
<server>
: 接続するTeradataサーバーの名前
『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の物理スキーマの作成に関する項に記載されている標準の手順で、Teradata物理スキーマを作成します。
『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の論理スキーマの作成に関する項に記載されている標準の手順で、この物理スキーマ用の論理スキーマを作成し、特定のコンテキストで関連付けます。
Teradataデータベースを使用してプロジェクトを設定するには、標準の手順に従います。『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の統合プロジェクトの作成に関する項を参照してください。
Teradataでの作業を開始するにあたり、使用するプロジェクトに次のナレッジ・モジュールをインポートすることをお薦めします。
CKM Teradata
IKM File to Teradata(TTU)
IKM SQL to Teradata(TTU)
IKM Teradata Control Append
IKM Teradata Incremental Update
IKM Teradata Multi Statement
IKM Teradata Slowly Changing Dimension
IKM Teradata to File(TTU)
IKM SQL to Teradata Control Append
LKM File to Teradata(TTU)
LKM SQL to Teradata(TTU)
RKM Teradata
この項の内容は次のとおりです。
『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のモデルの作成に関する項に記載されている標準の手順で、Teradataモデルを作成します。
Teradataでは、JDBCドライバの機能のみを使用する標準のリバース・エンジニアリング、およびDBCシステム・ビューを使用してTeradataデータベースからメタデータを取得するためのRKMを使用する、カスタマイズされたリバース・エンジニアリングの両方がサポートされています。
通常は、標準のJDBCリバース・エンジニアリングを使用して作業を開始することを検討してください。Teradataで標準のリバース・エンジニアリングを使用すると、表および列が取得されます。
カスタマイズされたリバース・エンジニアリングは、できるかぎり、それ以外のメタデータを取得する場合に使用してください。Teradataのカスタマイズされたリバース・エンジニアリングでは、表、ビュー、列、キー(1次索引および2次索引)および外部キーが取得されます。記述情報(列タイトルおよび簡単な説明)もリバースエンジニアリングされます。
標準のリバース・エンジニアリング
Teradataで標準のリバース・エンジニアリングを実行するには、『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のモデルのリバース・エンジニアリングに関する項に記載されている通常の手順を行います。
カスタマイズされたリバース・エンジニアリング
RKMを使用して、Teradataでカスタマイズされたリバース・エンジニアリングを実行するには、『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のモデルのリバース・エンジニアリングに関する項に記載されている通常の手順を行います。この項では、Teradataテクノロジ固有のフィールドのみについて説明します。
Teradataモデルの「リバース」タブでKM: RKM Teradata.<project name>
を選択します。
データベース内の既存のFK制約をリバース・エンジニアリングする場合は、REVERSE_FKSオプションをtrue
に設定します。
表制約をリバース・エンジニアリングする場合は、REVERSE_TABLE_CONSTRAINTSをtrueに設定します。
リバース・エンジニアリングによって、表、ビュー、列、キー(1次索引および2次索引)および外部キーが戻されます。記述情報(列タイトルおよび簡単な説明)もリバース・エンジニアリングされます。
一意索引は次のようにリバースされることに注意してください。
一意の1次索引は主キーとみなされます。
1次索引は一意でない索引とみなされます。
2次の一意の1次索引は、代替キーとみなされます。
2次の一意でない1次索引は、一意でない索引とみなされます。
標準のJDBCインタフェースでサポートされていない特定のTeradataメタデータ(1次索引など)を取得するには、このRKMを使用できます。
Oracle Data Integratorには、Teradata表で定義された制約と照合してデータの整合性をチェックするためのTeradata CKMが用意されています。詳細は、『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の「フロー制御および統合後制御の設定」を参照してください。
Oracle Data Integratorには、Teradataのチェックを実行するためのナレッジ・モジュールが用意されています。これらのリストを表10-2に示します。
統合インタフェースのソース、ステージング領域またはターゲットとしてTeradataを使用できます。また、Teradataテクノロジに基づくETL形式の統合インタフェースを作成することもできます。
インタフェースまたはチェック用に選択したKMによって、このインタフェースまたはチェックの機能およびパフォーマンスが決まります。この項に示す推奨事項は、Teradataデータ・サーバーに関連する様々な状況でのKMの選択に役立ちます。
インタフェースのソース、ターゲットまたはステージング領域としてTeradataを使用できます。インタフェース・フロー・タブでの、Teradataと別のタイプのデータ・サーバー間でデータをロードするためのLKMの選択は、インタフェースのパフォーマンスに関してきわめて重要です。
汎用SQL KMまたは関係するもう一方のテクノロジ固有のKMを使用して、Teradataデータベースからターゲットまたはステージング領域のデータベースへデータをロードします。
Teradataのステージング領域からファイルへデータを抽出する場合は、IKM File to Teradata(TTU)を使用します。詳細は、10.7.2項「Teradataでのデータの統合」を参照してください。
Oracle Data Integratorには、ソースまたはステージング領域からTeradataデータベースへデータをロードするための最適化された方法を実装するナレッジ・モジュールが用意されています。これらの最適化されたTeradata KMを表10-3にリストします。これらのKM以外に、汎用SQL KMまたは関係するもう一方のテクノロジ固有のKMも使用できます。
表10-3 TeradataにデータをロードするためのKM
ソースまたはステージング領域のテクノロジ | KM | 説明 |
---|---|---|
ファイル |
LKM File to Teradata(TTU) |
Teradataのバルク・ユーティリティを使用して、ファイルからTeradataステージング領域データベースへデータをロードします。 この方法では、固有のTeradataユーティリティを使用してステージング領域にファイルをロードするため、大量のデータを処理する場合は、標準のLKM File to SQLより効率的です。 ソースが大きいフラット・ファイルで、ステージング領域がTeradataデータベースの場合は、このLKMの使用を検討してください。 このKMでは、次のTeradataの最適化がサポートされます。
|
SQL |
LKM SQL to Teradata(TTU) |
Teradataのネイティブ・バルク・ユーティリティを使用して、SQL準拠のソース・データベースからTeradataステージング領域データベースへデータをロードします。 このLKMでは、ソース・データがファイルまたは名前付きパイプにアンロードされ、指定されたTeradataユーティリティがコールされてこのファイルまたはパイプからステージング表に移入されます。名前付きパイプを使用すると、データをファイルに書き込む必要がありません。このLKMは、非常に大量の場合にお薦めします。 次のような場合は、このIKMの使用を検討してください。
このKMでは、次のTeradataの最適化がサポートされます。
|
Oracle Data Integratorには、Teradata用に最適化されたデータ統合戦略を実装するナレッジ・モジュールが用意されています。これらの最適化されたTeradata KMを表10-4にリストします。これらのKM以外に、汎用SQL KMも使用できます。
インタフェース・フロー・タブのIKMの選択によって、統合のパフォーマンスおよび可能性が決まります。
表10-4 Teradataにデータを統合するためのKM
KM | 説明 |
---|---|
IKM Teradata Control Append |
置換/追加モードでTeradataのターゲット表にデータを統合します。CKMを使用してフロー・データをチェックする必要がある場合は、CKMを起動する前に一時的なステージング表が作成されます。 置換モードで(データ整合性チェックを行って、もしくは行わずに)Teradataのターゲット表をロードする場合は、このIKMの使用を検討してください。 このIKMを使用するには、ステージング領域がターゲットのTeradata表と同じデータ・サーバー上にあることが必要です。 このKMでは、次のTeradataの最適化がサポートされます。
|
IKM Teradata Incremental Update |
増分更新モードでTeradataのターゲット表にデータを統合します。このIKMは、データ・フローをステージングするための一時的なステージング表を作成します。その後、ステージング表の内容をターゲット表と比較して、挿入するレコードおよびそれ以外の更新するレコードを推測します。また、CKMを起動してデータ整合性チェックを実行できます。 挿入および更新は、最大のパフォーマンスを得るためにバルク・セットベースの処理で実行されます。そのため、このIKMは大量のデータ用に最適化されています。 Teradataのターゲット表をロードして、欠落しているレコードを挿入し、既存のレコードを更新する場合は、このIKMの使用を検討してください。 このIKMを使用するには、ステージング領域がターゲットと同じデータ・サーバー上にあることが必要です。 このKMでは、次のTeradataの最適化がサポートされます。
|
IKM Teradata Multi Statement |
1つのSQLトランザクションで管理される複数文リクエストを使用して、Teradataデータベース・ターゲット表にデータを統合します。 |
IKM Teradata Slowly Changing Dimension |
データ・ウェアハウスでタイプ2の緩やかに変化するディメンションとして使用されるTeradataのターゲット表に、データを統合します。このIKMは、ターゲット・データストアで設定される緩やかに変化するディメンション・メタデータに依存して、新しいバージョンとして挿入する必要があるレコード、または既存のバージョンとして更新する必要があるレコードを判別します。 挿入および更新はバルク・セットベースの処理で実行されるため、このIKMは大量のデータ用に最適化されています。 Teradataのターゲット表をタイプ2の緩やかに変化するディメンションとしてロードする場合は、このIKMの使用を検討してください。 このIKMを使用するには、ステージング領域がターゲットと同じデータ・サーバー上にあり、適切な緩やかに変化するディメンション・メタデータがターゲット・データストア上で設定されていることが必要です。 このKMでは、次のTeradataの最適化がサポートされます。
このKMには、COMPATIBLEオプションも含まれます。このオプションは、Teradataエンジンのメジャー・バージョン番号に対応します。このバージョンが12以上の場合、標準のINSERT文とUPDATE文ではなくMERGE文を使用して入力データ・フローがターゲット表にマージされます。 |
IKM Teradata to File(TTU) |
置換モードでTeradataのステージング領域からターゲット・ファイルにデータを統合します。このIKMでは、ステージング領域がTeradataにあることが必要です。Teradataのネイティブのユーティリティを使用してデータをターゲット・ファイルにエクスポートします。 データを変換してTeradataサーバーからターゲット・ファイルへエクスポートする場合は、このIKMの使用を検討してください。 このIKMを使用するには、ステージング領域がターゲットと異なる必要があります。ステージング領域は、Teradataの場所に設定する必要があります。 このKMでは、次のTeradataの最適化がサポートされます。
|
IKM File to Teradata(TTU) |
このIKMは、Teradataユーティリティの能力を利用してファイルを直接ターゲットにロードするように設計されています。制限により、ソースとして1つのファイル、およびターゲットとして1つのTeradata表のみを使用できます。 選択するユーティリティによって、置換モードまたは増分更新モードでデータを統合できます。 1つのフラット・ファイルをターゲット表にロードする場合は、このIKMの使用を検討してください。このIKMではTeradataユーティリティが使用されるため、大量のデータの処理に適しています。 このIKMを使用するには、ステージング領域をソース・ファイルのスキーマに設定する必要があります。 このKMでは、次のTeradataの最適化がサポートされます。
|
IKM SQL to Teradata(TTU) |
Teradataユーティリティ(TPUMP、FASTLOADまたはMULTILOAD)を使用して、SQL準拠のデータベースからTeradataデータベースのターゲット表へ、データを統合します。 このIKMは、Teradataユーティリティの能力を利用してソース・データを直接ターゲットにロードするように設計されています。このIKMを使用できるのは、すべてのソース表が同じデータ・サーバーに属し、このデータ・サーバーがステージング領域(ソース上のステージング領域)として使用される場合にかぎられます。ソース・データはファイルまたは名前付きパイプにアンロードされ、その後、選択されたTeradataユーティリティによってターゲット表に直接ロードされます。名前付きパイプを使用すると、データをファイルに書き込む必要がありません。このIKMは、非常に大量の場合にお薦めします。 選択するユーティリティによって、置換モードまたは増分更新モードでデータを統合できます。 次のような場合は、このIKMの使用を検討してください。
このIKMを使用するには、ステージング領域をソース・データ・サーバーのスキーマに設定する必要があります。 このKMでは、次のTeradataの最適化がサポートされます。
|
IKM SQL to Teradata Control Append |
ANSI-92準拠ソース・データベースからTeradataターゲット表へ、切捨て/挿入(追加)モードでデータを統合します。 通常、このIKMはETL構成に使用されます。この構成では、ソース表とターゲット表は異なるデータベースにあり、インタフェースのステージング領域は、ソース表の論理スキーマまたは第3のスキーマに設定されます。詳細は、10.7.3項「ETL形式インタフェースの設計」を参照してください。 |
緩やかに変化するディメンションの使用
緩やかに変化するディメンションを使用する場合は、ターゲット・データベースの各列に対して「緩やかに変化するディメンション」の値を必ず設定してください。この値は、「サロゲート・キー」、「自然キー」、列の上書きまたは挿入、「現在のレコード・フラグ」、「開始タイムスタンプ」および「終了タイムスタンプ」列を識別するために、IKM Teradata Slowly Changing Dimensionで使用されます。
複数文リクエストの使用
通常、複数文リクエストでは、単純なインタフェースのパラレル実行が可能になります。Teradataのパフォーマンスは、スキャンの同期化、および一時ジャーナルの回避によって向上します。
次のようにKMのオプションを設定します。
このKMを使用するインタフェースは、パッケージ内で使用する必要があります。
複数文を介して表をロードするパッケージの最初のインタフェースでは、INIT_MULTI_STATEMENTオプションをYES
に設定します。
複数文を介して表をロードする後続のインタフェースでは、このKMを使用して、INIT_MULTI_STATEMENTオプションをNO
に設定する必要があります。
最後のインタフェースでは、生成された複数文を実行するために、EXECUTEオプションをYES
に設定する必要があります。
STATEMENT_TYPEオプションで、各インタフェースの文のタイプ(挿入または更新)を指定します。
SQL_OPTIONオプションでは、問合せの最後に追加される追加のSQL文(例: QUALIFY句)を指定します。
複数文に関する次の制限に注意してください。
複数文がサポートされるのは、パッケージ内で使用する場合のみです。
一時索引はサポートされません。
行数に関して、更新は挿入とみなされます。
更新には単一のデータセットのみを含めることができます。
実行インタフェース(EXECUTE = YES)のみで行数がレポートされます。
ジャーナル化されたソース・データはサポートされません。
フロー制御および静的制御は、いずれもサポートされません。
SQL_OPTIONオプションは最後のデータセットのみに適用されます。
統合インタフェースの設計方法に関する一般的な情報は、『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の「統合インタフェースの使用」を参照してください。この項では、ステージング領域がTeradataデータベースまたは任意のANSI-92準拠データベースにあり、ターゲットがTeradataにあるETL形式インタフェースの設計方法について説明します。
ETL形式インタフェースでは、ターゲットとは異なるステージング領域内のデータが、ODIによって処理されます。Oracle Data Integratorでは、TeradataまたはANSI-92準拠のステージング領域からTeradataターゲットへデータをロードするための2つの方法が提供されます。
使用するKM戦略によって、フロー制御および静的制御がサポートされます。
複数接続IKMの使用
複数接続IKMでは、ステージング領域とソースが異なるデータ・サーバー上にある場合のターゲットへのデータ統合が可能です。
Oracle Data Integratorには、Teradataデータを処理するための複数接続IKMであるIKM SQL to Teradata Control Appendが用意されています。また、汎用SQL複数接続IKMも使用できます。詳細は、第4章「汎用SQL」を参照してください。
複数接続IKMを使用する状況の詳細は、表10-5を参照してください。
ETL形式インタフェースで複数接続IKMを使用するには、次のようにします。
『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のインタフェースの作成に関する項に記載されている標準の手順で、ステージング領域がANSI SQL-92準拠、およびターゲットがTeradata上にある統合インタフェースを作成します。この項では、ETL形式固有の手順のみを説明します。
インタフェース・エディタの「定義」タブで「ターゲットと異なるステージング領域」を選択し、ソース表の論理スキーマまたは第3のスキーマを選択します。
「フロー」タブで「ソース・セット」のいずれかのタイトルをクリックして、ソース・セット選択します。このオブジェクトのプロパティ・インスペクタが開きます。
ソースからステージング領域へロードするためのLKMをLKMセレクタ・リストから選択します。使用できるLKMは表10-5を参照してください。
必要な場合は、KMオプションを変更します。
「フロー」タブで「ターゲット」のタイトルをクリックしてターゲットを選択します。このオブジェクトのプロパティ・インスペクタが開きます。
プロパティ・インスペクタのIKMセレクタ・リストで、ステージング領域からターゲットへデータをロードするためのETL複数接続IKMを選択します。使用できるIKMは表10-5を参照してください。
IKM SQL to Teradata Control AppendのKMオプションを設定する際には、次の点に注意してください。
ターゲット・システム上に表を作成しない場合は、FLOW_CONTROL=false
を設定します。FLOW_CONTROL=false
の場合、データは直接ターゲット表に挿入されます。
FLOW_CONTROL=true
の場合、ターゲット表またはステージング領域にフロー表が作成されます。
以前の制御から拒否されたデータをリサイクルする場合は、RECYCLE_ERROR=true
を設定し、使用するインタフェースに対して更新キーを設定します。
LKMおよび単一接続IKMの使用
専用の複数接続IKMがない場合は、標準のエクスポートLKMと標準の単一接続IKMを組み合せて使用します。エクスポートLKMは、ステージング領域からターゲットへフロー表をロードするために使用します。単一接続IKMは、データ・フローをターゲット表に統合するために使用します。
Oracle Data Integratorでは、ETL形式インタフェースのソースおよびステージング領域として、任意のANSI SQL-92標準準拠テクノロジがサポートされています。ターゲットはTeradataです。
標準のLKMおよび単一接続IKMを組み合せて使用する状況の詳細は、表10-5を参照してください。
ETL形式インタフェースでLKMおよび単一接続IKMを使用するには、次のようにします。
『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のインタフェースの作成に関する項に記載されている標準の手順で、ステージング領域がANSI SQL-92準拠、およびターゲットがTeradata上にある統合インタフェースを作成します。この項では、ETL形式固有の手順のみを説明します。
インタフェース・エディタの「定義」タブで「ターゲットと異なるステージング領域」を選択し、ソース表の論理スキーマまたは第3のスキーマを選択します。
「フロー」タブで「ソース・セット」のいずれかを選択します。
プロパティ・インスペクタのLKMセレクタ・リストで、ソースからステージング領域へロードするためのLKMを選択します。使用できるLKMは表10-5を参照してください。
必要な場合は、KMオプションを変更します。
ステージング領域を選択します。プロパティ・インスペクタのLKMセレクタ・リストで、ステージング領域からターゲットへロードするためのLKMを選択します。使用できるLKMは表10-5を参照してください。
必要な場合は、オプションを変更します。
「ターゲット」のタイトルをクリックしてターゲットを選択します。このオブジェクトのプロパティ・インスペクタが開きます。
プロパティ・インスペクタのIKMセレクタ・リストで、ターゲットを更新するための標準の単一接続IKMを選択します。使用できるIKMは表10-5を参照してください。
表10-5 Teradataデータを使用するETL形式インタフェースのKMガイドライン
ソース | ステージング領域 | ターゲット | エクスポートLKM | IKM | KM戦略 | コメント |
---|---|---|---|---|---|---|
ANSI SQL-92標準準拠 |
ANSI SQL-92標準準拠 |
Teradata |
なし |
IKM SQL to Teradata Control Append |
複数接続IKM |
制御追加を実行する場合に推奨します。 フロー制御をサポートします。 |
ANSI SQL-92標準準拠 |
Teradataまたは任意のANSI SQL-92標準準拠データベース |
Teradataまたは任意のANSI SQL-92標準準拠データベース |
なし |
IKM SQL to SQL Incremental Update |
複数接続IKM |
ターゲット側一時オブジェクトでの増分更新戦略が可能です。ターゲット・サーバーで一時オブジェクトを作成できない場合に、このKMを使用します。 アプリケーションの更新は、ソースからターゲットへ直接行われ、ターゲット上に一時オブジェクトは作成されません。フロー表がターゲットではなくステージング領域に作成される構成は、データ量が少ない場合のみ使用してください。 フロー制御および静的制御をサポートします。 |
ANSI SQL-92標準準拠 |
TeradataまたはANSI SQL-92標準準拠 |
Teradata |
LKM SQL to Teradata(TTU) |
IKM Teradata Incremental Update |
LKM + 標準IKM |
|
ANSI SQL-92標準準拠 |
Teradata |
Teradata |
LKM SQL to Teradata(TTU) |
IKM Teradata Slowly Changing Dimension |
LKM + 標準IKM |
|
ANSI SQL-92標準準拠 |
ANSI SQL-92標準準拠 |
Teradata |
LKM SQL to Teradata(TTU) |
IKM SQL to Teradata(TTU) |
LKM + 標準IKM |
フロー制御を行わず、データが大量にある場合は、この戦略をお薦めします。 |
この項では、Oracle Data Integratorナレッジ・モジュールに含まれるTeradata専用の最適化について説明します。
この項の内容は次のとおりです。
Teradataのパフォーマンスは、1次索引に大きく依存します。Teradata KMでは、一時表およびターゲット表に対するカスタマイズされた1次索引(PI)がサポートされます。これはTeradata LKM、IKMおよびCKMに適用されます。一時表およびターゲット表に対する1次索引は、これらのKMでPRIMARY_INDEX KMオプションを使用して定義できます。これは次の値をとります。
[PK]
: PIは一時表またはターゲット表の主キーです。これはデフォルト値です。
[NOPI]
: 1次索引は指定されません(Teradata 13.0以上のみ)。
[UK]
: PIはインタフェースの更新キーです。これはデフォルト値です。
<Column list>: これは、カンマ区切りの列名のリストに基づく任意のPIです。
<Empty string>: 1次索引が指定されていません。TeradataエンジンでPIのデフォルト・ルール(一時表の最初の列)が使用されます。
選択したPI列についてTeradata MultiColumnStatisticsがオプションで収集されます。これは、COLLECT_STATS KMオプションで制御されます。デフォルトではtrueに設定されています。
Teradataユーティリティ(TTU)では、Teradataエンジンから、あるいはTeradataエンジンへデータを転送する効率的な方法が提供されます。TTUをサポートするLKMまたはIKMを使用する場合、TERADATA_UTILITYオプションを使用してデータをロードするための方法を設定できます。
Teradataターゲット(IKM)またはステージング領域(LKM)へデータをプッシュする場合、このオプションは次の値をとります。
FASTLOAD
: Teradata FastLoadを使用します。
MLOAD
: Teradata MultiLoadを使用します。
TPUMP
: Teradata TPumpを使用します。
TPT-LOAD
: Teradata Parallel Transporter(ロード・オペレータ)を使用します。
TPT-SQL-INSERT
: Teradata Parallel Transporter(SQL挿入オペレータ)を使用します。
Teradataからファイルへデータをプッシュする場合、このオプションは次の値をとります。
FEXP
: Teradata FastExportを使用します。
TPT
: Teradata Parallel Transporterを使用します。
TTU KMを使用する場合、KMパラメータも考慮する必要があります。
REPORT_NB_ROWS: このオプションを使用すると、ユーティリティで処理された行数が統合インタフェースの「警告」ステップでレポートされます。
SESSIONS: FastLoadセッションの数。
MAX_ALLOWED_ERRORS: 許容エラーの最大数。これは、FastLoad/MultiLoad/TPumpのERRLIMITコマンドおよびTPTのErrorLimit属性に相当します。
MULTILOAD_TPUMP_TYPE: MultiLoadまたはTPumpユーティリティで行われる処理。有効な値はINSERT
、UPSERT
およびDELETE
です。UPSERT
およびDELETE
の場合、インタフェースで更新キーが必要です。
ユーティリティとロード・オペレータの詳細と適切な選択については、Teradataのドキュメントを参照してください。
TTU KMを使用してSQLソースとTeradataとの間でデータを移動する場合、アンロード/ロード・プロセスでファイルのかわりに名前付きパイプを使用することでパフォーマンスが向上します。名前付きパイプは、NP_USE_NAMED_PIPEオプションをYES
に設定するとアクティブにできます。名前付きパイプを使用する場合、次のオプションも考慮する必要があります。
NP_EXEC_ON_WINDOWS: ランタイム・エージェントがWindowsプラットフォームで稼働する場合、このオプションをYES
に設定します。
NP_ACCESS_MODULE: 名前付きパイプで使用されるアクセス・モジュール。このアクセス・モジュールはプラットフォームに依存します。
NP_TTU_STARTUP_TIME: TTUでパイプを使用してデータを受信できる秒数。これは、KMでTTUを起動した時点とKMで名前付きパイプへのデータのプッシュを始めた時点との遅延です。この遅延は、マシンの負荷によって異なります。
Data Integrator一時ステージング表の作成および削除は、Teradataエンジンのリソースを消費する処理でもあります。ODI_DDL KMオプションでこれらのDDL操作を制御する方法が提供されます。次の値をとります。
DROP_CREATE: 実行のたびに常にすべての一時表を削除して再作成します(デフォルトの動作)。
CREATE_DELETE_ALL: 必要な場合(通常最初の実行時のみ)一時表を作成し、DELETE ALLを使用して一時表の内容を削除します。一時表は後続の実行で再利用されます。
DELETE_ALL: 一時表を作成しません。すべての一時表についてDELETE ALLを発行するのみです。
NONE: 一時表に対してDDLを発行しません。一時表は別途処理される必要があります。