1 Oracle Data Integratorの概要

Oracle Data Integratorを使用して実行できることについて学習し、開始する前に重要な概念を理解します。

Oracle Data Integratorについて

Oracle Data Integratorの概要です。

Oracle Data Integrator (ODI)には、複雑なデータ・ウェアハウスを構築、デプロイおよび管理するため、あるいはSOAまたはビジネス・インテリジェンス環境のデータ集中型アーキテクチャの一部として、完全に統一されたソリューションが用意されています。さらに、データ統合のあらゆる要素(データの移動、データの同期化、データ品質、データ管理、データ・サービス)を組み合せて、複雑なシステムにおいて情報の迅速さ、正確さおよび一貫性を保証します。

従来のETL (Extract Transform Load)ツールは、まず様々なソースからデータを抽出し、次にステージング領域として使用される独自の中間層ETLエンジンでデータを変換し、最後に変換済データをターゲット・データ・ウェアハウス、統合サーバーまたはHadoopクラスタにロードします。このため、ETLという用語は、実行される操作の名前と順序の両方を表します。ODIは、様々なソースからデータを抽出し、変換されるターゲットにロードします。これは、E-LT (Extract, Load, Transform)と呼ばれます。

ODIの特徴は、データ統合のあらゆるスタイル(データ中心、イベント中心、サービス中心)を組み込んだアクティブな統合プラットフォームです。ODIでは、大量のデータの効率的な変換、高度なチェンジ・データ・キャプチャ(CDC)フレームワークによるリアルタイムのイベント処理、Oracle SOA Suiteに対するデータ・サービスの提供を行います。また、堅牢なデータ整合性制御機能によって、データの一貫性と正確性が保証されます。異種のE-LT、宣言的な設計、ナレッジ・モジュールなど、中核となる強力な差別化機能によって、ODIは、統合プラットフォームのパフォーマンス、柔軟性、生産性、モジュール性およびホットプラガブル性の要件を満たします。

『Oracle Data Integratorの理解』「Oracle Data Integratorの概要」 を参照してください。

Oracle Data Integratorリポジトリ

Oracle Data Integratorリポジトリの概要です。

Oracle Data Integrator (ODI)リポジトリは、マスター・リポジトリと少なくとも1つの作業リポジトリで構成されています。ユーザーを介して開発または構成されたオブジェクトは、これらのリポジトリ・タイプの1つに格納されます。OLTPリレーショナル・データベースにインストールされます。通常、セキュリティ情報、トポロジ情報およびバージョニングされたオブジェクトとアーカイブされたオブジェクトを格納するマスター・リポジトリが1つのみあります。作業リポジトリは、開発した実際のオブジェクトが格納されるリポジトリです。同じODIインストールに複数の作業リポジトリが共存可能です(たとえば、別々の環境を使用するため、または特定のバージョニング・ライフ・サイクルと一致させるため)。作業リポジトリには、モデル、プロジェクトおよびシナリオ実行に関する情報が格納されます。作業リポジトリは、その中に実行情報(通常は本番のための情報)のみが含まれる場合は、実行リポジトリと呼ばれます。

Oracle Data Integratorのリポジトリと接続の作成

Oracle Data Integratorナビゲータ

Oracle Data Integratorナビゲータの概要です。

ODI Studioには、ODI統合プロジェクトの様々な側面やステップを管理するための4つのナビゲータ(トポロジ・ナビゲータ、デザイナ・ナビゲータ、オペレータ・ナビゲータおよびセキュリティ・ナビゲータ)が用意されています。

トポロジ・ナビゲータは、情報システムの物理アーキテクチャと論理アーキテクチャを記述するデータを管理するために使用されます。これを使用すると、情報システムのトポロジ、テクノロジとそのデータ型、これらのテクノロジにリンクされているデータ・サーバーとその中に含まれているスキーマ、コンテキスト、言語とエージェント、リポジトリを管理できます。サイト、マシンおよびデータ・サーバーの説明によって、Oracle Data Integratorでは様々な環境で同じマッピングの実行が可能になります。

デザイナ・ナビゲータを使用して、データ整合性チェックを設計したり、既存のアプリケーションまたはデータベースの自動リバースエンジニアリング、変換およびマッピングのグラフィカル開発およびメンテナンス、マッピング内のデータ・フローの視覚化、自動ドキュメント生成および生成されたコードのカスタマイズなどの変換を作成します。処理する主要なオブジェクトは、モデルとプロジェクトです。

オペレータ・ナビゲータは、本番の管理およびモニタリング・ツールであり、IT本番オペレータ用に設計されています。これを使用すると、セッションの実行、および本番のシナリオを管理できます。

セキュリティ・ナビゲータは、ODIのセキュリティ情報を管理するためのツールです。これによりユーザーやプロファイルを作成し、汎用オブジェクトのメソッドに対するユーザー権限を割り当て、オブジェクト・インスタンスに対するこれらの権限を微調整できます。

Oracle Data Integratorのユーザー・インタフェース

Oracle Data Integratorランタイム・エージェント

Oracle Data Integratorランタイム・エージェントの概要です。

設計時に、開発者は、設計したビジネス・ルールからシナリオを生成します。これらのシナリオのコードは、ランタイム・エージェントによってリポジトリから取得されます。コードの取得後、このエージェントは、データ・サーバーに接続して、これらのサーバー上でコード実行を調整します。また、実行に関するリターン・コードやメッセージおよびリポジトリ内のその他のログ情報(処理レコード数、実行時間など)を取得します。

エージェントには、3つの異なるフレーバ(スタンドアロン・エージェント、スタンドアロン・コロケート・エージェントおよびJava EEエージェント)が用意されています。スタンドアロン・エージェントは、いずれかのデータ・サーバーに対してローカルなリソースを使用する必要があり、このマシンにJava EEアプリケーション・サーバーをインストールしない場合に適しています。スタンドアロン・コロケート・エージェントは、Java仮想マシンがインストールされている任意のサーバーにインストールできますが、WebLogic管理サーバーへの接続が必要です。データ・サーバーの1つにローカルなリソースを使用する必要があるが、すべてのアプリケーションの管理をエンタープライズ・アプリケーション・サーバーで一元化する場合は、このタイプのエージェントが適しています。Java EEエージェントは、WebアプリケーションとしてJava EEアプリケーション・サーバーにデプロイされ、アプリケーション・サーバーのすべての機能を利用できます。エンタープライズ・アプリケーション・サーバーにおけるすべてのアプリケーションのデプロイおよび管理を集中させる必要がある場合や、高可用性の要件がある場合、このタイプのエージェントはより適切です。

Oracle Data Integratorエージェント

Oracle Data Integratorデータ・サーバー

Oracle Data Integratorのデータ・サーバーについて学習します。

Oracle Data Integrator (ODI)で構造化データを格納および公開する物理コンポーネントは、データ・サーバーとして定義されます。各データ・サーバーは常に単一テクノロジにリンクしています。情報は、関連付けられた物理スキーマで宣言される特定の技術ロジックに従って格納されます。ODIで使用されるすべてのデータベース・サーバー、JMSメッセージ・ファイル、フラット・ファイルのグループ、または他の形式のデータ・ソースまたはターゲットを、データ・サーバーとして宣言する必要があります。同様に、ODIで使用されるすべてのスキーマ、データベース、JMSトピックなどは、物理スキーマとして宣言する必要があります。

データ・サーバー

Oracle Data Integratorモデル

Oracle Data Integratorモデルの概要です。

モデルは、一連のデータストアの記述です。それは、データ・サーバーに格納されている表データ構造のグループに対応しています。モデルは、トポロジに定義されている論理スキーマに基づいています。特定のコンテキストでは、この論理スキーマは物理スキーマにマップされます。物理スキーマのデータ・スキーマには、物理的なデータ構造(データストアとして表現される、表、ファイル、JMSメッセージ、XMLファイルの要素)が含まれています。モデルとそれらのコンポーネントすべては、リレーショナル・パラダイム(表、属性、キーなど)に基づいています。Oracle Data Integratorのモデルには、データ構造の記述であるメタデータのみが含まれています。これらのモデルには、実際のデータのコピーは含まれていません。

データストアをモデルに自動的に移入するには、モデルをリバースエンジニアリングします。標準リバースエンジニアリングでは、データ・サーバーの接続に使用するJDBCドライバの機能を使用して、モデルのメタデータを取得します。カスタマイズしたリバースエンジニアリングでは、リバースエンジニアリング・ナレッジ・モジュール(RKM)を使用して、特定タイプのテクノロジのメタデータを取得し、対応するデータストア定義をデータ・モデルに作成します。

モデル

Oracle Data Integratorデータストア

Oracle Data Integratorデータストアの概要です。

データストアは、マッピングでソースまたはターゲットとして使用できるデータ構造です。リレーショナル・データベースの表、HadoopクラスタのHive表、ASCIIまたはEBCDICファイル(デリミタ付きまたは固定長)、XMLファイルのノード、メッセージ指向ミドルウェアのJMSトピックまたはキュー、エンタープライズ・ディレクトリのノードまたはレコード配列形式のデータを戻すAPIなどが格納されます。基礎となるテクノロジに関係なく、Oracle Data Integratorでは、すべてのデータ・ソースが、同じ方法で操作および統合が可能なデータストアの形式で表示されます。データストアはデータ・モデルにグループ化されます。

データストア

Oracle Data Integratorデータ・フロー

Oracle Data Integratorのデータ・フローの概要です。

マッピングで定義されたビジネス・ルールはデータ・フローに自動的に変換され、データ・フローでは、ソース・データからターゲット表への結合、フィルタ、マッピングおよび制約が実行されます。

デフォルトでは、Oracle Data Integrator (ODI)でターゲットRDBMSがステージング領域として使用されます。この領域は、ソース・データを一時表にロードし、必要なすべてのマッピング、ステージング・フィルタ、結合および制約を適用するための領域です。ステージング領域は、ODIが一時オブジェクトを作成し、一部のルールを実行するRDBMSの個別の領域です(ユーザー/データベース)。このように操作を実行する場合、ODIではE-LT戦略が使用され、最初に一時表が抽出されてロードされた後、最後にターゲットRDBMSで変換が実行されます。

ソースのデータ量が少ない(500,000レコード未満)の場合、ステージング領域はODIのインメモリー・エンジン(そのインメモリーのリレーショナル・データベース)に配置できます。ODIは、従来のETLツールと同様に動作します。

データ・フロー

Oracle Data Integrator統合プロジェクト

Oracle Data Integratorの統合プロジェクトの概要です。

1つの統合プロジェクトに複数のタイプのコンポーネントで構成されています。これらのコンポーネントには、フォルダ、プロシージャ、パッケージなどの組織オブジェクトと、マッピング、順序、変数などの開発オブジェクトが含まれます。プロジェクトのコンポーネントは、プロジェクト内で定義することも、プロジェクトで参照されるグローバル・コンポーネントで定義することもできます。また、プロジェクトは、モデルおよびトポロジに定義されているコンポーネントを使用できます。

パッケージはODIの大きい実行単位です。パッケージは実行ダイアグラム内に編成された一連のステップで構成されます。各ステップは、成功または失敗の実行結果となります。ステップは、実行結果(成功または失敗)に従って別のステップに分岐できます。

開発が完了したパッケージ、マッピング、プロシージャまたは変数コンポーネントはシナリオにコンパイルされます。シナリオは、本番環境用の実行単位で、自動的に実行されるようにスケジュールできます。

プロジェクト

パッケージ

プロシージャ

Oracle Data Integratorマッピング

Oracle Data Integratorマッピングの概要です。

マッピングにより、結合、フィルタ、集計、設定、分割などのコンポーネントのフローを介してソースがターゲットに接続されます。マッピングは、統合プロセスの生成に使用されるナレッジ・モジュールを参照します。マッピングは、ソース・データストアとターゲット・データストアで構成されます。オプションで、データセットをマッピング内でデータ・ソースとして使用できます。データセットとは、マッピングの他の場所で使用されているフロー・メカニズムではなく結合およびフィルタとして宣言されたエンティティ関係によってデータストアを編成する論理コンテナです。

再使用可能マッピングはモジュラで、保存および再利用可能な、カプセル化されたコンポーネント・フローです。再使用可能マッピングは、別のマッピング内や別の再使用可能マッピング内に配置できます(つまり、再使用可能マッピングはネスト化が可能)。再使用可能マッピングには、他のマッピング・コンポーネントと同様にソースおよびターゲットとしてデータストアを含めることも可能です。

マッピング

Oracle Data Integratorナレッジ・モジュール

Oracle Data Integratorナレッジ・モジュールの概要です。

ナレッジ・モジュール(KM)は、統合プロセスが発生する方法を実装しています。それぞれが特定の統合タスクを参照する6つのナレッジ・モジュール・タイプがあります。
  • 異種システムのメタデータをOracle Data Integratorで使用するためのリバースエンジニアリング(RKM)。『Oracle Data Integratorでの統合プロジェクトの開発』データ・モデルおよびデータストアの作成および使用に関する項を参照してください。
  • 特定のシステムでチェンジ・データ・キャプチャ(CDC)を処理するジャーナル化ナレッジ・モジュール(JKM)。『Oracle Data Integratorでの統合プロジェクトの開発』ジャーナル化の使用に関する項を参照してください。
  • 統合ナレッジ・モジュール(IKM)は、特定の戦略(挿入/更新、緩やかに変化するディメンション)を使用して、ターゲット・システムでデータを統合するために、マッピングで使用されます。『Oracle Data Integratorでの統合プロジェクトの開発』マッピングの作成および使用に関する項を参照してください。
  • コントロール・ナレッジ・モジュール(CKM)は、データ・モデルの静的チェックおよびマッピング・フロー・チェックでデータ・フローのデータの整合性を制御します。『Oracle Data Integratorでの統合プロジェクトの開発』データ・モデルおよびデータストアの作成および使用に関する項を参照してください。
  • ロード・ナレッジ・モジュール(LKM)は、システムに最適な方法を使用して、あるシステムから別のシステムにデータをロードします。これらのKMはマッピングで使用されます。『Oracle Data Integratorでの統合プロジェクトの開発』マッピングの作成および使用に関する項を参照してください。
  • サービス・ナレッジ・モジュール(SKM)は、Webサービスの形式でデータを公開します。『Oracle Data Integratorの管理』データ・サービスの作成および使用に関する項を参照してください。

ナレッジ・モジュールは、特定の統合タスクのためのコード・テンプレートです。実行時に、Oracle Data Integratorはこのコードを実行用にソース・システムとターゲット・システムに送信します。また、ナレッジ・モジュールは完全に拡張可能です。このコードは開かれており、グラフィカル・ユーザー・インタフェースから編集できます。

ナレッジ・モジュール

Oracle Data Integratorシナリオ

Oracle Data Integratorシナリオについて学習します。

Oracle Data Integrator (ODI)では、パッケージ、プロシージャ、マッピングおよび変数のシナリオを生成できます。シナリオは開発作業リポジトリに保存され、他の開発リポジトリまたは実行リポジトリにエクスポートできます。これらはODI Studioまたはコマンドラインから実行できます。

シナリオ

Oracle Data Integratorロード計画

Oracle Data Integratorのロード計画の概要です。

Oracle Data Integratorを使用して非常に大規模なデータ・ウェアハウスに移入する場合、通常、多数のシナリオを使用して多数の表に移入します。これらのシナリオの実行は、ソースからターゲットへのデータ・スループットが、バッチ・ウィンドウ内で最も効率的になるような方法で編成する必要があります。ロード計画は、このようなユース・ケースについて、シナリオの実行を順次ステップおよびパラレル・ステップの階層に編成するために役立ちます。これには、パラレル、順次および条件付きのシナリオ実行、再開および例外処理の機能が用意されています。ロード計画は本番環境で作成および変更できます。

ロード計画

Oracle Data Integratorコンソール

Oracle Data Integratorコンソールの概要です。

Oracle Data Integratorコンソールでは、Oracle Data Integratorのランタイム・アーキテクチャを管理およびモニターしたり、Webベースのコンソール内でランタイム・オブジェクトを参照できます。これはOracle Fusion Middlewareコンソールと統合されるため、Fusion Middleware管理者はOracle Data Integratorのセッションおよびコンポーネントの詳細にアクセスできます。

コンソール