メタデータ依存性マネージャを使用すると、オブジェクト定義またはWarehouse Builderリポジトリのメタデータに対して加えられた変更による影響を検出および解決できます。
この章の内容は次のとおりです。
メタデータ依存性マネージャでは、あらゆるデータ・オブジェクトの系統ダイアグラムおよび影響ダイアグラムが作成されます。系統ダイアグラムは、データ・ソースに戻るオブジェクトのプロセス・フローをトレースし、そのパスに存在するすべてのオブジェクトを表示します。影響ダイアグラムは、選択したオブジェクトから導出されるすべてのオブジェクトを識別します。
このタイプの情報は、多くの場面で役に立ちます。たとえば、これらのダイアグラムを次の場合に使用できます。
法的な規制または財務データのトレースを必要とするその他の監査に準拠する。
ソース・データの変更に対応するためにシステム設計を変更する。
レポートおよび分析の新しい要件に対応するためにシステム設計を変更する。
プロジェクトを通して使用されるプラッガブル・マップの設計変更が及ぼす影響を評価する。
依存性マネージャを使用すると、将来にわたる変更が及ぼす影響をプレビューしながらプロジェクトを計画できます。ソース・システムに対する変更を計画している場合は、依存性マネージャを使用して、その変更がウェアハウス設計に与える影響を評価できます。または、すでに変更が行われている場合は、ETL設計の更新とデータ・ウェアハウスの再構築に必要な時間を見積もることができます。
図31-1に、メタデータ依存性マネージャを示します。Warehouse Builderの他のウィンドウと同じように、依存性マネージャには、メニュー、ツールバー、ナビゲータ、プロパティ・インスペクタおよびキャンバスがあります。キャンバスには1つ以上のダイアグラムが表示されます。
これらのコンポーネントに固有の情報を参照するには、「ヘルプ」メニューの「トピック」を選択してください。
データ・ウェアハウスの設計と構築が完了した後に、ソース・データベースが変更されることがよくあります。このような変更は、これに付随してWarehouse Builder設計またはメタデータに対する変更の必要性や影響があることを意味します。Warehouse Builderを使用すると、変更済のソース定義をリポジトリに再インポートできます。ただし、元のウェアハウス設計は、再インポートした定義に対しては有効ではなくなります。そのため、設計を変更して不整合を修正する必要があります。
まず最初に、ソースの変更によってウェアハウス設計がどのように影響を受けるのかを見極める必要があります。次に、そのソースに依存しているすべての設計オブジェクトについてメタデータを同期し、影響を受けるすべてのオブジェクトを更新してソースの変更を反映します。このプロセスの完了後に、更新済の設計を再配置してデータ・ウェアハウスを再構築し、データを同期します。
このシナリオでは、会社はCUSTOMERS
という名前のフラット・ファイルからすべての統計レポートを取得しています。これまでは、追加のパラメータのレポートを生成するにはファイル定義を変更する必要がありました。統計分析データベースは最近Oracle9iからOracleデータベース10gに移行されました。
この会社の設計担当者は、まず最初に、設計リポジトリ内のこのファイルの変更済メタデータ定義を、そのデータを基にしているすべての設計オブジェクトおよびマッピングに同期する必要があります。CUSTOMERS
フラット・ファイルはETL設計の複数のマッピングの一部であるため、この定義に対する変更はこれらのすべてを無効にします。CUSTOMERS
フラット・ファイルの影響を受けるすべての領域を手動で追跡し、定義を更新することは、エラーが起こりやすいプロセスです。
依存性マネージャは、データ・ソースに対する変更によって影響を受けるすべてのオブジェクトを識別することを可能にします。関連する各設計オブジェクトが確実に更新され、ETL設計は有効に保たれます。このプロセスの完了後に、影響を受けた表および更新済のETL設計オブジェクトをデータ・ウェアハウスに再配置できます。
系統および影響分析(LIA)ダイアグラムは、Warehouse Builderで管理するオブジェクトの関係を示します。これらの関係はマッピングとプロセス・フローで構築されます。特定のオブジェクトの系統ダイアグラムはそのソース・オブジェクトを示し、影響ダイアグラムはそのターゲットを示します。
系統と影響は互いのミラー・イメージです。オブジェクトAがオブジェクトBの系統ダイアグラムの一部である場合、オブジェクトBはオブジェクトAの影響ダイアグラムの一部です。ダイアグラムを左から右に参照すると影響がわかり、右から左に参照すると系統がわかります。
たとえば、データをファイルから抽出して外部表としての表にロードするマッピングがあるとします。この関係は次のようになります。
flat_file > external_table > table
図31-2に、ADDRESS_EXT_TABLE
という名前の外部表の系統ダイアグラムを示します。ADDRESS_CSV
はフラット・ファイルであり、ADDRESS_EXT_TABLE
の系統の一部です。つまり、ADDRESS_CSV
に対する変更はADDRESS_EXT_TABLE
に影響を与えます。
図31-3に、ADDRESS_EXT_TABLE
の影響ダイアグラムを示します。これにはADDRESS_TBL
が含まれています。ADDRESS_EXT_TABLE
表に加えられた変更は、ADDRESS_TBL
に影響を与えます。ADDRESS_EXT_TABLE
はADDRESS_TBL
の系統の一部です。
オブジェクト・アイコンの両側にあるいずれかのプラス記号(+)(図31-4に示します)をクリックすると、オブジェクトの系統と影響の両方を簡単に表示できます。
最初にメタデータ依存性マネージャを開くと、デザイン・センターのプロジェクト・エクスプローラからLIAダイアグラムを生成できます。
次の手順でデザイン・センターからダイアグラムを生成します。
分析対象のオブジェクトが表示されるまで、プロジェクト・エクスプローラを展開表示します。
オブジェクトを右クリックし、ポップアップ・メニューから「系統」または「影響」を選択します。
ダイアグラムが表示されたメタデータ依存性マネージャが開きます。
「系統」および「影響」コマンドは、「ビュー」メニューからも使用できます。
次の手順でメタデータ依存性マネージャからダイアグラムを作成します。
デザイン・センターの「ツール」メニューから、「メタデータ依存性マネージャ」を選択します。
メタデータ依存性マネージャが表示されます。
分析対象のオブジェクトが表示されるまで、DMコンテキスト・ツリーを展開表示します。
オブジェクトを右クリックし、ポップアップ・メニューから「系統の表示」または「影響の表示」を選択します。
キャンバスにダイアグラムが表示されます。
オブジェクトおよびダイアグラム・タイプの初期選択によって、最初の開始点およびそのダイアグラムのオブジェクトからのブランチの方向が決まります。次の手順でLIAダイアグラムを変更できます。
ダイアグラムに別のオブジェクトをドラッグ・アンド・ドロップします。
オブジェクト・アイコンの隣のプラス記号(+)およびマイナス(-)記号をクリックして、ダイアグラムのブランチを展開表示または縮小表示します。
「LIAダイアグラムでのグループの使用」の説明に従って、グループ・ツールを使用してダイアグラムのセクションを単一のアイコンに縮小表示します。
「オブジェクトの属性の表示」の説明に従って、オブジェクトをダブルクリックしてその属性を表示します。
グループを使用すると、複雑なダイアグラムでオブジェクトを編成できるため、オブジェクトを簡単に探して編集できます。ダイアグラム内のオブジェクトの数を減らすと、対象オブジェクトをより簡単に見つけることができます。
次の手順でグループを作成します。
ボックスで囲んだ複数のオブジェクトをドラッグ・アンド・ドロップして、オブジェクトのグループを選択します。
「選択したオブジェクトのグループ化」ツールをクリックします。
「選択したデータ・オブジェクトのグループ化」ダイアログ・ボックスが表示されます。
グループの名前を入力します。
選択したオブジェクトが単一のアイコンに縮小表示されます。
グループ内の個々のオブジェクトを表示するには、フォルダ・アイコンをダブルクリックします。これらのオブジェクトは、グループ化されていないオブジェクトと同じように操作できます。
オブジェクトのグループを解除するには、グループを選択して「選択したオブジェクトのグループ解除」ツールをクリックします。
ダイアグラムのオブジェクト・アイコンを展開表示して、属性を検査できます。図31-5に、2つの展開表示されたアイコンを示します。アイコンの列属性はマッピングによって接続されています。
アイコンを展開表示するには、ダブルクリックします。アイコンに戻すには、右上角の下矢印をクリックします。
次の手順で属性のLIAダイアグラムを生成します。
オブジェクトのLIAダイアグラムを生成します。
アイコンをダブルクリックして属性を表示します。
属性を右クリックして「系統の表示」または「影響の表示」を選択します。
選択した属性の系統または影響パスにある属性が別の色で強調表示されます。
LIAダイアグラムは、1つ以上のオブジェクトの変更によって無効化された可能性があるすべてのオブジェクトを識別します。これにより、影響があったオブジェクトを検査し、必要に応じて変更できます。
これらの変更は、依存性マネージャで次の方法を使用して行うことができます。
オブジェクト・エディタ: オブジェクトに標準のエディタを開いて、拡張性の高い編集機能を提供します。
変更の伝播ツール: 名前、データ型、または、単一の列または属性の精度の変更など、基本的な編集機能を提供します。
次の手順でオブジェクト・エディタを開きます。
ダイアグラムのオブジェクト・アイコンを右クリックし、ポップアップ・メニューから「エディタを開く」を選択します。
次の手順で変更の伝播ツールを使用します。
ダイアグラムのオブジェクト・アイコンをダブルクリックします。
アイコンが展開されて属性が表示されます。
変更対象の属性を右クリックし、ポップアップ・メニューから「変更の伝播」を選択します。
「変更の伝播」ダイアログ・ボックスが表示されます。
「新規の値」列の属性を変更し、「伝播」ボックスを選択します。
「OK」をクリックします。
「メタデータ依存性マネージャ」は、オブジェクト定義の変更の潜在的な影響を示すグラフィカル・インタフェースです。「メタデータ依存性マネージャ」のコンポーネントは、次のとおりです。
「メタデータ依存性マネージャ」のメニュー・バーには、各種のタスクを実行するコマンドがあります。これらのコマンドの一部は、ツールバーでも使用できます。
「分析」メニューには、次のコマンドが含まれています。
閉じる: 依存性マネージャを閉じます。
ダイアグラムのエクスポート: アクティブ・ダイアグラムをSVGまたはJPEGファイルとしてローカル・ファイル・システムにエクスポートします。
印刷オプション: ダイアグラムの印刷用の「印刷設定」、「プレビュー」および「印刷」オプションを提供します。
「編集」メニューには、次のコマンドが含まれています。
エディタを開く: 現行の選択されたオブジェクトのエディタを開きます。
非表示: 選択したオブジェクトをキャンバスから削除します。非表示オブジェクトをリストアするには、「ビュー」メニューの「リフレッシュ」コマンドを使用します。
すべて選択: キャンバスに表示されたすべてのオブジェクトを選択します。
変更の伝播: 選択したオブジェクトの「変更の伝播」ダイアログ・ボックスを表示します。これを使用して、属性の値を変更し、下流のすべてのオブジェクトにその変更を伝播します。たとえば、表オブジェクトの列を選択して、名前、データ型などを変更できます。
選択したオブジェクトのグループ化: キャンバス上で選択したオブジェクトを含むグループを作成します。グループのすべてのオブジェクトのかわりにフォルダ・アイコンが表示されます。グループ内の個々のオブジェクトを表示するには、アイコンをダブルクリックします。グループを使用すると、キャンバス上に多数のオブジェクトがある場合も混乱を防ぐことができます。
選択したオブジェクトのグループ解除: 選択したグループを解除し、すべてのオブジェクトが個々に表示されるようにします。
モジュール別グループ化: すべてのオブジェクトをモジュールごとに自動的にグループ化します。フォルダ・アイコンはモジュールとそこに含まれるすべてのオブジェクトを表します。グループ内の個々のオブジェクトを表示するには、アイコンをダブルクリックします。
モジュールのグループ解除: モジュール・グループを解除し、すべてのオブジェクトが個々に表示されるようにします。
「ビュー」メニューには、次のコマンドが含まれています。
ツールバー: グラフィック・ツールまたは編集ツールを表示または非表示にします。
モード: 次のアクションのいずれかにポインタを設定します。
選択: キャンバス上の1つ以上のオブジェクトを選択します。
パン: キャンバス上のダイアグラム全体を移動します。
インタラクティブ・ズーム: ポインタを下に移動するとダイアグラムが展開表示され、ポインタを上に移動するとダイアグラムが縮小表示されます。
エッジのナビゲート: フロー内の次のオブジェクトを選択します。
ズーム: ダイアグラムの拡大または縮小の割合のリストを表示します。
ウィンドウに適合: キャンバスに適合するようにダイアグラムのサイズが自動的に選択されます。
自動レイアウト: オブジェクトを編成してダイアグラムをデフォルト・サイズで表示します。
中央: ダイアグラムをキャンバスの中央に表示します。
完全影響の表示: 選択したオブジェクトの完全影響ダイアグラムを生成します。
完全系統の表示: 選択したオブジェクトの完全系統ダイアグラムを生成します。
系統の表示: 選択したオブジェクトの系統ダイアグラムにある、オブジェクトの次のレベルを表示します。
系統の非表示: 選択したオブジェクトの系統を非表示にします。
影響の表示: 選択したオブジェクトの影響ダイアグラムにある、オブジェクトの次のレベルを表示します。
影響の非表示: 選択したオブジェクトの影響を非表示にします。
拡張: ダイアグラムの選択したアイコンを展開表示します。展開表示されたアイコンは、表の列またはディメンションの属性などのオブジェクトの詳細を表示します。
すべて拡張: ダイアグラムのすべてのオブジェクト・アイコンを展開表示します。
縮小: 選択したオブジェクトの展開表示されたアイコンを縮小表示します。
すべて縮小: キャンバス上のすべての展開表示されたアイコンを縮小表示します。
リフレッシュ: 依存性マネージャ・ダイアグラムをリフレッシュして、リポジトリの最新の変更を反映します。
「メタデータ依存性マネージャ」には、頻繁に使用するコマンドへのショートカットとして2つのツールバーがあります。
「鳥瞰図」を使用すると、キャンバスに現在表示されているダイアグラムの一部を簡単に変更できます。このビューには、キャンバスのディメンションを表すスクロール可能なボックスとともに、キャンバス上のダイアグラムのミニチュア版が表示されます。このボックスを、現在関心があるダイアグラムのエリアにドラッグします。
「DMツリー」を使用して、キャンバスの内容を変更します。「DMツリー」には、次のタブがあります。
DMコンテキスト・ツリー: 現在のプロジェクト内のオブジェクトが表示されます。オブジェクトを右クリックし、ポップアップ・メニューを使用して新規ダイアグラムを生成するか、現在のダイアグラムにオブジェクトを追加します。また、現在のダイアグラムにオブジェクトをドラッグ・アンド・ドロップすることもできます。
DMグラフ・ツリー: 現在のダイアグラムが表示されます。キャンバス上のダイアグラムを閉じた後、このリストを使用すると、ダイアグラムを再生成することなく再表示できます。
プロパティ・インスペクタを使用して、オブジェクトのプロパティを表示します。
「プロパティ・インスペクタ」で現在のオブジェクトを変更するには、キャンバス上でそのオブジェクトを右クリックし、ポップアップ・メニューの「プロパティ・インスペクタの更新」を選択します。
プロパティの説明については、「インスペクタ」でプロパティを選択します。ウィンドウの下部に説明が表示されます。
キャンバスを使用して、1つ以上の系統および影響ダイアグラムを表示します。各ダイアグラムは、個別のタブに表示されます。
次の技術を使用すると、キャンバス上でダイアグラムを作成および操作できます。
新規ダイアグラムを開くには、「DMコンテキスト・ツリー」でオブジェクトを右クリックし、ポップアップ・メニューから「系統の表示」または「影響の表示」を選択します。
ダイアグラムを閉じるには、タブの「X」をクリックします。「メタデータ管理」ウィンドウを閉じるまでは、「DMグラフ・ツリー」からダイアグラムを再表示できます。
キャンバスにオブジェクトを追加するには、「DMコンテキスト・ツリー」からオブジェクトをドラッグ・アンド・ドロップします。
オブジェクトの系統をさらに表示するには、アイコンの左側にあるプラス記号(+)をクリックします。系統を非表示にするには、左側にあるマイナス記号(-)をクリックします。
オブジェクトの影響をさらに表示するには、アイコンの右側にあるプラス記号(+)をクリックします。影響を非表示にするには、右側にあるマイナス記号(-)をクリックします。
オブジェクトの詳細を表示するには、そのオブジェクトをダブルクリックします。その後、個々のプロパティを選択し、「編集」メニューから「変更の伝播」を選択してプロパティを編集できます。
オブジェクトを編集するには、オブジェクトのアイコンを右クリックし、ポップアップ・メニューから「エディタを開く」を選択します。