メタデータの依存性マネージャでは、ワークスペースで行ったオブジェクト定義またはメタデータへの変更の影響を検出および解決できます。
この章の内容は次のとおりです。
メタデータ依存性マネージャでは、Oracle Warehouse Builderリポジトリのメタデータで表されるようにデータ・オブジェクト間の依存性を確認できるインタフェースを提供します。メタデータ依存性マネージャでは、インタラクティブな系統および影響ダイアグラムの形式で依存性を表します。系統ダイアグラムではオブジェクトのデータ・フローをソースまで追跡し、それらのパスに沿ってすべてのオブジェクトを表示します。影響ダイアグラムでは選択したオブジェクトから導出されるすべてのオブジェクトを識別します。
このタイプの情報は、次のような多くの状況で役立ちます。
ディメンション、キューブまたはビジネス・インテリジェンス・ツール・レポートなどのターゲット・オブジェクトから、ターゲットに表示される結果の計算に使用される各データ・ソースの列を識別します。
ソース表、プラッガブル・マッピングなどのプロジェクト全体で使用されるオブジェクトの設計の変更の影響を評価します。
ソース表の列のデータ型への変更など、設計の変更を設計のダウンストリームに伝搬します。
エンドツーエンド・データ系統および影響分析では、設計変更のプランニングの強化、ソース・システムを変更した場合の予期せぬ影響の識別の迅速化、ビジネス・インテリジェンス結果、マスター・データまたはその他のデータ統合プロセスのより効果的な監査の実現により、プロジェクトのリスクが削減されます。
ファイル、データベースおよびアプリケーションなどのソースのメタデータはデータ統合システムの設計および実装後でさえ変更できます。ソース・メタデータの変更は、これに付随してOracle Warehouse Builderの実装に対する影響があることを意味します。Oracle Warehouse Builderを使用すると、変更済のソース定義をワークスペースに再インポートできます。ただし、元のウェアハウス設計は再インポートした定義に対して有効ではなくなるため、設計を変更して不整合を修正する必要があります。
まず、ソースの変更によりウェアハウス設計がどのように影響されるかを特定し、ソースに依存しているすべての設計オブジェクトを決定します。次に、すべての影響を受ける設計オブジェクトがソースの変更を反映して更新されるように、メタデータを同期化する必要があります。このプロセスの完了後、更新された設計を再デプロイして、データ・ウェアハウスを再作成し、データを同期化できます。
たとえば、ある会社がデータ・ウェアハウスのソース・データをCUSTOMERS
というフラット・ファイルから取得するとします。CUSTOMERS
フラット・ファイルおよびダウンストリーム・ステージング表は、ETL設計の複数のマッピングから参照され、最終的にキューブと、レポートに使用されるOracle Discovererのインスタンスにロードされます。CUSTOMERS
のレコードには、数値のCUSTOMER_ID
列と、US
、EMEA
、APAC
またはOTHER
の値を使用できるREGION
列が含まれます。CUSTOMERS
のレコードは、顧客マスター・データベースにも提供されます。
時間の経過とともに、次の問題が発生しました。
顧客マスター・データの所有者は、入力が必須の列GROUP_ID
にNULL
値が含まれることがあることを見つけました。
マーケティング部門では、Oracle Discovererで生成されるレポートに示される顧客のブレークダウンおよび地域ごとの売上に疑問を持っています。
以前は数値のみが含まれていたCUSTOMER_ID
列に現在は文字と数字が含まれることがあります。
以前50文字であった既存のCUSTOMER_NAME
列は100文字に拡張されます。
設計のその他の複数のマッピングで参照されるプラッガブル・マッピングはGROUP_ID
列のNULL値を含む行を拒否するように更新されます。
CUSTOMERS
の定義への変更は、そのフラット・ファイルのすべてのダウンストリーム・オブジェクトに影響する可能性があります。顧客マスター・データのエラーはソース・データから発生しているか、ETLマッピングの不具合が原因である可能性があります。Oracle Discovererレポートに関する問題は、顧客の地域情報の情報の元が文書化できる場合は、解決できます。
Oracle Warehouse Builderリポジトリのメタデータに基づくデータ系統機能およびデータ影響分析がない場合、変更を担当した開発者が、ステージング表、ODS表、ディメンション、キューブ、Discovererオブジェクトおよびマスター・データを含むデータ統合設計全体を手動で確認する必要があります。ソース・データの設計変更では、それらのオブジェクトのロードに使用するETLマッピングを手動で更新する必要があります。BIレポートへのマーケティングの信頼性は開発者の手動による設計の確認に依存しています。
Oracle Warehouse Builderのメタデータ依存性管理、データ系統および影響分析機能では、次のようにこのようなタスクを簡略化します。
メタデータ依存性マネージャは、顧客マスター・データの不正な列の系統の追跡を自動化します。
レポートで使用される地域データの元が文書化され、立証できるため、Discoverer設計を検証できます。
CUSTOMER_ID
列への数値以外の値の追加で影響を受ける可能性のあるETLマッピングおよびターゲットを自動的に識別できます。
CUSTOMER_NAME
列定義への変更により影響を受ける設計全体を通じたターゲット・オブジェクトおよびETLマッピングを自動的に識別し、さらに更新することもできます。
メタデータ依存性ダイアグラムでは、Oracle Warehouse Builderが管理するオブジェクトの間の関係を示します。このダイアグラムには構造の関係(2つの表の列間の主キーと外部キーの関係など)およびデータ関係(CUSTOMERS
フラット・ファイルからCUSTOMERS_STAGE
ステージング表へのデータ・フローなど)の両方を示します。
ダイアグラムを読み取って、データ系統および影響分析情報を検出できます。ダイアグラムを左から右に読み取ると、影響分析情報(特定のオブジェクトまたは列による影響を受けるオブジェクト)を検出することができ、右から左に読み取ると、データ系統情報(出力オブジェクトに含まれるデータのソースの識別)を検出できます。
たとえば、ファイルからデータを抽出するマッピングがあり、外部表を使用して表にデータをロードするとします。この関係は次のとおりです。
flat_file > external_table > table
図14-1にADDRESS_EXT_TAB
という名前の外部表の系統ダイアグラムを示します。ADDRESS_CSV
はフラット・ファイルで、ADDRESS_EXT_TAB
の系統の一部です。したがって、ADDRESS_CSV
に対する変更は、すべてADDRESS_EXT_TAB
に影響します。
図14-2にADDRESS_TABLE
を含むADDRESS_EXT_TAB
の影響ダイアグラムを示します。ADDRESS_EXT_TAB
に対する変更は、すべてADDRESS_TABLE
に影響します。ADDRESS_EXT_TAB
はADDRESS_TABLE
の系統の一部です。
注意: ダイアグラムにはDEFAULT_CONFIGURATION オブジェクトとともにソース・データ・オブジェクトおよびターゲット・データ・オブジェクトが含まれます。この理由は、選択した構成がソースからターゲットへのデータの移動方法に影響することがあるためです。 |
図14-3に示すように、オブジェクト・アイコンのいずれかの側にあるプラス記号(+)をクリックすることにより、オブジェクトの系統および影響を含むようにダイアグラムを拡張できます。
デザイン・センターのプロジェクト・ナビゲータでLIAダイアグラムを生成できます。
デザイン・センターでLIAダイアグラムを生成する手順は、次のとおりです。
分析するオブジェクトが表示されるまでプロジェクト・ナビゲータを展開します。
オブジェクトを右クリックして、「系統」または「影響」を選択します。
「系統」タブまたは「影響」タブが表示され、オブジェクトの系統(選択したオブジェクトの左側にあるオブジェクトの1レベル)または影響(選択したオブジェクトの右側にあるオブジェクトの1レベル)のいずれかが示されます。
また、「表示」メニューから「系統」コマンドおよび「影響」コマンドを使用することもできます。
オブジェクトとダイアグラム・タイプの最初の選択では、そのオブジェクトからダイアグラムが分岐する開始点と方向を決定します。LIAダイアグラムは次の方法で変更できます。
他のオブジェクトをダイアグラムにドラッグアンドドロップして、他のオブジェクトの依存性を表示します。
オブジェクト・アイコンの隣にあるプラス記号(+)またはマイナス記号(-)をクリックすると、ダイアグラムのブランチが拡張または縮小されます。
キャンバスから選択したオブジェクトを削除します。「グラフ」メニューから、選択したオブジェクトの非表示を選択して、キャンバスからオブジェクトを削除します。非表示のオブジェクトを表示するには、「グラフ」メニューから「リフレッシュ」を選択します。
「LIAダイアグラムのグループの使用」の説明に従って、グループ化ツールを使用して、ダイアグラムのセクションを1つのアイコンに縮小します。
「オブジェクトの属性の表示」の説明に従って、属性を表示するオブジェクトをダブルクリックします。
オブジェクトを右クリックすると、「エディタを開く」、完全な系統の表示および完全な影響の表示の各メニュー・オプションが表示されます。
「エディタを開く」オプションは、「変更の自動伝搬を使用した設計メタデータの変更」で説明されています。
完全な系統の表示オプションおよび完全な影響の表示オプションは、「LIAダイアグラムでのオブジェクトの系統および影響の確認」で説明されています。
「グラフ」メニューの次のオプションを使用すると、LIAダイアグラムの系統および影響分析情報を確認できます。
完全な影響の表示: ノードを開くと選択したオブジェクトのダイアグラムのすべての影響を表示します。
完全な系統の表示: 選択したオブジェクトの完全な系統ダイアグラムを生成します。
系統の表示: 選択したオブジェクトの系統ダイアグラムの次のレベルのオブジェクトを表示します。
系統の非表示: 選択したオブジェクトの系統を非表示にします。
影響の表示: 選択したオブジェクトの影響ダイアグラムの次のレベルのオブジェクトを表示します。
影響の非表示: 選択したオブジェクトのすべての影響を非表示にします。
Oracle Warehouse Builderの他のエディタと同様に、系統ダイアグラムおよび影響分析ダイアグラムのオブジェクトを検索できます。順方向の検索では影響分析を左から右方向に検索し、逆方向の検索ではデータ系統を右から左に検索します。ダイアグラムは現在の一致ノードがダイアグラムの中心に位置するように移動されます。また、ダイアグラムの検索ではすべての一致がハイライトされます。
系統ダイアグラムおよび影響分析ダイアグラム(LIA)で検索する手順は、次のとおりです。
「検索」メニューから「検索」を選択します。
「検索」ダイアログ・ボックスが表示されます。
「検索」フィールドに検索するオブジェクトの名前を入力します。
オブジェクトを検索するときに追加オプションを使用するには、詳細を表示をクリックします。
拡張検索オプションは「検索」ダイアログ・ボックスに表示されます。
(オプション)次の各セクションの説明に従って、高度な検索オプションを指定します。
これらのセクションでは、マッピングおよびプラッガブル・マッピング用の高度な検索の実行について説明します。ただし、機能およびプロセスは、LIAダイアグラムで高度な検索を実行する場合と同じです。
「OK」をクリックします。
グループを使用すると、複雑なダイアグラムのオブジェクトを簡単に配置および編集できるように編成できます。ダイアグラム内のオブジェクト数が削減されることのより、現在関心のあるオブジェクトにより簡単に焦点を当てることができます。
グループを作成する手順は、次のとおりです。
オブジェクトのグループを囲む四角をドラッグおよびドロップすることにより、グループを選択します。
ツールバーの選択したオブジェクトのグループ化をクリックします。
選択したデータ・オブジェクトのグループ化ダイアログ・ボックスが表示されます。
グループの名前を入力します。
選択したオブジェクトは1つのフォルダ・アイコンに閉じられます。
個々のオブジェクトをグループで表示するには、フォルダ・アイコンをダブルクリックします。これらのオブジェクトはグループ化されていないオブジェクトと同じ方法で機能できます。
オブジェクトのグループ化を解除するには、グループを選択し、ツールバーの選択したオブジェクトのグループ化を解除をクリックします。
次の操作は、LIAダイアグラムのグループを操作するために使用できます。
選択したオブジェクトのグループ化: キャンバス上の選択したオブジェクトを含むグループを作成します。フォルダ・アイコンはグループ内のすべてのオブジェクトを表します。オブジェクトが多くある場合、グループ化によりキャンバス上の混乱を軽減できます。グループ内の個別のオブジェクトを表示するには、アイコンをダブルクリックします。
選択したオブジェクトのグループ化解除: すべてのオブジェクトを個別に表されるように選択しグループを消去します。グループ化を解除するフォルダ・アイコンを選択し、選択したフォルダのグループ化解除をクリックします。
モジュールごとのグループ化: すべてのオブジェクトをモジュールごとに自動的にグループ化します。フォルダ・アイコンはモジュールおよびモジュール内のすべてのオブジェクトを表します。モジュールごとにグループ化するには、「グラフ」メニューからモジュールごとのグループ化を選択します。
グループ内の個別のオブジェクトを表示するには、アイコンをダブルクリックします。
モジュールのグループ化解除: すべてのオブジェクトが個別に表示されるようにモジュール・グループを消去します。モジュールのグループ化を解除するには、「グラフ」メニューからモジュールのグループ化解除を選択します。
ダイアグラムのオブジェクト・アイコンを開くことにより、その属性を確認できます。アイコンを開くには、ダブルクリックします。アイコンに縮小表示するには、右上角にある下向き矢印をクリックします。
属性のLIAダイアグラムを生成する手順は、次のとおりです。
オブジェクトのLIAダイアグラムを生成します。
そのアイコンをダブルクリックして、属性を表示します。
属性を右クリックして、系統の表示または影響の表示を選択します。
各属性が選択した属性の系統パスまたは影響パスと一緒に異なる色でハイライトされます。
図14-4に、列属性がマッピングで接続される2つの展開されたアイコンを示します。
LIAダイアグラムでは、1つ以上のオブジェクトへの変更で無効になる可能性のあるすべてのオブジェクトを識別します。この情報により、影響を受けるオブジェクトを調べ、必要に応じて変更できます。多くの変更は、メタデータ依存性マネージャのダウンストリーム・オブジェクトに自動的に伝搬できます。
オブジェクトを手動で変更する手順は、次のとおりです。
依存性マネージャで、変更する最初のオブジェクトに移動します。たとえば、ソース表に移動します。
ダイアグラムのオブジェクト・アイコンを右クリックして「エディタを開く」を選択します。
オブジェクト用の編集ツールが開きます。たとえば、表を選択した場合、データ・オブジェクト・エディタが開きます。
編集ツールで必要な変更を行い、変更を保存します。
変更が必要な場合、LIAダイアグラムで識別されたすべてのオブジェクトでこれらの手順を繰り返します。
変更の影響を受けるオブジェクトがわずかのみである場合は、オブジェクトを手動で変更できます。ただし、多くのオブジェクトが影響を受ける場合は、変更の自動伝搬を使用すると時間を節約できます。
依存マネージャを使用してメタデータの変更を伝搬するには:
ダイアグラムでオブジェクト・アイコンをダブルクリックします。
たとえば、ソース表のアイコンをダブルクリックします。
変更するメタデータを右クリックし、「変更の伝播」を選択します。
たとえば、表の列を右クリックします。
依存性マネージャでの変更の自動伝搬の説明に従って属性を変更します。
「変更の伝播」ダイアログ・ボックスでは、系統影響分析ダイアグラムに示すように、Oracle Warehouse Builderですべての依存オブジェクトに伝播するメタデータの変更を指定します。このダイアログ・ボックスでは、「伝播」、「属性」、既存の値および「新しい値」の列にメタデータの詳細を表示します。
図14-5に、変更の伝播ダイアログ・ボックスを示します。
「属性」列には、名前、ビジネス名、データ型メタデータ属性が表示されます。既存の値列には、属性の現在の値が表示され、「新しい値」にはメタデータ依存性マネージャが検出した変更された値が表示されます。
変更する属性ごとに「伝播」を選択します。たとえば、列のデータ型および長さを変更する場合は、これらの属性の左にある「伝播」を選択します。