Oracle Warehouse Builderは、従来のデータ・ウェアハウスも含めて、様々なタイプのデータ管理方針を設計および配布できる柔軟なツールです。この章では、Oracleデータ・ウェアハウスを作成するための基本的な最短手順の概要を説明します。この章は、Warehouse Builderを初めて使用する際の開始ポイントであり、このドキュメントへのロード・マップとしての役割も果します。
この章の内容は次のとおりです。
Oracle Warehouse Builderは、複雑なデータ・システム設計の実装を支援する一連のグラフィカル・ユーザー・インタフェースから構成されます。設計は、中央リポジトリにメタデータとして保存されます。
Warehouse Builderリポジトリと呼ばれる中央リポジトリは、Oracle Databaseにホストされます。デザイン・センターは、Warehouse Builderリポジトリのビジュアル表現を提供するインタフェースです。デザイン・センターを使用して、表やビューなどのソース・オブジェクトをインポートし、マッピングなどのETLプロセスを設計し、最終的にターゲット・ウェアハウスを設計します。
マッピングは、ソースからターゲットへのデータの流れを定義するオブジェクトです。マッピング設計に基づいて、Warehouse BuilderはETLロジックの実装に必要なコードを生成します。Warehouse Builderは、マッピングに対してPL/SQL、SQL*LoaderまたはABAPコードを生成できます。
マッピングの設計を完了し、たとえばWarehouse Builderにコードの生成を要求したら、次にマッピングを配布します。配布は、デザイン・センターで生成した関連するメタデータおよびコードをターゲット・スキーマにコピーするプロセスです。ターゲット・スキーマはデザイン・センターで設計したETLロジックを実行するデータベースとして汎用的に定義されます。特に、従来のデータ・ウェアハウスの実装では、データ・ウェアハウスはターゲット・スキーマであり、2つの用語には互換性があります。
図2-1に配布プロセスを示します。この図では、ターゲット・スキーマおよびリポジトリは同じOracle Database上に存在しますが、実際はターゲット・スキーマはしばしば別のデータベース上に存在します。設計オブジェクトを配布し、生成されたコードを後で実行するには、コントロール・センター・マネージャを使用します。コントロール・センター・マネージャはコントロール・センター・サービスを介してターゲット・スキーマと相互作用するクライアント・インタフェースです。
前に述べたように、デザイン・センターはプライマリ・ユーザー・インタフェースです。そこからコントロール・センター・マネージャなどのすべてのクライアント・ベース・ツールを起動できるという点で、中央インタフェースでもあります。セカンダリ・ユーザー・インタフェースは、Webベースのリポジトリ・ブラウザです。設計メタデータの参照と実行データの監査に加えて、レポートを表示および作成できます。リポジトリ・ブラウザで限定的な系統影響分析を実行することもできます。ただし、デザイン・センターには、より高度で対話的な系統および影響分析の機能があります。
Warehouse Builderは、データ・ウェアハウスを作成するために使用します。次に推奨ステージを示します。
前提作業
Warehouse Builderクライアントの各コンポーネントを使用するには、最初に、Warehouse Builderリポジトリへのアクセスを確認します。このリポジトリは、設計したシステムのメタデータを格納するOracleデータベース・スキーマです。
Warehouse Builderの使用を開始するには、次の手順を実行します。
Oracle Warehouse Builderインストレーションおよび管理ガイドの説明に従って、Warehouse Builderソフトウェアをインストールし、リポジトリを作成します。
管理者によって、すでにサーバーとクライアントのインストールが完了している場合は、リポジトリへのログインに必要な接続情報をその管理者に問い合せてください。
図2-2に示すように、デザイン・センターを起動します。
Windowsプラットフォームの場合は、「スタート」メニューから「プログラム」を選択します。Warehouse Builderがインストールされている「Oracleホーム」から「Warehouse Builder」→「デザイン・センター」の順に選択します。
Linuxプラットフォームの場合は、Warehouse Builder用のOracleホームのowb/bin/unixディレクトリにあるowbclient.sh
を起動します。
図2-2に、3つのエクスプローラで最上位レベル・フォルダがそれぞれ展開されているデザイン・センターを示します。
ステージ1: Warehouse Builderデザイン・センターの準備
データ・ウェアハウスのデータと設計を統合するには、図2-2に示されているプロジェクト・エクスプローラと接続エクスプローラを主に利用します。
プロジェクト・エクスプローラでは、Warehouse BuilderはMY_PROJECTという単一のデフォルト・プロジェクトを作成します。このプロジェクトには、作成またはインポートできる各タイプの設計オブジェクトのノードが含まれています。
接続エクスプローラは、Warehouse Builderリポジトリからデータベース、データ・ファイルおよびアプリケーションへの接続を確立するために使用するウィンドウです。
デザイン・センターを準備するには、次の手順を実行してください。
クライアント・プリファレンスの設定を必要に応じて調整するか、デフォルトのプリファレンスの設定を受け入れて次の手順に進みます。
デザイン・センターのメイン・メニューから「ツール」→「プリファレンス」の順に選択します。
新規ユーザーの場合は、必要に応じて、「環境プリファレンス」、「外観プリファレンス」にある「ロケール」および「ネーミング・プリファレンス」にある「ネーミング・モード」を設定します。すべてのプリファレンスの詳細は、「プリファレンスの設定」を参照してください。
ソース・データ・オブジェクトとターゲット・データ・オブジェクトに接続します。
これらの接続は、接続エクスプローラでロケーションを定義して確立します。「ロケーション」ノードと、そのノード内の各ノードを開いて、Warehouse Builderからアクセスできるソースおよびターゲットのタイプを全般的に理解します。
ロケーションを作成するには、適切なノードを右クリックして「新規」を選択します。必要な接続情報を入力して「接続テスト」を選択します。この手順では、ソースおよびターゲットへの接続のみを確立します。後続の手順を実行するまで、データまたはメタデータを移動しないでください。
ロケーションの詳細は、「ロケーションについて」を参照してください。
設計環境を編成します。
デフォルトのプロジェクトのMY_PROJECTに問題がない場合は、次の手順に進みます。
追加のプロジェクトはいつでも定義できます。定義した各プロジェクトは、データベース、ファイル、アプリケーションなどに対する各ノードを伴い、図に示す「MY_PROJECT」と同じ形式で編成されます。別の編成では、「プロジェクトおよびコレクションへの設計オブジェクトの編成」の説明に従って、オプションのコレクションの作成を検討してください。
Oracleデータベース・ターゲットを識別します。
フラット・ファイルはターゲットとして使用できますが、最も一般的な推奨例は、次の手順に従って、Oracleスキーマをデータ・ウェアハウス・ターゲットとして使用することです。
Oracleターゲットを定義するには、最初にモジュールを作成します。モジュールはプロジェクト・エクスプローラにあるグループ化機能で、接続エクスプローラにあるロケーションに対応しています。Oracleターゲット・モジュールは、Warehouse Builderでユーザーが最初に作成するモジュールです。
プロジェクト・エクスプローラで「データベース」ノードを開きます。「Oracle」を右クリックして、「新規」を選択します。モジュールの作成ウィザードが表示されます。モジュール・タイプを「ターゲット」に設定し、モジュールが開発、品質保証、本番のいずれの環境で使用されるかを指定します。このモジュール・ステータスは説明のみであり、次に実行する手順とは関係がありません。
このウィザードを完了すると、ターゲット・モジュールが複数のノードを伴って表示されます。これらのノードは、マッピング、変換、表、キューブおよびターゲット・ウェアハウスの設計に利用する他の様々なタイプのオブジェクトに対するノードです。
データ・ソース用に個別のOracleモジュールを作成します(オプション)。
必要に応じて、別のOracleモジュールを作成してOracleソース・データを格納できます。または単純に次の手順に進みます。
実行環境を指定します。
また、接続エクスプローラの下にある「コントロール・センター」ノードに注意してください。「コントロール・センター」はOracle Databaseスキーマです。このスキーマは、後続の手順に従ってデザイン・センターで設計するETLジョブの実行を管理します。
インストール時に、Warehouse Builderでは、ポジトリとして同じデータベース上にDEFAULT_CONTROL_CENTER
スキーマが作成されます。
デフォルトの実行環境を使用する場合は、次の手順に進みます。または、新しい「コントロール・センター」を随時定義できます。詳細および手順は、「ターゲット・スキーマへの配布およびETLロジックの実行」を参照してください。
開発、テストおよび本番の各環境を準備します(オプション)。
ここまでの手順では、単一の実行環境に対応した単一プロジェクトの作成について説明しました。ただし、このプロジェクトの論理設計は、テスト環境や本番環境など、異なる物理環境で再使用できます。
「追加構成の作成」の説明に従って、単一のデータ・システムを複数の異なるホスト・システムまたは様々な環境に配布します。
ステージ 2: ソース・メタデータのインポート
様々なデータ・ソースからメタデータをインポートします。
プロジェクト・エクスプローラで、ノードを選択し、データの最終的な抽出元のロケーションを決定します。ここで、各関連ロケーションのモジュールを作成します。モジュールを作成した後で、モジュールを右クリックし、「インポート」を選択して、関連ロケーションからメタデータを抽出します。Warehouse Builderは、データのインポート・プロセスをガイドするウィザードを起動します。
データ・オブジェクトのインポートの例および詳細は、「データ・ソースの識別およびメタデータのインポート」を参照してください。
インポートしたメタデータに対応するデータをプロファイリングします(オプション)。
次の手順に進む前に、データ品質を確認するためにデータ・プロファイリングのオプションを使用することを検討してください。詳細は、「データの品質管理の理解」を参照してください。
ステージ3: Oracle Data Warehouseの設計
Oracleターゲット・モジュールにデータ・オブジェクトを作成して設計します。
前の手順で、既存のターゲット・オブジェクトはすでにインポートしています。新規のターゲット・オブジェクトについては、表4-1にリストされているディメンション・オブジェクトまたはリレーショナル・オブジェクトを設計します。
データ・オブジェクトを作成するには、適切なウィザードを起動するか、またはデータ・オブジェクト・エディタを使用できます。ウィザードを使用するには、目的のオブジェクトのノードを右クリックし、「新規」を選択します。ウィザードを使用した後、そのオブジェクトはエディタで変更できます。その場合は、該当するオブジェクトを右クリックし、「エディタを開く」を選択します。
詳細は、第4章「ターゲット・スキーマの設計」を参照してください。
データ・ウェアハウスを設計する際は、設計オブジェクトを頻繁に検証してください。
オブジェクトは、作成時に検証することも、オブジェクトのグループでまとめて検証することもできます。プロジェクト・エクスプローラで、1つ以上のオブジェクトまたはモジュールを選択して「検証」アイコンをクリックします。
「検証結果」ウィンドウのメッセージを確認します。エラーを修正して再度検証を試みます。
最新の検証結果を後で再表示するには、「表示」メニューから「検証メッセージ」を選択します。
ターゲット・オブジェクトの設計に問題がなければ、コードを生成します。
生成により後の手順で使用するDDLスクリプトやPL/SQLスクリプトが生成されます。次の手順ではターゲット・スキーマにデータ・オブジェクトを作成します。
データ・エディタでは、「生成」アイコンをクリックすると単一のオブジェクトのコードを生成できます。
プロジェクト・エクスプローラで、1つ以上のオブジェクトまたはモジュールを選択し、「生成」アイコンをクリックします。生成結果ウィンドウでメッセージを確認します。後で最新の生成結果を再度表示するには、「表示」メニューで「生成済スクリプト」を選択します。
生成されたスクリプトをファイルとして保存でき、オプションで、Warehouse Builderを外部に配布できます。
ソースからターゲット・オブジェクトへのデータ・フローを定義するマッピングを設計します。
プロジェクト・エクスプローラで、Oracleターゲット・モジュールを開き、「マッピング」ノードを右クリックして「新規」を選択します。
マッピング・エディタを使用すると、データのフローを視覚的に定義できます。キャンバスに演算子をドラッグ・アンド・ドロップし、その演算子に接続する線を描画できます。
マッピングを定義する手順に従って、最後にマッピングのコードを生成します。
マッピング間の依存性を管理するには、「プロセス・フローの設計」を参照してください。
ステージ4: データ・ウェアハウスの設計と実装の配布
配布は、デザイン・センターで生成した関連するメタデータおよびコードをターゲット・スキーマにコピーするプロセスです。この手順は、ターゲット・スキーマによるマッピングなどのETLロジックの実行の有効化に必要です。
データ・ウェアハウス設計を配布および実行するには、次の手順を実行します。
デザイン・センターまたはコントロール・センター・マネージャのいずれかからオブジェクトを配布します。
この時点で、ターゲット・スキーマにオブジェクトを定義します。この操作は1回のみ行います。
最も単純なアプローチは、オブジェクトを選択し、「配布」アイコンをクリックして、デザイン・センターから直接配布することです。この場合、Warehouse Builderではデフォルトの配布設定を使用してオブジェクトを配布できます。
または、Warehouse Builderがオブジェクトを配布する方法をより正確に制御し、フィードバックを得るには、「デザイン・センター」メニューで「ツール」を選択し、コントロール・センター・マネージャを選択します。
デザイン・センターまたはコントロール・センター・マネージャからオブジェクトを配布する場合、すべての関連付けられたオブジェクトを配布する必要があります。たとえば、マッピングを配布する場合、定義した表などのターゲット・データ・オブジェクトや関連付けられたプロセス・フロー、またはその他のマッピングにも配布します。
詳細は、「ターゲット・スキーマへの配布およびETLロジックの実行」を参照してください。
ETLロジックを実行し、ターゲット・ウェアハウスを移入します。
この時点で、データを初めて移動します。ターゲットを新しいデータでリフレッシュするたびにこの手順を繰り返します。
マッピングおよびプロセス・フローでETLロジックを実行するには2つのオプションがあります。「スケジュールの定義および使用のプロセス」の説明に従って、スケジュールを作成および配布できます。または、「ETLジョブの開始」の説明に従って、手動でジョブを実行することもできます。
ロケーションを使用すると、Warehouse Builderでデータを抽出およびロードするためにアクセスする様々なファイル、データベースおよびアプリケーションに対する接続情報を格納できます。同様に、ロケーションには、ETL管理ツールおよびビジネス・インテリジェンス・ツールに対する接続情報も格納されます。詳細なリストは、「サポートされているソースおよびターゲット」を参照してください。
Oracleデータベース・ロケーションおよびファイル・ロケーションは、ソース、ターゲットまたはその両方に使用できます。たとえば、一時表またはステージ表を格納するためのターゲットとしてロケーションを使用できます。後でそのロケーションを、最終的なターゲット・スキーマを移入するためのソースとして再使用できます。
フラット・ファイル・データがある場合など、与えられたソースのデータおよびメタデータは別々に格納される場合があります。この場合、データとメタデータそれぞれにロケーションを作成します。
ロケーション、パスワードおよびセキュリティについて
すべてのWarehouse Builderユーザーがロケーション内の接続情報を表示できるようにすることを考慮すると、パスワードは常に暗号化されている必要があります。さらに、Warehouse Builder管理者は、ロケーションをユーザー間で共有できるようにするかどうかや、設計セッション間で保持できるようにするかどうかを決定できます。デフォルトではロケーションは公有、または永続化されていません。
これらの例を実装するには、Oracle Warehouse Builderインストレーションおよび管理ガイドのWarehouse Builderでのパスワードの管理に関する項を参照してください。
自動作成ロケーション
Warehouse Builderでは、リポジトリに登録した各ユーザーに対するOracleロケーションが自動的に作成されます。たとえば、ユーザーSCOTT
を登録すると、リポジトリには、SCOTT
スキーマに接続するための情報が格納されるSCOTT_LOCATION
というOracleロケーションが作成されます。
インストール中に、Warehouse BuilderによりOWB_REPOSITORY_LOCATION
と名付けられたOracleロケーションが作成されます。このロケーションでは、Warehouse Builderリポジトリへの接続の詳細が提供されます。リポジトリの場所の名前の変更または削除はできません。データベース管理者のみパスワードを変更できます。データベース管理者パスワードへの不正アクセスを防ぐため、すべてのユーザーはリポジトリの場所への配布を制限されます。
ロケーションの削除
ロケーションを削除するには、接続エクスプローラでロケーションを右クリックし、「削除」を選択します。ここで削除オプションを使用できない場合は、ロケーションが「コントロール・センター」に登録されていて、利用されている可能性があります。ロケーションが使用中でないことを確認し、「コントロール・センター」のロケーションの登録を解除すると、接続エクスプローラからロケーションを削除できます。
モジュールは接続エクスプローラのロケーションに対応するプロジェクト・エクスプローラをグループ化するためのメカニズムです。1つのロケーションは1つ以上のモジュールに対応できます。ただし、特定のモジュールは一度に1つのロケーションにのみ対応します。
モジュールとロケーションのアソシエーションによって、Warehouse Builderでは、特定のアクションを容易に実行できます。たとえば、既存のモジュールを再使用することで、メタデータを再インポートできます。さらに、後続の手順でETLプロセスを配布すると、モジュールでは、プロセス・フローなどの関連オブジェクトを一緒に配布できます。
モジュールを作成する手順は、次のとおりです。
適切なメタデータ・タイプのノードを検出するまで、プロジェクト・エクスプローラを開きます。
たとえば、ソース・データがOracle Databaseに格納されている場合、「データベース」ノードを開いて、「Oracle」ノードを表示します。またはソース・データがSAP R/3システムにある場合、「アプリケーション」ノードを開いて「SAP」ノードを表示します。
目的のノードを右クリックして「新規」を選択します。
モジュールの作成ウィザードが開きます。このウィザードで、ユーザーが選択したデータ・ストアにアクセスできる使用する正しいインテグレータを決定します。
ウィザードのプロンプトに従います。
ウィザードに従ってモジュールの名前と説明を入力すると、そのモジュールがロケーションに関連付けられます。
Warehouse Builderの使用中に、モジュールを新規のロケーションに関連付ける必要がある場合があります。たとえば、本番環境では開発環境とは異なるロケーションを利用する場合、モジュールを再度関連付ける必要があります。
モジュールに関連付けられたロケーションを変更する手順は、次のとおりです。
プロジェクト・エクスプローラで、モジュールを選択します。
「構成」アイコンをクリックします。
「構成プロパティ」ダイアログ・ボックスが表示されます。
「識別」フォルダで、ロケーション・プロパティに対する新規の値を指定します。