11 Netezza
この章には次の項が含まれます:
11.1 概要
Oracle Data Integrator (ODI)では、Netezzaデータベースのデータがシームレスに統合されます。Oracle Data Integratorの機能(リバース・エンジニアリング、データ整合性チェックおよびマッピングなど)は、Netezzaを使用した場合に最良の動作が得られるように設計されています。
11.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データベースに接続します。
11.1.2 ナレッジ・モジュール
Oracle Data Integratorには、Netezzaデータを処理するためのナレッジ・モジュール(KM)が用意されています。これらのリストを表11-1に示します。これらのKMでは、Netezza固有の機能が使用されます。Netezzaデータベースでは、汎用SQL KMを使用することもできます。詳細は、汎用SQLを参照してください。
表11-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の使用を検討してください。 |
11.2 インストールおよび構成
Netezzaナレッジ・モジュールの使用を開始する前に、この項の情報を必ず読んでください。
11.2.1 システム要件および動作要件
インストールを実行する前に、システム要件および動作要件のドキュメントを読んで、使用する環境がインストールする製品の最低インストール要件を満たすことを確認する必要があります。
サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Network (OTN)からアクセスできます。
http://www.oracle.com/technetwork/middleware/data-integrator/documentation/index.html。
11.2.2 テクノロジ固有の要件
Netezzaの一部のナレッジ・モジュールでは、NZLOADユーティリティが使用されます。
これらのナレッジ・モジュールには、次の要件および制限が適用されます。
-
ソース・ファイルには、マッピングを実行するODIエージェントからアクセスできる必要があります。
-
ランタイム・エージェント・マシンにNetezza Performance Serverクライアントがインストールされている必要があります。さらに、エージェントの起動時にNZLOADインストール・ディレクトリがPATH変数に含まれている必要があります。
-
すべてのマッピングがステージング領域にあることが必要です。
-
すべてのソース・フィールドがマップされ、Netezzaのターゲット表と同じ順序であることが必要です。
-
日付、時間、タイムスタンプおよび数値書式の指定がNetezzaのデータ型定義と一致する必要があります。
EXTERNAL TABLE機能を使用するKMでは、Netezzaサーバーからファイルにアクセスできることを確認してください。
サポートされるデータ型の詳細は、Netezzaのドキュメントを参照してください。
11.3 トポロジの設定
トポロジの設定には次が含まれます。
11.3.1 Netezzaデータ・サーバーの作成
1つのNetezzaデータ・サーバーは、特定のNetezzaユーザー・アカウントに接続された1つのNetezzaクラスタに対応します。このユーザーは、データ・サーバーの下に作成されたOracle Data Integratorの物理スキーマに対応する、このクラスタの複数のデータベースにアクセスできます。
11.3.1.1 データ・サーバーの作成
『Oracle Data Integratorの管理』のデータ・サーバーの作成に関する項に記載されている標準の手順で、Netezzaテクノロジ用データ・サーバーを作成します。この項では、Netezzaデータ・サーバーの定義に関する必須または固有のフィールドのみについて説明します。
ノート:
Oracle Data Integratorが書込みアクセス権を持つのは、URLで指定されたデータベースのみです。
11.3.2 Netezza物理スキーマの作成
『Oracle Data Integratorの管理』の物理スキーマの作成に関する項の説明に従って、標準の手順を使用してNetezza物理スキーマを作成します。
ノート:
この構成を実行する場合は、作業データベースとデータ・データベースの名前を一致させる必要があります。また、Netezzaでは、ドル記号($)は名前に対して無効な文字です。作業表およびジャーナル化要素接頭辞からドル記号($)を削除してください。
『Oracle Data Integratorの管理』の論理スキーマの作成に関する項の説明に従って、標準の手順を使用してこの物理スキーマ用の論理スキーマを作成し、特定のコンテキストで関連付けます。
11.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
11.5 Netezzaモデルの作成およびリバース・エンジニアリング
この項には次のトピックが含まれます:
11.5.1 Netezzaモデルの作成
『Oracle Data Integratorでの統合プロジェクトの開発』のモデルの作成に関する項の説明に従って、標準の手順を使用してNetezzaモデルを作成します。
11.5.2 Netezzaモデルのリバース・エンジニアリング
Netezzaでは、JDBCドライバの機能のみを使用する標準のリバース・エンジニアリング、およびカスタマイズされたリバース・エンジニアリングの両方がサポートされています。
通常は、標準のJDBCリバース・エンジニアリングを使用して作業を開始することを検討してください。
Netezza JDBCドライバの特異性によって、標準のJDBCリバース・エンジニアリング・プロセスで問題が発生した場合は、カスタマイズされたリバース・エンジニアリングへの切替えを検討してください。
標準のリバース・エンジニアリング
Netezzaで標準のリバース・エンジニアリングを実行するには、『Oracle Data Integratorでの統合プロジェクトの開発』のモデルのリバース・エンジニアリングに関する項の説明に従って、通常の手順を使用します。
カスタマイズされたリバース・エンジニアリング
RKMを使用してNetezzaでカスタマイズされたリバース・エンジニアリングを実行するには、『Oracle Data Integratorでの統合プロジェクトの開発』のモデルのリバース・エンジニアリングに関する項の説明に従って、通常の手順を使用します。
- Netezzaモデルの「リバース・エンジニアリング」タブで
KM: RKM Netezza.<project name>
を選択します。
リバース・エンジニアリングによって、表、ビュー、属性、キーおよび外部キーが戻されます。
11.6 データ品質の設定
Oracle Data Integratorには、Netezza表で定義された制約と照合してデータの整合性をチェックするためのNetezza CKMが用意されています。詳細は、『Oracle Data Integratorでの統合プロジェクトの開発』のフロー制御および静的制御に関する項を参照してください。
11.7 マッピングの設計
マッピングのソース、ステージング領域またはターゲットとしてNetezzaを使用できます。
マッピングまたはチェック用に選択したKMによって、このマッピングまたはチェックの機能およびパフォーマンスが決まります。この項に示す推奨事項は、Netezzaデータ・サーバーに関連する様々な状況でのKMの選択に役立ちます。
11.7.1 Netezzaとの間でのデータのロード
マッピングのソース、ターゲットまたはステージング領域としてNetezzaを使用できます。「ロード・ナレッジ・モジュール」タブでの、Netezzaと別のタイプのデータ・サーバー間でデータをロードするためのLKMの選択は、マッピングのパフォーマンスに関してきわめて重要です。
11.7.1.1 Netezzaからのデータのロード
汎用SQL KMまたは関係するもう一方のテクノロジ固有のKMを使用して、Netezzaデータベースからターゲットまたはステージング領域のデータベースへデータをロードします。
Netezzaのステージング領域からファイルへデータを抽出する場合は、IKM Netezza to File (EXTERNAL TABLE)を使用します。詳細は、「Netezzaでのデータの統合」を参照してください。
11.7.1.2 Netezzaへのデータのロード
Oracle Data Integratorには、ソースまたはステージング領域からNetezzaデータベースへデータをロードするための最適化されたメソッドを実装するナレッジ・モジュールが用意されています。これらの最適化されたNetezza KMを表11-2にリストします。これらのKM以外に、汎用SQL KMまたは関係するもう一方のテクノロジ固有のKMも使用できます。
表11-2 NetezzaにデータをロードするためのKM
ソースまたはステージング領域のテクノロジ | KM | ノート |
---|---|---|
ファイル |
LKM File to Netezza (EXTERNAL TABLE) |
Netezza External表機能を使用して、ファイルからNetezzaのステージング領域データベースへデータをロードします。 |
ファイル |
LKM File to Netezza (NZLOAD) |
NZLOADバルク・ローダーを使用して、ファイルからNetezzaステージング領域データベースへデータをロードします。 |
11.7.2 Netezzaでのデータの統合
Oracle Data Integratorには、Netezza用に最適化されたデータ統合戦略を実装するナレッジ・モジュールが用意されています。これらの最適化されたNetezza KMを表11-3にリストします。これらのKM以外に、汎用SQL KMも使用できます。
「統合ナレッジ・モジュール」タブのIKMの選択によって、統合のパフォーマンスおよび可能性が決まります。
表11-3 Netezzaにデータを統合するためのKM
KM | ノート |
---|---|
IKM Netezza Control Append |
置換/追加モードでNetezzaのターゲット表にデータを統合します。 |
IKM Netezza Incremental Update |
増分更新モードでNetezzaのターゲット表にデータを統合します。 このKMでは、処理の分布を定義するためのDISTRIBUTE_ONオプションが実装されます。処理パフォーマンスを最大にするためにデータを均等に分散するには、カーディナリティが高い(区別される値が多数存在する)列を選択することが重要です。 このような列の選択は、Netezzaの推奨に従ってください。有効なオプションは次のとおりです。
値が設定されていない場合(空の場合)、索引は作成されません。 このKMでは、統合後にターゲット上で統計を生成するために、ANALYZE_TARGETオプションも使用されます。 |
IKM Netezza to File (EXTERNAL TABLE) |
外部表を使用して、Netezzaのステージング領域からファイルへデータを統合します。 このKMでは、オプションのBASE_TABLEオプションを使用して、外部表のテンプレートとして使用される表の名前が指定されます。 |