プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Data Integrator接続およびナレッジ・モジュール・ガイド
12c (12.2.1.2.6)
E85910-01
目次へ移動
目次

前
前へ
次
次へ

10 Netezza

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

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

10.1 概要

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

10.1.1 概念

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

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

10.1.2 ナレッジ・モジュール

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

表10-1 Netezza KM

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

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の使用を検討してください。

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

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

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

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

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

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

10.2.2 テクノロジ固有の要件

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

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

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

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

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

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

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

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

10.2.3 接続性要件

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

JDBCドライバ

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

10.3 トポロジの設定

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

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

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

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

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

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

『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で指定されたデータベースのみです。

10.3.2 Netezza物理スキーマの作成

『Oracle Data Integratorの管理』の物理スキーマの作成に関する項の説明に従って、標準の手順を使用してNetezza物理スキーマを作成します。

注意:

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

『Oracle Data Integratorの管理』の論理スキーマの作成に関する項の説明に従って、標準の手順を使用してこの物理スキーマ用の論理スキーマを作成し、特定のコンテキストで関連付けます。

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

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

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

  • CKM NetezzaIKM Netezza Control AppendIKM Netezza Incremental UpdateIKM Netezza To File (EXTERNAL TABLE)LKM File to Netezza (EXTERNAL TABLE)LKM File to Netezza (NZLOAD)RKM Netezza

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

この項では、次の項目について説明します。

10.5.1 Netezzaモデルの作成

『Oracle Data Integratorでの統合プロジェクトの開発』のモデルの作成に関する項の説明に従って、標準の手順を使用してNetezzaモデルを作成します。

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

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

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

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

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

Netezzaで標準のリバースエンジニアリングを実行するには、『Oracle Data Integratorでの統合プロジェクトの開発』のモデルのリバースエンジニアリングに関する項の説明に従って、通常の手順を使用します。

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

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

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

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

10.6 データ品質の設定

Oracle Data Integratorには、Netezza表で定義された制約と照合してデータの整合性をチェックするためのNetezza CKMが用意されています。詳細は、『Oracle Data Integratorでの統合プロジェクトの開発』のフロー制御および静的制御に関する項を参照してください。

10.7 マッピングの設計

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

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

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

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

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

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

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

10.7.1.2 Netezzaへのデータのロード

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

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

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

ファイル

LKM File to Netezza (EXTERNAL TABLE)

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

ファイル

LKM File to Netezza (NZLOAD)

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

10.7.2 Netezzaでのデータの統合

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

「統合ナレッジ・モジュール」タブのIKMの選択によって、統合のパフォーマンスおよび可能性が決まります。

表10-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オプションを使用して、外部表のテンプレートとして使用される表の名前が指定されます。