ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Data Integrator接続およびナレッジ・モジュール・ガイド
11gリリース1(11.1.1)
B62261-01
  ドキュメント・ライブラリへ
ライブラリ
製品リストへ
製品
目次へ
目次

戻る
戻る
 
次へ
次へ
 

9 Netezza

この章では、Oracle Data IntegratorでのNetezzaの使用方法について説明します。

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

9.1 概要

Oracle Data Integrator(ODI)では、Netezzaデータベースのデータがシームレスに統合されます。Oracle Data Integratorの機能(リバース・エンジニアリング、データ整合性チェックおよび統合インタフェースなど)は、Netezzaを使用した場合に最良の動作が得られるように設計されています。

9.1.1 概念

Netezzaデータベースの概念は、Oracle Data Integratorの概念に次のようにマップされます。各NetezzaクラスタはOracle Data Integratorの1つのデータ・サーバーに対応します。このサーバー内で、データベースと所有者のペアは、1つのOracle Data Integrator物理スキーマにマップされます。

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

9.1.2 ナレッジ・モジュール

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

表9-1 Netezzaナレッジ・モジュール

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

CKM Netezza

Netezza表で定義された制約と照合して、データの整合性をチェックします。無効なレコードを拒否して、動的に作成されるエラー表に格納します。フロー制御および静的制御に使用できます。

IKM Netezza Control Append

置換/追加モードでNetezzaのターゲット表にデータを統合します。CKMを使用してフロー・データをチェックする必要がある場合は、CKMを起動する前に一時的なステージング表が作成されます。

IKM Netezza Incremental Update

増分更新モードでNetezzaのターゲット表にデータを統合します。

IKM Netezza To File(EXTERNAL TABLE)

Netezzaのステージング領域からターゲット・ファイルにデータを統合します。Netezza固有のEXTERNAL TABLE機能を使用します。

LKM File to Netezza(EXTERNAL TABLE)

EXTERNAL TABLE機能(dataobject)を使用して、ファイルからNetezzaサーバーのステージング領域へデータをロードします。

LKM File to Netezza(NZLOAD)

NZLOADを使用して、ファイルからNetezzaサーバー・ステージング領域へデータをロードします。

RKM Netezza

NetezzaデータベースからJDBCメタデータを取得します。このRKMを使用して、Netezza JDBCメタデータをOracle Data Integratorメタデータに変換するための独自の戦略を指定することも可能です。

Netezza JDBCドライバの特異性により、標準のJDBCリバースエンジニアリング・プロセスで問題が発生した場合は、このRKMの使用を検討してください。


9.2 インストールおよび構成

Netezzaナレッジ・モジュールの使用を開始する前に、この項の情報を必ず読んでください。

9.2.1 システム要件および動作要件

インストールを実行する前に、システム要件および動作要件のドキュメントを読んで、使用する環境がインストールする製品の最低インストール要件を満たすことを確認する必要があります。

サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Network(OTN)からアクセスできます。

http://www.oracle.com/technology/products/oracle-data-integrator/index.html

9.2.2 テクノロジ固有の要件

Netezzaの一部のナレッジ・モジュールでは、NZLOADユーティリティが使用されます。

これらのナレッジ・モジュールには、次の要件および制限が適用されます。

  • ソース・ファイルには、インタフェースを実行するODIエージェントからアクセスできる必要があります。

  • ランタイム・エージェント・マシンにNetezza Performance Serverクライアントがインストールされている必要があります。さらに、エージェントの起動時にNZLOADインストール・ディレクトリがPATH変数に含まれている必要があります。

  • すべてのマッピングがステージング領域にあることが必要です。

  • すべてのソース・フィールドがマップされ、Netezzaのターゲット表と同じ順序であることが必要です。

  • 日付、時間、タイムスタンプおよび数値書式の指定がNetezzaのデータ型定義と一致する必要があります。

EXTERNAL TABLE機能を使用するKMでは、Netezzaサーバーからファイルにアクセスできることを確認してください。

9.2.3 接続性要件

この項では、Netezzaデータベースに接続するための要件をリストします。

JDBCドライバ

Oracle Data Integratorでは、Netezza JDBCを使用してNCR Netezzaデータベースに接続します。このドライバをOracle Data Integratorのdriversディレクトリにインストールする必要があります。

9.3 トポロジの設定

トポロジの設定には次が含まれます。

  1. Netezzaデータ・サーバーの作成

  2. Netezza物理スキーマの作成

9.3.1 Netezzaデータ・サーバーの作成

各Netezzaデータ・サーバーは、特定のNetezzaユーザー・アカウントに接続された1つのNetezzaクラスタに対応します。このユーザーには、このクラスタの複数のデータベースへのアクセス権が付与されます。これらのデータベースは、データ・サーバーの下に作成されたOracle Data Integrator内の物理スキーマに対応します。

9.3.1.1 データ・サーバーの作成

『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のデータ・サーバーの作成に関する項に記載されている標準の手順で、Netezzaテクノロジ用データ・サーバーを作成します。この項では、Netezzaデータ・サーバーの定義に関する必須または固有のフィールドのみについて説明します。

  1. 「定義」タブ:

    • 名前: Oracle Data Integratorに表示されるデータ・サーバーの名前

    • サーバー: データ・サーバーの物理名

    • ユーザー/パスワード: Netezzaユーザーおよびそのパスワード

  2. 「JDBC」タブ:

    • JDBCドライバ: org.netezza.Driver

    • JDBC URL: jdbc:Netezza://<host>:<port>/<database>


注意:

Oracle Data Integratorが書込みアクセス権を持つのは、URLで指定されたデータベースのみです。

9.3.2 Netezza物理スキーマの作成

『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の物理スキーマの作成に関する項に記載されている標準の手順で、Netezza物理スキーマを作成します。


注意:

この構成を実行する場合は、作業データベースとデータ・データベースの名前を一致させる必要があります。また、Netezzaでは、ドル記号($)は名前に対して無効な文字です。作業表およびジャーナル化要素接頭辞からドル記号($)を削除してください。

『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の論理スキーマの作成に関する項に記載されている標準の手順で、この物理スキーマ用の論理スキーマを作成し、特定のコンテキストで関連付けます。

9.4 統合プロジェクトの設定

Netezzaデータベースを使用してプロジェクトを設定するには、標準の手順に従います。『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の統合プロジェクトの作成に関する項を参照してください。

Netezzaでの作業を開始するにあたり、使用するプロジェクトに次のナレッジ・モジュールをインポートすることをお薦めします。

9.5 Netezzaモデルの作成およびリバース・エンジニアリング

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

9.5.1 Netezzaモデルの作成

『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のモデルの作成に関する項に記載されている標準の手順で、Netezzaモデルを作成します。

9.5.2 Netezzaモデルのリバース・エンジニアリング

Netezzaでは、JDBCドライバの機能のみを使用する標準のリバース・エンジニアリング、およびカスタマイズされたリバース・エンジニアリングの両方がサポートされています。

通常は、標準のJDBCリバース・エンジニアリングを使用して作業を開始することを検討してください。

Netezza JDBCドライバの特異性によって、標準のJDBCリバース・エンジニアリング・プロセスで問題が発生した場合は、カスタマイズされたリバース・エンジニアリングへの切替えを検討してください。

標準のリバース・エンジニアリング

Netezzaで標準のリバース・エンジニアリングを実行するには、『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のモデルのリバース・エンジニアリングに関する項に記載されている通常の手順を行います。

カスタマイズされたリバース・エンジニアリング

RKMを使用して、Netezzaでカスタマイズされたリバース・エンジニアリングを実行するには、『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のモデルのリバース・エンジニアリングに関する項に記載されている通常の手順を行います。この項では、Netezzaテクノロジ固有のフィールドのみについて説明します。

  1. Netezzaモデルの「リバース」タブでKM: RKM Netezza.<project name>を選択します。

リバース・エンジニアリングによって、表、ビュー、列、キーおよび外部キーが戻されます。

9.6 データ品質の設定

Oracle Data Integratorには、Netezza表で定義された制約と照合してデータの整合性をチェックするためのNetezza CKMが用意されています。詳細は、『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の「フロー制御および統合後制御の設定」を参照してください。

9.7 インタフェースの設計

統合インタフェースのソース、ステージング領域またはターゲットとしてNetezzaを使用できます。

インタフェースまたはチェック用に選択したKMによって、このインタフェースまたはチェックの機能およびパフォーマンスが決まります。この項に示す推奨事項は、Netezzaデータ・サーバーに関連する様々な状況でのKMの選択に役立ちます。

9.7.1 Netezzaとの間でのデータのロード

インタフェースのソース、ターゲットまたはステージング領域としてNetezzaを使用できます。インタフェース・フロー・タブでの、Netezzaと別のタイプのデータ・サーバー間でデータをロードするためのLKMの選択は、インタフェースのパフォーマンスに関してきわめて重要です。

9.7.1.1 Netezzaからのデータのロード

汎用SQL KMまたは関係するもう一方のテクノロジ固有のKMを使用して、Netezzaデータベースからターゲットまたはステージング領域のデータベースへデータをロードします。

Netezzaのステージング領域からファイルへデータを抽出する場合は、IKM Netezza to File(EXTERNAL TABLE)を使用します。詳細は、9.7.2項「Netezzaでのデータの統合」を参照してください。

9.7.1.2 Netezzaへのデータのロード

Oracle Data Integratorには、ソースまたはステージング領域からNetezzaデータベースへデータをロードするための最適化されたメソッドを実装するナレッジ・モジュールが用意されています。これらの最適化されたNetezza KMを表9-2にリストします。これらのKM以外に、汎用SQL KMまたは関係するもう一方のテクノロジ固有のKMも使用できます。

表9-2 NetezzaにデータをロードするためのKM

ソースまたはステージング領域のテクノロジ KM 説明

ファイル

LKM File to Netezza(EXTERNAL TABLE)

Netezza External表機能を使用して、ファイルからNetezzaのステージング領域データベースへデータをロードします。

ファイル

LKM File to Netezza(NZLOAD)

NZLOADバルク・ローダーを使用して、ファイルからNetezzaステージング領域データベースへデータをロードします。


9.7.2 Netezzaでのデータの統合

Oracle Data Integratorには、Netezza用に最適化されたデータ統合戦略を実装するナレッジ・モジュールが用意されています。これらの最適化されたNetezza KMを表9-3にリストします。これらのKM以外に、汎用SQL KMも使用できます。

インタフェース・フロー・タブのIKMの選択によって、統合のパフォーマンスおよび可能性が決まります。

表9-3 Netezzaにデータを統合するためのKM

KM 説明

IKM Netezza Control Append

置換/追加モードでNetezzaのターゲット表にデータを統合します。

IKM Netezza Incremental Update

増分更新モードでNetezzaのターゲット表にデータを統合します。

このKMでは、DISTRIBUTE_ONオプションを実装して処理の分布を定義します。確実にデータを均等に拡散させて処理パフォーマンスを最大にするには、選択された列のカーディナリティが高い(つまり、区別される値が多数存在する)ことが重要です。

このような列の選択は、Netezzaの推奨に従ってください。有効なオプションは次のとおりです。

  • [PK]: ターゲット表の主キー

  • [UK]: インタフェースの更新キー

  • [RANDOM]: ランダム分布

  • <列のリスト>: カンマ区切りの列のリスト

値が設定されていない場合(空の場合)、索引は作成されません。

このKMでは、統合後にターゲット上で統計を生成するために、ANALYZE_TARGETオプションも使用されます。

IKM Netezza to File(EXTERNAL TABLE)

外部表を使用して、Netezzaのステージング領域からファイルへデータを統合します。

このKMでは、オプションのBASE_TABLEオプションを使用して、外部表のテンプレートとして使用される表の名前が指定されます。