Oracle Warehouse Builderの一連の機能を使用すると、ソース・システムからデータ・ウェアハウスに移動されるデータの品質を保証できます。データ・プロファイリングは、ソース・データの不整合や例外の検出と訂正を可能にする機能です。データを転送する前に、データ・ルールを定義し、データ・プロファイリング・テクニックとデータ監査テクニックを適用できます。
この章の内容は次のとおりです。
この項では、データ・プロファイリング・プロセスの各ステップとその実行方法の参照先を示します。各ステップについては、「データ・プロファイリングの実行方法」を参照してください。
データ・プロファイリングの実行ステップは、次のとおりです。
メタデータのロード
「メタデータのインポートまたは選択」を参照してください。
データ・プロファイルの作成
「データ・プロファイルの使用」を参照してください。
データのプロファイリング
「データのプロファイリング」を参照してください。
プロファイリング結果の表示
「結果の表示」を参照してください。
データ・プロファイリング結果に基づくデータ・ルールの導出
データ・プロファイリング結果に基づいてデータ・ルールを作成できます。詳細は、「データ・ルールの導出」を参照してください。
修正の生成
「スキーマの修正とデータの整備」を参照してください。
手動によるデータ・ルールの定義と編集
「データ・ルールの使用」を参照してください。
生成、配布および実行
「生成、配布および実行」を参照してください。
データ・プロファイリングは、データの内容と構造を分析して不整合、例外および冗長性を判別できるプロセスです。データ・プロファイリング・プロセスを開始するには、最初にデザイン・センターを使用してデータ・プロファイルを作成する必要があります。これにより、データ・プロファイルに含まれたオブジェクトをプロファイリングし、修正表およびマッピングを作成できます。
このトピックには、次の項目が含まれます。
データ・プロファイルを作成する手順は、次のとおりです。
Warehouse Builderのプロジェクト・エクスプローラで、データ・プロファイルを作成するプロジェクト・ノードを開きます。
「データ・プロファイル」を右クリックして「新規」を選択します。
データ・プロファイルの作成ウィザードが開いてようこそページが表示されます。「次へ」をクリックして次ページに進みます。ウィザードに表示される指示に従って次のステップを実行します。
注意: ソース・モジュールがデータ・プロファイルとは異なるデータベース・インスタンスにある場合、複合データ型を含むソース表はプロファイリングできません。 |
「名前」フィールドを使用して、データ・プロファイルの名前を指定します。名前はプロジェクト内で一意であることが必要です。「データ・プロファイルの編集」の「名前」タブで、データ・プロファイルの名前を変更できます。名前を選択して新しい名前を入力します。
「説明」フィールドを使用して、データ・プロファイルの説明(オプション)を入力します。「名前」タブでは、現在の説明を選択して新しい説明を入力することで説明を変更できます。
オブジェクトの選択・ページを使用して、プロファイリングするオブジェクトを指定します。オブジェクトの選択は、「データ・プロファイルの編集」ダイアログの「オブジェクトの選択」タブで変更できます。
「使用可能」セクションには、プロファイリングに使用可能なオブジェクトのリストが表示されます。プロファイリングするオブジェクトを選択し、シャトル・ボタンを使用して「選択済」リストに移動します。複数のオブジェクトを選択するには、[Ctrl]キーを押しながら目的のオブジェクトを選択します。「選択済」リストには、プロファイリング用に選択したオブジェクトが表示されます。このリストを変更するには、シャトル・ボタンを使用します。
プロファイリングに使用できるオブジェクトは、表、外部表、ビュー、マテリアライズド・ビュー、ディメンションおよびキューブなどです。オブジェクトはモジュール別にグループ化されています。「使用可能」セクションでディメンション・オブジェクトを選択すると、Warehouse Builderにより、このディメンション・オブジェクトにバインドされているリレーショナル・オブジェクトもプロファイルに追加されることを示す警告が表示されます。「はい」をクリックして操作を進めます。
注意: ソース・モジュールがデータ・プロファイルとは異なるデータベース・インスタンスにある場合は、複合データ型が含まれているソース表をプロファイリングできません。 |
サマリー・ページには、プロファイル対象として選択したオブジェクトが表示されます。このページで情報を確認します。変更する場合は「戻る」、データ・プロファイルを作成する場合は「終了」をクリックします。
データ・プロファイルが作成され、ナビゲーション・ツリーの「データ・プロファイル」ノードに追加されます。これが現行のプロジェクトに初めて作成したデータ・プロファイルの場合は、選択したコントロール・センターの「接続情報」ダイアログが表示されます。コントロール・センター・マネージャの接続情報を入力して「OK」をクリックします。データ・プロファイル・エディタが開きます。
データ・プロファイルの作成後に、データ・プロファイル・エディタを使用してプロファイルの定義を変更できます。また、既存のデータ・プロファイルにデータ・オブジェクトを追加することも可能です。オブジェクトを追加するには、メニュー・バーのオプションを使用する方法と「データ・プロファイルの編集」ダイアログの「オブジェクトの選択」タブを使用する方法があります。メニュー・バー・オプションの使用方法は、「データ・プロファイルへのデータ・オブジェクトの追加」を参照してください。ここでは、「データ・プロファイルの編集」ダイアログにアクセスする方法を説明します。
データ・プロファイルを編集する手順は、次のとおりです。
プロジェクト・エクスプローラで、データ・プロファイルを右クリックして「エディタを開く」を選択します。
データ・プロファイル・エディタが表示されます。
「編集」メニューから「プロパティ」を選択します。
「データ・プロファイルの編集」ダイアログが表示されます。
このダイアログの次の各タブを使用して、データ・プロファイルの定義を変更します。
「名前」タブ。「データ・プロファイルのネーミング」を参照してください。
「オブジェクトの選択」タブ。「オブジェクトの選択」を参照してください。
「データのロケーション」タブ。「「データのロケーション」タブ」を参照してください。
「データのロケーション」タブでは、データ・プロファイル・ワークスペースとして使用するロケーションを指定します。このタブには、「使用可能なロケーション」および「選択されたロケーション」という2つのセクションがあります。
「使用可能なロケーション」セクションには、現行のリポジトリにあるOracleのロケーションがすべて表示されます。「選択されたロケーション」セクションには、データ・プロファイルに関連付けられているロケーションが表示されます。このセクションには、複数のロケーションが表示されることがあります。データ・プロファイルの配布先ロケーションは、「新規構成デフォルト」オプションが選択されているロケーションです。
データ・プロファイルに関連付けられているデータのロケーションを変更するには、シャトル矢印を使用して新規ロケーションを「選択されたロケーション」セクションに移動し、このロケーションの「新規構成デフォルト」オプションを選択します。データ・プロファイルのロケーションを変更すると、このデータ・プロファイルのプロファイリング結果としてデータ・プロファイル・ワークスペースのスキーマに作成されたオブジェクトがすべて削除されます。
新規ロケーションを作成してデータ・プロファイルに関連付けることもできます。「選択されたロケーション」セクションの下で「新規」をクリックして「データベース・ロケーションの編集」ダイアログを表示します。新規ロケーションの詳細を指定して「OK」をクリックします。新規ロケーションが「選択されたロケーション」セクションに追加されます。
データ・プロファイルを構成して配布先ロケーションを変更することはできません。この動作は、他のオブジェクトの場合とは異なることに注意してください。たとえば、Oracleモジュールを考えてみます。「モジュールの編集」ダイアログの「データのロケーション」タブの「選択されたロケーション」セクションには、候補となる配布ロケーションのリストが表示されます。モジュール内のオブジェクトは、Oracleモジュールの「ロケーション」構成パラメータを使用して設定したロケーションに配布されます。
データ・プロファイルにデータ・オブジェクトを追加する手順は、次のとおりです。
プロジェクト・エクスプローラで、データ・プロファイルを右クリックして「エディタを開く」を選択します。
データ・プロファイル・エディタが表示されます。
「プロファイル」メニューから「オブジェクトの追加」を選択します。
「プロファイル表の追加」ダイアログが表示されます。このダイアログを使用して、データ・プロファイルにデータ・オブジェクトを追加します。
「プロファイル表の追加」ダイアログには、「使用可能」と「選択済」の2つのセクションがあります。「使用可能」セクションでは、プロファイリングに使用できるデータ・オブジェクトが表示されます。このリストに表示されているオブジェクトをデータ・プロファイルに追加するには、オブジェクトを選択し、それをシャトル矢印によって「選択済」リストに移動します。複数のオブジェクトを選択するには、[Ctrl]キーを押しながら目的の各オブジェクトを選択します。
「OK」をクリックします。選択したデータ・オブジェクトがデータ・プロファイルに追加されます。オブジェクトは、「オブジェクト・ツリー」の「プロファイル・オブジェクト」タブで参照できます。
データ・プロファイル・エディタは、データ・プロファイル情報の管理と表示およびメタデータとデータの修正を行うための単一のアクセス・ポイントを提供します。このエディタは、データ・プロファイラ、ターゲット・スキーマ・ジェネレータおよびデータ修正ジェネレータの機能を結合したものです。データ・プロファイラとして使用すると、選択したオブジェクトの属性分析と構造分析を実行できます。ターゲット・スキーマ・ジェネレータとして、プロファイル分析とソース表のルールに基づいてターゲット・スキーマを生成できます。データ修正ジェネレータとしては、データを修正するためのマッピングと変換を生成できます。
データ・プロファイル・エディタには、次のユーザー・インタフェースがあります。
メニュー・バーは、データ・プロファイル・エディタのコマンドへのアクセスを提供します。データ・プロファイル・エディタには、次のメニュー項目が含まれています。
プロファイル 「プロファイル」メニューのオプションは、次のとおりです。
閉じる: データ・プロファイル・エディタを閉じます。
すべて保存: データ・プロファイル・エディタで行った変更を保存します。
エクスポート: プロファイル結果キャンバスおよびデータ・ドリル・パネルに表示されているデータをエクスポートします。Warehouse Builderでは、エクスポートしたデータを.csvまたは.htmlファイルに格納できます。エクスポートしたデータの格納に使用されるファイルの数は、プロファイリング・データの量に応じて異なります。たとえば、エクスポート・ファイル名としてprf_result.htmlを指定すると、データの格納に使用されるファイルはこのファイル名で始まり、データ量に応じてprf_result2.html、prf_result3.htmlとなります。
追加: データ・プロファイルにオブジェクトを追加します。
プロファイル: データ・プロファイルに含まれているオブジェクトをプロファイリングします。
データ・ルールの導出: データ・プロファイリング結果を使用してデータ・ルールを導出します。このオプションを選択できるのは、プロファイル結果キャンバスでハイパーリンクを含むコールを選択した場合のみです。
データ・ルールの削除: 選択したデータ・ルールを削除します。
修正の作成: データ・プロファイリング結果に基づいて修正オブジェクトおよびマッピングを作成します。
印刷: データ・プロファイル・エディタ・ウィンドウの内容を印刷します。
編集 「編集」メニューには次のメニュー項目が含まれています。
削除: データ・プロファイル・エディタで選択したオブジェクトを削除します。
同期化: データ・プロファイルのメタデータをWarehouse Builderリポジトリと同期化します。
プロパティ: データ・プロファイルのプロパティを表示します。
ウィンドウ 「ウィンドウ」メニューを使用して、データ・プロファイル・エディタの各種パネルの表示と非表示を切り替えます。すべてのオプションはトグル・スイッチとして機能します。たとえば、「データ・ルール」パネルを非表示にするには、「ウィンドウ」メニューから「データ・ルール・パネル」を選択します。その後、「ウィンドウ」メニューから「データ・ルール・パネル」を選択すると、「データ・ルール」パネルを表示できます。
ヘルプ 「ヘルプ」メニューのオプションを使用して製品のオンライン・ヘルプにアクセスします。現在のウィンドウの状況依存ヘルプを表示するには、「トピック」オプションを使用します。このメニューには、Oracle Technology Networkの様々なセクションにアクセスするためのオプションも用意されています。
データ・プロファイル・エディタを使用すると、メニューやツールバーを柔軟に使用して目標を達成できます。ツールバーには頻繁に使用するコマンドのアイコンが用意されており、同じアイコンがメニュー・バーにも表示されます。データ・プロファイルへのオブジェクトの追加、データのプロファイリング、データ・ルールの導出、修正の作成などの機能は、ツールバーのアイコンを使用して実行できます。
図20-2は、データ・プロファイル・エディタの各種ツールバーを示しています。データ・プロファイル・エディタを初めて開くと、すべてのツールバーが1行に表示されます。ツールバーの位置は、ツールバーの左にあるグレーのドットにマウスの左ボタンを置いて、押しながら目的の位置にドラッグ・アンド・ドロップすることで変更できます。
オブジェクト・ツリーを使用すると、データ・プロファイルに含まれるオブジェクト間をナビゲートできます。図20-3は、「プロファイル・オブジェクト」および「修正されたモジュール」という2つのタブを含むオブジェクト・ツリーを示しています。
「プロファイル・オブジェクト」タブには、プロファイル対象として選択した全オブジェクトを含むナビゲーション・ツリーが表示されます。このツリーの下位には属性が表示されるため、各属性のプロパティを変更し、属性のプロファイリング設定が正しいことを確認できます。「プロファイル・オブジェクト」タブでオブジェクトを選択すると、そのオブジェクトのプロファイル詳細をプロファイル結果キャンバスで確認できます。また、特定のオブジェクトをダブルクリックして、そのオブジェクトのデータ・オブジェクト・エディタを開くこともできます。
「修正されたモジュール」タブには、データ修正アクションの実行結果として作成されたオブジェクトが表示されます。このタブにオブジェクトが表示されるのは、データ修正アクションを実行した場合のみです。データ修正は、データ・プロファイリング結果に基づいて修正済のソース・データ・オブジェクトを作成するプロセスです。修正済スキーマの作成の詳細は、「スキーマの修正とデータの整備」を参照してください。
「プロパティ・インスペクタ」では、データ・プロファイリング操作の構成パラメータを定義できます。多数のタイプのデータ・プロファイリングは、構成パラメータに依存して分析の制限と仮定を設定します。
たとえば、「ドメイン検出最大個別値件数」パラメータが25に設定されている場合は、1列で26個以上の値が検出されると、この列についてはドメインが考慮されません。パフォーマンスのために各種の分析をオフにすることもできます。これらのプロパティを変更せずにプロファイリングを実行すると、デフォルト値に設定されます。
プロパティ・インスペクタは、実行するデータ・プロファイリングのタイプの指定にも使用します。特定タイプのプロファイリングを実行しない場合は、構成パラメータを使用してそのタイプのデータ・プロファイリングをオフにします。デフォルトで、Warehouse Builderでは、集計、データ型検出、パターン検出、ドメイン検出、一意キー検出、関数従属性検出および行関係検出のプロファイリングが実行されます。集計プロファイリングはオフにできないことに注意してください。
たとえば、データ・プロファイルにCOUNTRIESとJOBSという2つの表が含まれているとします。COUNTRIES表については、集計プロファイリング、データ型プロファイリング、ドメイン検出、パターン検出およびデータ・ルール・プロファイリングを実行します。この場合、プロパティ・インスペクタを使用して、表に対して「データ型検出を使用可能にする」、「ドメイン検出の有効化」、「パターン検出の有効化」、「データ・ルール・プロファイリングを使用可能にする」の各構成オプションを選択します。
構成パラメータとその設定の詳細は、「データ・プロファイルの構成パラメータ」を参照してください。
「モニター・パネル」には、現在実行中のプロファイリング・イベントおよび過去のプロファイリング・イベントの詳細を表示できます。各プロファイリング・イベントの詳細には、プロファイル・イベント名、プロファイル・ジョブID、ステータス、タイムスタンプおよびプロファイリングを実行したリポジトリ所有者が含まれます。図20-4に、「モニター・パネル」を示します。
ジョブをダブルクリックすると、そのジョブの詳細を表示できます。発生した問題および各プロファイリング・ジョブに要した時間が表示されます。
プロファイル結果キャンバスとは、プロファイルの結果を表示できる場所です。図20-5に、「プロファイル結果キャンバス」パネルを示します。列のヘッダーをクリックして結果をソートできます。
次のタブをクリックして、オブジェクトの様々な側面について詳細なプロファイル分析を表示します。
ハイパーリンクをクリックしてデータにドリルします。データにドリルすると、データ結果が「データ・ドリル・パネル」に表示されます。選択したタブによって、使用可能なフォーマット・サブタブが異なる場合があります。すべての分析タブで使用可能なサブタブは、結果がグリッドまたは表形式で表示される「表形式」、チャートとグラフの配列が表示される「グラフィカル」です。「プロファイル結果キャンバス」からルールを導出することもできます。
いずれかのヘッダーをクリックして、値を昇順と降順で交互にソートします。「グラフィカル」サブタブには、様々なメジャーのグラフィック表現が表示されます。
「データ・ドリル・パネル」を使用して、「プロファイル結果キャンバス」で選択したオブジェクトからの問題のあるデータを表示します。データのドリルダウンは、プロファイル結果キャンパスのすべてのタブで使用できます。図20-6に、プロファイルされたオブジェクトの「データ・ドリル・パネル」を示します。
このパネルの最初のセンテンスには、表示されたドリルの詳細が属している属性が示されます。データにドリルすると、結果が「データ・ドリル・パネル」の左側に表示されます。「個別値」リストを使用して、パネルの左側に表示されるデータをフィルタ処理します。このデータにさらにドリルしてレコード全体を表示できます。パネルの左側の任意の行をクリックすると、選択したレコードが「データ・ドリル・パネル」の右側に表示されます。
集計された行数は左側に表示されます。したがって、給与が2400の行が2行あります。表全体では109行になりますが、左側には検出された個別値である57行のみが表示されます。
「データ・ルール・パネル」では、プロファイリングの結果作成されたデータ・ルールを表示できます。図20-7に、「データ・ルール・パネル」を示します。
このパネルの左側には、データ・プロファイリングの結果としてオブジェクト・ツリーの「プロファイル・オブジェクト」タブで選択されたオブジェクトに対して作成されたデータ・ルールが表示されます。データ・プロファイルに表を指定すると、表に対するデータ・ルールまたはチェック制約が自動的に追加されます。データ・ルールは、データ・プロファイルが含まれているプロジェクトの「データ・ルール」ノードの下のDerived_Data_Rulesノードに追加されます。
このパネルにルールを追加する方法は次のとおりです。
「プロファイル結果キャンバス」の一部のタブでは、「データ・ルールの導出」ボタンがあります。このボタンは、タブ内のハイパーリンクが選択されると有効になります。「データ・ルールの導出」をクリックして、選択した結果に対してデータ・ルールを導出します。
データ・ルールがすでに導出されている場合は、「ルールの削除」ボタンが有効になります。
「データ・ルール・パネル」の「ルールの適用」をクリックします。データ・ルールの適用ウィザードが表示されます。このウィザードの詳細は、「データ・ルールの導出」を参照してください。このウィザードを使用して、既存のデータ・ルールを選択し、オブジェクト・ツリーで選択されている表にルールを適用します。
「データ・ルール・パネル」のデータ・ルールは、その左側にあるチェック・ボックスの選択を解除することで無効にできます。データ・ルールを削除するには、データ・ルールの左側のグレーのセルをクリックして「削除」を選択します。
適用されたデータ・ルールに表示される詳細は、次のとおりです。
名前: 適用されるデータ・ルールの名前。
ルール: このフィールドをクリックして、データ・ルールが含まれているモジュールの名前およびデータ・ルールの名前を表示します。このフィールドの省略ボタンをクリックすると、「データ・ルールの編集」ダイアログが起動し、データ・ルールを編集できます。
ルール・タイプ: データ・ルールのタイプ。これは編集できません。
説明: 適用されるデータ・ルールの説明。
データ・プロファイルを構成するには、データ・プロファイル・エディタのプロパティ・インスペクタで構成パラメータを設定します。構成できるプロパティの詳細は、「データ・プロファイルの構成パラメータ」を参照してください。
データ・プロファイルの構成パラメータは、次のいずれかのレベルで設定できます。
データ・プロファイル内のすべてのオブジェクト
データ・プロファイルに含まれた全オブジェクトの構成パラメータを設定するには、オブジェクト・ツリーの「プロファイル・オブジェクト」タブでデータ・プロファイルを選択します。プロパティ・インスペクタで、構成パラメータを必要な値に設定します。これらのパラメータは、データ・プロファイル内の全オブジェクトに対して設定されます。
データ・プロファイル内の単一オブジェクト
データ・プロファイル内の単一オブジェクトの構成パラメータを設定するには、オブジェクト・ツリーの「プロファイル・オブジェクト」タブでオブジェクトを選択します。プロパティ・インスペクタで構成パラメータを設定します。
オブジェクト内の属性
オブジェクト内の属性の構成パラメータを設定するには、オブジェクト・ツリーの「プロファイル・オブジェクト」タブで、オブジェクト・ノードを開いて中の属性を表示します。たとえば、表ノードを開いて表列を表示できます。構成パラメータを指定する属性を選択します。プロパティ・インスペクタで構成パラメータを設定します。
データ・プロファイルに対して設定できる構成パラメータは、次のカテゴリに分類されています。
このカテゴリに含まれるパラメータは、次のとおりです。
データ型検出を使用可能にする: このパラメータをTRUEに設定すると、選択した表のデータ型検出が有効になります。
共通形式検出を使用可能にする: このパラメータをTRUEに設定すると、選択した表の共通形式検出が有効になります。
データをワークスペースにコピー: このパラメータをTRUEに設定すると、ソースからプロファイル・ワークスペースへのデータのコピーが有効になります。
ランダム・サンプル率: この値は、ロード時にランダムに選択される合計行のパーセントを表します。
サンプル・セット・フィルタ: データをプロファイル・ワークスペースにロードするときにソースに適用されるWHERE句を表します。このフィールドの省略記号のボタンをクリックして、式ビルダーを起動します。これを使用してWHERE句を定義します。
NULL値表現: プロファイリング時にこの値はNULL値とみなされます。値は一重引用符で囲む必要があります。デフォルト値はNULLであり、データベースNULLとみなされます。
このカテゴリは、「NOT NULL推奨率」というパラメータ1つで構成されています。列内のNULL値の割合がこのしきい値の割合より低い場合、その列はNOT NULLの可能性がある列として検出されます。
このカテゴリに含まれるパラメータは、次のとおりです。
パターン検出の有効化: これをTrueに設定すると、パターン検出が使用可能になります。
最大パターン数: プロファイラが属性に対して取得するパターンの最大数を表します。たとえば、このパラメータを10に設定すると、プロファイラは属性に対して上位10パターンを取得します。
このカテゴリに含まれるパラメータは、次のとおりです。
ドメイン検出の有効化: これをTrueに設定すると、ドメイン検出が有効になります。
ドメイン検出最大個別値件数: 列内の個別値の最大数で、その列がドメインによって定義されている可能性があると検出されるためのものです。その列内の個別値の数が最大の個別値カウント・プロパティと同じかそれ以下で、個別値の数の行数合計に占める割合が最大の個別値パーセント・プロパティと同じかそれ以下である場合、列のドメイン検出が発生します。
ドメイン検出最大個別値パーセント: 列内の個別値の最大数を表中の行数合計に対する割合で表したもので、その列がドメインによって定義されている可能性があると検出されるためのものです。その列内の個別値の数が最大の個別値カウント・プロパティと同じかそれ以下で、個別値の数の行数合計に占める割合が最大の個別値パーセント・プロパティと同じかそれ以下である場合、列のドメイン検出が発生します。
ドメイン値準拠最小行数: 指定された個別値の行の最小数で、その個別値がドメインに準拠しているとみなされるための数値です。その値を持つ行の数が最小の行カウント・プロパティと同じかそれ以上で、その値を持つ行の数の行数合計に占める割合が最小の行パーセント・プロパティと同じかそれ以上である場合、値に対するドメイン値準拠が発生します。
ドメイン値準拠最小行パーセント: 指定された個別値の行の最小数を行数合計に対する割合で表したもので、その個別値がドメインに準拠しているとみなされるための数値です。その値を持つ行の数が最小の行カウント・プロパティと同じかそれ以上で、その値を持つ行の数の行数合計に占める割合が最小の行パーセント・プロパティと同じかそれ以上である場合、値に対するドメイン値準拠が発生します。
このカテゴリには、単一のパラメータ「最大属性カウント」が含まれています。これは、一意キー、外部キーおよび機能依存プロファイリングの属性の最大数です。
このカテゴリに含まれるパラメータは、次のとおりです。
一意キー検出の有効化: このパラメータをTrueに設定すると、一意キー検出が使用可能になります。
最小一意性割合: これは、一意キー関係を満たすために必要な行の最小割合です。
このカテゴリに含まれるパラメータは、次のとおりです。
関数従属性検出の有効化: このパラメータをTrueに設定すると、関数従属性検出が使用可能になります。
最小関数従属性割合: これは、関数従属性を満たすために必要な行の最小割合です。
このカテゴリに含まれるパラメータは、次のとおりです。
関係検出の有効化: このパラメータをTrueに設定すると、外部キー検出が使用可能になります。
最小関係割合: これは、外部キー関係を満たすために必要な行の最小割合です。
このカテゴリに含まれるパラメータは、次のとおりです。
冗長列検出の有効化: このパラメータをTrueに設定すると、外部キーと一意キーのペアに関して冗長列検出が使用可能になります。
最小冗長性割合: これは、冗長な行の最小割合です。
このカテゴリには、単一パラメータ「表のデータ・ルール・プロファイリングを使用可能にします。」が含まれています。このパラメータをTrueに設定すると、選択した表のデータ・ルール・プロファイリングが使用可能になります。この設定を適用できるのは表のみで、個別の属性には適用できません。
ナビゲーション・ツリーでデータ・プロファイルを作成した後、それをデータ・プロファイル・エディタで開いてデータをプロファイリングできます。データ・プロファイル・エディタのオブジェクト・ツリーには、プロファイルの作成時に選択したオブジェクトが表示されます。「プロファイル」→「追加」を選択すると、プロファイルにオブジェクトを追加できます。
データをプロファイリングする手順は、次のとおりです。
ナビゲーション・ツリーで「データ・プロファイル」ノードを開き、データ・プロファイルを右クリックして「エディタを開く」を選択します。
選択したデータ・プロファイルがデータ・プロファイル・エディタに開きます。
「プロファイル」メニューから「プロファイル」を選択します。
初めてデータをプロファイリングする場合は、「データ・プロファイル設定」ダイアログが表示されます。このダイアログにプロファイリング・ワークスペースの詳細を入力します。詳細は、「「データ・プロファイル設定」ダイアログ」を参照してください。
Warehouse Builderにより、プロファイリングに使用するメタデータの準備が開始されます。「進行状況」ウィンドウが表示され、Warehouse Builderによるデータのプロファイリング用に作成中のオブジェクトの名前が表示されます。メタデータの準備が完了すると、プロファイリング・ジョブが開始されたことを示す「プロファイリングが開始されました」ダイアログが表示されます。プロファイリング・ジョブの開始後、データ・プロファイリングが非同期に実行されます。Warehouse Builderで作業を続行でき、クライアントを終了することもできます。プロファイリング・プロセスは、完了するまで引き続き実行されます。
データ・プロファイル・エディタの「モニター」パネルでプロファイリング・ジョブのステータスを確認します。
プロファイリング・ジョブの進行状況は、「モニター」パネルで引き続きモニターできます。プロファイリング・ジョブが完了すると、ステータスが「完了」として表示されます。
プロファイリングが完了すると、「プロファイル結果の取得」ダイアログが表示され、結果のリフレッシュを求めるプロンプトが表示されます。
前に同じデータ・プロファイルでデータをプロファイリングしたことがある場合は、このオプションを使用できます。これにより、新規のプロファイリング結果がデータ・プロファイル・エディタで参照可能になる時期を制御できます。
注意: データ・プロファイリング結果は、以降にプロファイリングを実行すると上書きされます。 |
「データ・プロファイル設定」ダイアログには、データ・プロファイリング・ワークスペースに関する詳細が含まれています。プロファイリング・ワークスペースは、Warehouse Builderがプロファイリングの結果を格納するために使用するスキーマです。プロファイリング・ワークスペースの設定は、リポジトリごとに1回実行されます。
「データ・プロファイル設定」ダイアログが最初に表示されるとき、このダイアログには2つのフィールドがあります。
SYSDBA名: SYSDBA権限を持つデータベース・ユーザーの名前です。
SYSDBAパスワード: 「SYSDBA名」フィールドに指定したユーザーのパスワードです。
この情報は、Warehouse Builderによってデータ・プロファイリング・ワークスペースのスキーマが作成されるときに必要となります。「OK」をクリックすると、Warehouse Builderはデフォルト名を使用し、データ・プロファイリング・アクティビティに関するデータを格納するデータベース・スキーマを作成します。また、このスキーマに関連付けられているロケーションが作成および登録されます。たとえば、リポジトリ所有者の名前がrep_own
である場合、Warehouse Builderは、rep_own_prf
という名前のスキーマと、rep_own_prf_location
という名前のロケーションを作成します。
データ・プロファイリングのスキーマとロケーションとして独自の名前を使用する場合は、「詳細の表示 >>」をクリックします。「データ・プロファイル設定」ダイアログに、次のフィールドが表示されます。
名前: プロファイリング・ワークスペースとして使用されるスキーマの名前。
パスワード: スキーマのパスワード。
パスワードの確認: スキーマのパスワードを確認します。
「デフォルト」および「一時」ドロップダウン・リストを使用して、データ・プロファイリング・スキーマのデフォルト表領域および一時表領域を選択します。「OK」をクリックし、スキーマおよびこのスキーマに関連するロケーションを作成します。たとえば、スキーマ名をprofile_workspace
として指定すると、profile_workspace_location
という名前のロケーションが作成され、このスキーマに関連付けられます。
ヒント: 別の表領域を使用して、この表領域の個別のデータベース・ファイルを使用することをお薦めします。 |
Warehouse Builderは、この手順で作成されたロケーションをすべてのデータ・プロファイルのデフォルトのロケーションとして使用します。デフォルトのデータ・プロファイリング・ロケーションは、グローバルに変更することも、特定のデータ・プロファイルについて変更することもできます。デフォルトのプロファイル・ロケーションをグローバル・レベルで変更するには、「デザイン・センター」の「ツール」メニューから「プリファレンス」を選択します。「データ・プロファイリング」ノードの下にある「デフォルト・プロファイル・ロケーション」プリファレンスで新しいロケーションを選択します。データ・プロファイルのデータ・プロファイル・ロケーションを変更するには、「「データのロケーション」タブ」を参照してください。
プロファイル操作の完了後に、データ・プロファイルをデータ・プロファイル・エディタで開いて結果を表示し、分析できます。
プロファイル結果を表示する手順は、次のとおりです。
ナビゲーション・ツリーでデータ・プロファイルを選択し、右クリックして「エディタを開く」を選択します。
データ・プロファイル・エディタが開き、データ・プロファイルが表示されます。
前にデータ・プロファイル・エディタにデータ・プロファイリング結果を表示したことがある場合は、最新の結果が表示されるように、プロンプトが表示された時点で表示をリフレッシュします。
プロファイリングの結果がプロファイル結果キャンバスに表示されます。
「データ・ルール」パネルと「モニター」パネルの左上隅にある矢印記号をクリックし、この2つのパネルを最小化します。
これにより、画面領域が最大化されます。
オブジェクト・ツリーの「プロファイル・オブジェクト」タブでオブジェクトを選択し、特定のオブジェクトの結果にフォーカスを置きます。
選択したオブジェクトの結果がプロファイル結果キャンバスに表示されます。オブジェクト間で切り替えることができます。前のオブジェクト用に選択したタブが選択されたままになっています。
プロファイル結果キャンバスでは、次の結果を使用できます。
「データ・プロファイル」タブには、データ・プロファイルの一般情報が表示されます。このタブを使用して、データ・プロファイルに関するノートや情報を格納します。
図20-8に示すように、「プロファイル・オブジェクト」タブには「オブジェクト・データ」および「オブジェクト・ノート」という2つのサブタブがあります。「オブジェクト・データ」タブには、オブジェクト・ツリーの「プロファイル・オブジェクト」タブで選択したオブジェクト内のデータ・レコードがリスト表示されます。サンプルで使用した行数がリストされます。タブの上部にあるボタンを使用すると、問合せの実行、データの追加取得またはWHERE
句の追加ができます。
図20-9に示すように、「集計」タブには、最小値、最大値、個別値の数、NULL値など、各列の基本的なメジャーがすべて表示されます。一部のメジャーは特定のデータ型に対してのみ使用可能です。たとえば、平均、中央値、標準偏差などのメジャーです。情報は、「表形式」サブタブまたは「グラフィカル」サブタブで参照できます。表20-1に、「集計」タブで使用可能な各種の測定結果を説明します。
表20-1 集計結果
メジャー | 説明 |
---|---|
最小 |
特定のタイプのデータベース固有の順序付けに関する最小値 |
最大 |
特定のタイプのデータベース固有の順序付けに関する最大値 |
個別数 |
特定の属性の個別値の合計数 |
%個別 |
行セット数全体に対する個別値数の割合 |
NOT NULL |
はいまたはいいえ |
推奨NOT NULL |
データ・プロファイリングでは、列値の分析に基づいて、この列にNULL値を許可しないように決定されます。 |
NULL数 |
特定の属性のNULL値の合計数 |
% NULL |
行セット数全体に対するNULL値の割合 |
シックスシグマ |
列ごとの、表の合計行数(可能性)に対するNULL値(欠損)の数 |
平均 |
行セット全体に対する特定の属性の平均値 |
中央値 |
行セット全体に対する特定の属性の中間値 |
標準偏差 |
特定の属性の標準偏差 |
集計結果グリッド内でハイパーリンクになっている値は、その値をクリックするとデータにドリルダウンできることを示します。これにより、この結果を生成したサンプルのデータを分析できます。たとえば、図20-9に示すように、SALARY列までスクロールして24000と表示されている「最大」セルの値をクリックすると、下部の「データ・ドリル・パネル」が変更され、この列のすべての個別値とカウントが左側に表示されます。右側のデータ・ドリルでは、個別値から選択した値にズームインして、これらの値が検出されたレコード全体を表示できます。
図20-10に示すように、グラフィカル分析では結果がグラフ形式で表示されます。グラフィカル・ツールバーを使用して表示を変更できます。また、「列」および「プロパティ」ドロップダウン・メニューを使用して、表示されるデータ・オブジェクトを変更することもできます。
図20-11に示すように、「データ型」タブにはデータ型のプロファイリング結果が表示されます。これには、文字データ型の長さや数値データ型の精度とスケールなどのメトリックが含まれます。検出された各データ型は、属性全体で検出された主要なデータ型と比較され、主要なメジャーに準拠する行の割合が表示されます。
表20-2に、「データ型」タブで使用可能な各種の測定結果を説明します。
表20-2 データ型の結果
メジャー | 説明 |
---|---|
列 |
列の名前 |
文書化されたデータ型 |
ソース・オブジェクト内の列のデータ型 |
主要なデータ型 |
データ・プロファイリングでは、列値の分析に基づいて、これが主要な(最も頻度の高い)データ型であることが判別されます。 |
%主要なデータ型 |
列値が主要なデータ型を持つ行の合計行数に対する割合 |
文書化された長さ |
ソース・オブジェクト内のデータ型の長さ |
最小長 |
列に格納されているデータの最大長 |
最大長 |
列に格納されているデータの最大長 |
主要な長さ |
データ・プロファイリングでは、列値の分析に基づいて、これが主要な(最も頻度の高い)長さであると判別されます。 |
%主要な長さ |
列値が主要な長さである行の合計行数に対する割合 |
文書化された精度 |
ソース・オブジェクト内のデータ型の精度 |
最小精度 |
ソース・オブジェクト内の列の最小精度 |
最大精度 |
ソース・オブジェクト内の列の最大精度 |
主要な精度 |
データ・プロファイリングでは、列値の分析に基づいて、これが主要な(最も頻度の高い)精度であると判別されます。 |
%主要な精度 |
列値が主要な精度を持つ行の合計行数に対する割合 |
文書化されたスケール |
ソース・オブジェクト内のデータ型に指定されているスケール |
最小スケール |
ソース・オブジェクト内のデータ型の最小スケール |
最大スケール |
ソース・オブジェクト内のデータ型の最大スケール |
主要なスケール |
データ・プロファイリングでは、列値の分析に基づいて、これが主要な(最も頻度の高い)スケールであると判別されます。 |
%主要なスケール |
列値が主要なスケールを持つ行の合計行数に対する割合 |
データ型のプロファイリングの一例は、VARCHARとして定義されていて実際には数値のみが格納されていた列を検出することです。この列のデータ型をNUMBERに変更すると、格納と処理の効率が向上します。
図20-12に示すように、「ドメイン」タブには、特定の属性に存在する可能性のある値セットに関する結果が表示されます。情報は、「表形式」サブタブまたは「グラフィカル」サブタブに表示できます。
表20-3に、「ドメイン」タブで使用可能な各種の測定結果を説明します。
表20-3 ドメイン結果
メジャー | 説明 |
---|---|
検出されたドメイン |
検出されたドメイン値 |
%準拠 |
すべての列値のうち、検出されたドメイン値に準拠する列値の割合 |
シックスシグマ |
ドメイン結果のシックスシグマ値 |
列のドメインを検出するプロセスには2つのフェーズがあります。最初に、列の個別値を使用して、その列がドメインで定義されている可能性があるかどうかが判別されます。通常、ドメインにはいくつか個別値が存在します。次に、可能性のあるドメインが識別され、個別値のカウントを使用して、その個別値がドメインに準拠しているかどうかが判別されます。ドメイン検出の両方のフェーズのしきい値を制御するプロパティは、プロパティ・インスペクタで設定できます。
詳細が必要な結果がみつかった場合は、ドリルダウンし、データ・ドリル・パネルを使用して、結果の原因に関する詳細を参照します。
たとえば、列REGION_IDについて4つの値3、2、4および1のドメインが検出されたとします。この検出結果に影響したレコードを調べるには、REGION_ID行を選択してデータ・ドリル・パネルで詳細を参照します。
「パターン」タブには、属性内のパターンに関して検出された情報が表示されます。パターン検出とは、プロファイラが特定の属性について検出したデータの正規表現の生成を試行することです。パターン検出プロセスでは、英語以外の文字がサポートされていないことに注意してください。
表20-4に、「パターン」タブで使用可能な各種の測定結果を説明します。
表20-4 パターン結果
メジャー | 説明 |
---|---|
主要な文字パターン |
最も検出頻度の高かった文字パターンまたはコンセンサス・パターン。 |
%準拠 |
データ・パターンが主要な文字パターンと一致した行の割合。 |
主要な単語パターン |
最も検出頻度の高かった単語パターンまたはコンセンサス・パターン。 |
%準拠 |
データ・パターンが主要な単語パターンと一致した行の割合。 |
共通形式 |
名前、アドレス、日付、ブール、社会保障番号、電子メール、URL。これは、プロファイラによる参照しているデータへのセマンティクス認識の追加試行です。パターンと他のなんらかのテクニックに基づいて、特定の属性のデータが属しているドメイン・バケットの表現が試行されます。 |
%準拠 |
データ・パターンがコンセンサス共通形式パターンと一致した行の割合 |
図20-13に示すように、「一意キー」タブには、データ・ディクショナリに文書化されていた既存の一意キーと、データ・プロファイリング操作により検出された可能な一意キーまたはキーの組合せに関する情報が表示されます。キーごとに一意性割合が示されます。「文書化済ですか。」列が「いいえ」になっているのは、データ・プロファイリングにより検出された一意キーです。たとえば、一意キーUK_1はデータ・プロファイリングの結果として検出されましたが、COUNTRY_C_ID_PKはデータ・ディクショナリに存在します。
たとえば、電話番号は98%のレコードで一意です。これは一意キーの候補として使用でき、Warehouse Builderを使用して準拠しないレコードを整備できます。また、ドリルダウン機能を使用して、電話番号の重複の原因をデータ・ドリル・パネルに表示することもできます。表20-5に、「一意キー」タブで使用可能な各種の測定結果を説明します。
表20-5 一意キーの結果
メジャー | 説明 |
---|---|
一意キー |
検出された一意キー |
文書化済ですか。 |
「はい」または「いいえ」。「はい」は、その列の一意キーがデータ・ディクショナリに存在することを示します。「いいえ」は、その一意キーがデータ・プロファイリングの結果として検出されたことを示します。 |
検出済ですか。 |
データ・プロファイリングでは、列値の分析に基づいて、「ローカル属性」列に表示される列に一意キーを作成する必要があるかどうかが判別されます。 |
ローカル属性 |
プロファイリングされた表の列の名前 |
一意の数 |
ソース・オブジェクト内で、ローカル属性で表される属性が一意である行の数 |
%一意 |
ソース・オブジェクト内で、ローカル属性で表される属性が一意である行の割合 |
シックスシグマ |
列ごとの、表の合計行数(可能性)に対するNULL値(欠損)の数 |
図20-14に示すように、「関数従属性」タブには、他の属性に依存するか他の属性を決定付けると思われる属性の情報が表示されます。情報は、「表形式」サブタブまたは「グラフィカル」サブタブに表示できます。「表示」ドロップダウン・リストを使用すると、レポートのフォーカスを変更できます。データ・プロファイリング中は、データベース内で定義されている一意キーが関数従属性として検出されないことに注意してください。
表20-6に、「関数従属性」タブで使用可能な各種の測定結果を説明します。
表20-6 関数従属性の結果
メジャー | 説明 |
---|---|
決定子 |
「依存」に表示される属性を決定するものと判明した属性の名前 |
依存 |
他の属性の値により決定されることが判明した属性の名前 |
欠陥数 |
決定子属性の値のうち、依存属性により決定されなかった値の数 |
%準拠 |
検出された依存性を満たしている値の割合 |
シックスシグマ |
シックスシグマ値 |
タイプ |
検出された依存性に対する推奨アクション |
たとえば、「表示」ドロップダウン・リストから「100%の依存性のみ」を選択すると、表示される情報は絶対依存性に限定されます。図20-14に示すように、常に他の属性に依存する属性がある場合、Warehouse Builderではそれが参照表の候補であることを推奨できます。この推奨は「タイプ」列に表示されます。属性を別の参照表に移動すると、スキーマが正規化されます。
「関数従属性」タブには「グラフィカル」サブタブも表示されるため、情報をグラフ形式で表示できます。ドロップダウン・リストから依存性とプロパティを選択し、グラフ・データを表示できます。
たとえば、図20-15では、DEPARTMENT_IDがCOMMISSION_PCTを決定付けると思われる依存性(DEPARTMENT_ID->COMMISSION_PCT)を選択しています。大多数の場合、COMMISION_PCTはNULLです。したがって、Warehouse BuilderではほとんどのDEPARTMENT_ID値がCOMMISION_PCTをNULLに決定付けるものと判断されます。プロパティを「非準拠」に切り替えると、この検出の例外を表示できます。図20-15は、80のDEPARTMENT_ID値についてCOMMISION_PCT値がNULLでないことを示しています。これは、DEPARTMENT_ID 80の部門がSales部門であることが検出された後に意味を持ちます。
「参照」タブには、データ・ディクショナリに文書化されている外部キーとプロファイリング中に検出された関係に関する情報が表示されます。関係ごとに準拠レベルを表示できます。情報は、「表形式」サブタブと「グラフィカル」サブタブの両方で参照できます。また、他の2つのサブタブ「結合」および「冗長列」は、「参照」タブでのみ使用可能です。表20-7は、「参照」タブで使用可能な各種の測定結果を示しています。
表20-7 参照の結果
メジャー | 説明 |
---|---|
関係 |
関係の名前 |
タイプ |
関係のタイプ |
文書化済ですか。 |
「はい」または「いいえ」。「はい」は、その列の外部キーがデータ・ディクショナリに存在することを示します。「いいえ」は、その外部キーがデータ・プロファイリングの結果として検出されたことを示します。 |
検出済ですか。 |
データ・プロファイリングでは、列値の分析に基づいて、「ローカル属性」に表示される列に外部キーを作成する必要があるかどうかが判別されます。 |
ローカル属性 |
ソース・オブジェクト内の属性の名前 |
リモート・キー |
ローカル属性の参照先オブジェクト内のキーの名前 |
リモート属性 |
参照先オブジェクト内の属性の名前 |
リモート・リレーション |
ソース・オブジェクトの参照先オブジェクトの名前 |
リモート・モジュール |
参照オブジェクトを含むモジュールの名前 |
カーディナリティ範囲 |
2つの属性間のカーディナリティの範囲 たとえば、EMP表に5行の従業員データが含まれているとします。部門10および20にそれぞれ従業員が2人、部門30に従業員が1人います。DEPT表には3行の部門データがあり、それぞれのdeptno値が10、20および30となっています。 データ・プロファイリングでは、EMP表とDEPT表の行関係が検索されます。カーディナリティ範囲は1-2:1-1となります。これは、EMP表では個別値ごとの行数が1(deptno 30)から2(deptno 10および20)の範囲内にあるためです。DEPT表には、個別値(10、20および30)ごとに1行しかありません。 |
親なしの子の数 |
ソース・オブジェクト内の親なしの子行の数 |
%準拠 |
検出された依存性を満たしている値の割合 |
シックスシグマ |
列ごとの、表の合計行数(可能性)に対するNULL値(欠損)の数 |
たとえば、EmployeesおよびDepartmentsという2つの表の参照関係を分析しているとします。図20-16に示した「参照」のデータ・プロファイリング結果を使用すると、Employees表のDEPARTMENT_ID列が、その時点でDepartments表の98%でDEPARTMENT_ID列に関連付けられているものとして検出されたことがわかります。次に、「検出済ですか。」列でハイパーリンクとなっている「はい」をクリックすると、検出された外部キー関係に準拠していなかった行を表示できます。
また、「グラフィカル」サブタブを選択して情報をグラフ形式で表示することもできます。このビューは、親なしの子のような非準拠レコードを調べる場合に有効です。「グラフィカル」サブタブを使用するには、「参照」および「プロパティ」ドロップダウン・リストから項目を選択します。図20-17は、Employees表のレコードをグラフ形式で表示したものです。
「結合」サブタブには、「参照」ドロップダウン・リストから選択した参照の結合分析が表示されます。結果は、参照関係に可能性のある3つの結果(結合、親なしの子、子なしのオブジェクト)の相対サイズと正確なカウントを示します。
たとえば、EMPLOYEES表とDEPARTMENTS表の両方にDEPARTMENT_ID列が含まれているとします。DEPARTMENTS表のDEPARTMENT_ID列とEMPLOYEES表のDEPARTMENT_ID列の間には、1対多の関係が存在します。「結合」は、両方の表に値を持つ値を表します。「親なしの子」は、EMPLOYEES表にのみ存在してDEPARTMENTS表には存在しない値を表します。「子なし」の値は、DEPARTMENTS表には存在しますがEMPLOYEES表には存在しません。図20-18に示すように、ダイアグラム上の値にドリルインして「データ・ドリル・パネル」に詳細を表示できます。
「冗長列」サブタブには、子表に含まれていて主表にも含まれている列に関する情報が表示されます。冗長列の結果を使用できるのは、プロファイリング中に完全に一意の列が検出された場合のみです。
たとえば、表20-8および表20-9に示すように、2つの表EMP
およびDEPT
が、EMP.DEPTNO (uk) = DEPT.DEPTNO (fk)という外部キー関係を持つとします。
この例で、EMP
表のLocation列は、結合から同じ情報を取得できるため冗長列です。
「データ・ルール」タブには、オブジェクト・ツリーで選択した表のデータ・プロファイリング結果として定義されたデータ・ルールが表示されます。各データ・ルールには、次の詳細が含まれています。
ルール名: データ・ルール名を表します。
ルール・タイプ: データ・ルールのタイプの簡潔な説明を入力します。
元: データ・ルールの元を表します。たとえば、値「導出済」はデータ・ルールが導出されたことを示します。
%準拠: データ・ルールに準拠している行の割合。
欠陥数: データ・ルールに準拠しない行数。
このタブに表示されるデータ・ルールは、「データ・ルール」パネルでアクティブになっているデータ・ルールを反映しています。このタブでデータ・ルールを直接作成することはできません。
データ・プロファイリング・プロセスでは、この段階でデータのクリーン・アップに使用可能なデータ・ルールを導出することで、データ・プロファイリング結果のチューニングを開始できます。データ・ルールは、データ・オブジェクトに格納できる有効データのセットを決定する式です。また、データ・オブジェクト間に使用できる有効な関係のセットも、データ・ルールにより決定されます。データ・ルールを作成して手動でデータ・プロファイルに適用することもできますが、導出済データ・ルールを使用するとデータ・プロファイリングとデータ修正の間ですばやくシームレスに移動できます。データ・ルールの作成方法の詳細は、「データ・ルールの使用」を参照してください。
たとえば、Employees
という表にEmployee_Number
、Gender
、Employee_Name
の各列が含まれているとします。プロファイリング結果は、Employee_Number
列の値の90%が一意であり、一意キーの優れた候補であることを示しています。また、Gender
列の値の85%が「M」または「F」であり、ドメインに適した候補でもあることを示しています。そこで、これらのルールをプロファイル結果キャンバスから直接導出できます。
データ・ルールを導出する手順は、次のとおりです。
ナビゲーション・ツリーでデータ・プロファイルを選択し、右クリックして「エディタを開く」を選択します。
プロファイリング結果を示すデータ・プロファイル・エディタが表示されます。
プロファイリング結果を確認し、データ・ルールに導出する検出内容を決定します。
データ・ルールを保証する結果のタイプは様々です。一般にデータ・ルールに導出される結果によっては、検出されたドメイン、2つの属性間の関数従属性または一意キーが含まれることがあります。
データ・ルールの導出元として使用する結果が表示されるタブをクリックします。
図20-19では、「ドメイン」タブが選択されています。データ・プロファイリングでは、Region_ID属性に100%準拠するドメインが検出されています。
データ・ルールに導出する結果を含んだセルを選択し、「プロファイル」メニューから「データ・ルールの導出」を選択します。または、「データ・ルールの導出」ボタンをクリックします。
データ・ルールの導出ウィザードが開いてようこそページが表示されます。
「次へ」をクリックします。
名前と説明ページが表示されます。
「名前」フィールドに、データ・ルールのデフォルト名が表示されます。デフォルト名をそのまま使用するか、新しい名前を入力できます。
「次へ」をクリックします。
ルールの定義ページが表示されます。
データ・ルール・パラメータの詳細を入力します。
データ・ルールのタイプを表す「タイプ」フィールドには、データ・ルールの導出元となったタブに基づいて値が移入されます。データ・ルールのタイプは編集できません。
このページの下部にある他のフィールドでは、データ・ルールのパラメータを定義します。一部のフィールドには、データ・プロファイリング結果に基づいて値が移入されます。フィールドの数とタイプは、データ・ルールのタイプに応じて異なります。
「次へ」をクリックします。
サマリー・ページが表示されます。このページを使用して、ウィザードで設定したオプションを確認します。選択した値の変更が必要な場合は、「戻る」をクリックします。
「終了」をクリックします。
データ・ルールが作成され、データ・プロファイル・エディタの「データ・ルール」パネルに表示されます。導出されたデータ・ルールは、プロジェクト・エクスプローラの「データ・ルール」ノードの下にある「Derived_Data_Rules」ノードにも追加されます。このデータ・ルールを他のデータ・オブジェクトにアタッチして再使用できます。
データ・ルールを導出した後は、Warehouse Builderを使用して、データ・プロファイリング結果に基づいてソース・データの修正プロセスを自動化できます。修正プロセスの一部として、Warehouse Builderにより次のものが作成されます。
新しく導出されたデータ・ルールに従って修正された表
データの整備に使用する修正マッピング
修正マッピングはデータ・ルールを順守します。プロファイル・ソース表内の劣化した古い表からデータを移動する際に、これらのマッピングにより、データ・ルールに準拠しないレコードが修正されます。
これらのオブジェクトはWarehouse Builderで定義されます。これらのオブジェクトをターゲット・スキーマに実装するには、修正表と修正マッピングを配布する必要があります。修正マッピングを配布する前に、次の操作を実行する必要があります。
データ・プロファイリングの結果として作成された修正表を配布します。修正表の名前はTMP__で開始します。たとえば、EMPLOYEES
表をプロファイリングすると、修正表はTMP__EMPLOYEES
という名前になります。
ソース表に対するSELECT
権限をPUBLIC
に付与します。たとえば、修正マッピングにHR
スキーマのEMPLOYEES
表が含まれているとします。この修正マッピングは、HR.EMPLOYEES
表のPUBLIC
に対してSELECT
権限が付与されている場合にのみ配布できます。
修正を作成するには、データ・プロファイル・エディタで「プロファイル」→「修正の作成」を順番に選択します。修正の作成ウィザードが開き、ようこそページが表示されます。「次へ」をクリックします。ウィザードに表示される指示に従って次のページを完了します。
ターゲット・モジュールの選択ページを使用して、修正済オブジェクトを格納するターゲット・モジュールを指定します。新規のターゲット・モジュールを作成するか、既存のモジュールを選択できます。
既存のモジュールに修正済オブジェクトを格納するには、「既存のモジュールを選択」を選択します。新規モジュールを作成するには「新規ターゲット・モジュールの作成」を選択します。これにより、モジュールの作成ウィザードが起動します。
オブジェクトの選択ページを使用して、修正するオブジェクトを選択します。
「フィルタ」ドロップダウン・リストを使用すると、選択可能なオブジェクトをフィルタできます。デフォルト選択は「すべてのオブジェクト」です。表やビューなど、特定タイプのデータ・オブジェクトのみを表示できます。
「使用可能」セクションには、修正可能なオブジェクトがすべて表示されます。各オブジェクト・タイプはノードで表示されます。このノード内でオブジェクトがモジュール別にグループ化されています。修正するオブジェクトを選択して「選択済」セクションに移動します。
このページを使用して、選択したオブジェクトに適用するデータ・ルールを選択します。修正用に選択したオブジェクトはページの左側にあるツリーにモジュール別に編成されています。右パネルには「データ・ルール」および「データ型」という2つのタブがあります。
データ・ルール
「データ・ルール」タブには、オブジェクト・ツリーで選択されたオブジェクトに使用可能なデータ・ルールが表示されます。修正されたオブジェクトに適用するデータ・ルールを指定するには、データ・ルールの左側にあるチェック・ボックスを選択します。Warehouse Builderは、スキーマ生成時にこれらのデータ・ルールを使用して表の制約を作成します。
「バインド」セクションにはルールのバインド先となる表の列に関する詳細が含まれています。ルール名をクリックするとそのルールのバインドが表示されます。
修正表へのデータ・ルールの適用の際に使用される方法は、実装するデータ・ルールのタイプによって決まります。Warehouse Builderで使用されるオブジェクト・スキーマ修正方法は、次のとおりです。
制約の作成
修正表にデータ・ルールを反映する制約が作成されます。制約を作成できない場合は、データ・ルール検証ページに検証メッセージが表示されます。
「カスタム」、「ドメイン・リスト」、「ドメイン・パターン・リスト」、「ドメイン範囲」、「共通形式」、「NULLなし」および「一意キー」の各ルール・タイプについて、制約が作成されます。
データ型の変更
プロファイリングの結果に従って列のデータ型がNUMBERまたはDATEに変更されます。データ型が、タイプIS NumberおよびIs Nameのデータ・ルール用に変更されます。
参照表の作成
参照表が作成され、修正された表および参照表に、該当する外部キー制約または一意キー制約が追加されます。Warehouse Builderでは、「関数従属性」ルールの参照表が作成されます。
名前およびアドレスの解析
名前およびアドレス属性が修正表に追加されます。名前およびアドレス属性は、Name and Address演算子の出力値の選択に対応します。データ整備の目的で作成されたマップでは、Name and Address演算子は名前およびアドレス整備の実行に使用されます。
名前およびアドレスの解析が、タイプName and Addressのデータ・ルールに対して実行されます。
データ型
「データ型」タブには、修正用に選択した列が表示されます。変更は、データ型または精度の変更、あるいは固定長から可変長への変更になります。「文書化されたデータ型」列には既存の列定義が表示され、「新規データ型」列には列定義に対して提案された修正内容が表示されます。
列定義を修正するには、列名の左側にあるチェック・ボックスを選択します。
このページには、修正用に選択したデータ・ルールについて発生する検証警告やエラーが表示されます。エラーがある場合は、最初にそのエラーを修正してから修正プロセスに進む必要があります。
このページを使用して、修正された表を確認して受け入れます。このページには、修正された表と適用されたルールおよびデータ型の変更がリストされます。修正されたスキーマに作成する表を選択するには、オブジェクトの左側にある「作成」を選択します。
ページの下部には、そのページの上部で選択されたオブジェクトの詳細が表示されます。これには、「列」、「制約」および「データ・ルール」の各タブが含まれます。
「列」タブには、修正された表の各列の詳細が表示されます。作成、削除または変更用に列を選択できます。列を作成するように指定するには、列名の左側にある「作成」を選択します。列のデータ型の詳細は変更できますが、列名は変更できません。
「制約」タブには、修正された表の制約が表示されます。制約を追加するには、「制約の追加」をクリックします。選択した制約を削除するには、「削除」をクリックします。
「データ・ルール」タブには、修正された表のルール・バインドが表示されます。このタブに表示されるルール・バインドを追加、削除または変更できます。このデータ・ルールが次のステップで使用され、データ修正アクションが導出されます。
データ修正アクションの選択ページを使用して、ソース・データ修正のために実行するアクションを選択します。このページには、「修正済の表の選択」および「データ修正アクションの選択」の2つのセクションがあります。「修正済の表の選択」セクションには、修正用に選択したオブジェクトがすべてリストされます。このセクションにある表を選択すると、関連するデータ・ルールが「データ修正アクションの選択」セクションに表示されます。
データ修正アクションの選択
データ・ルールごとに、「アクション」列のドロップダウン・メニューからアクションを選択します。ここで選択した設定により、データ・ルール規定のために許容されないデータ値の処理方法が決定されます。次のアクションから1つ選択します。
無視: データ・ルールは無視されるため、このデータ・ルールに基づいて拒否される値はありません。
レポート: データ・ルールは、レポート作成専用にデータがロードされた後にのみ実行されます。「無視」オプションと同様ですが、データ・ルールに違反していた値を含むレポートが作成されます。このアクションは、一部のルール・タイプに対してのみ使用できます。
整備: このデータ・ルールで拒否された値はエラー表に移動され、そこで整備方針が適用されます。このオプションを選択した場合は、整備方針を指定する必要があります。整備方針の指定の詳細は、次の項を参照してください。
整備方針
クレンジング方針ドロップダウン・リストを使用して整備方針を指定します。このオプションは、「アクション」列で「整備」を選択した場合にのみ有効です。整備方針は、データ・ルールのタイプとルール構成によって異なります。データ・ルールと一致しないレコードはエラー表に保存されます。
クレンジング方針について選択できるオプションは次のとおりです。
削除
ターゲット表とエラー・レコードを移入しません。このオプションは、すべてのデータ・ルール・タイプで使用できます。
カスタム
ヘッダーが格納されるターゲット表にファンクションが作成されます。実装詳細は含まれません。このファクションに実装詳細を追加する必要があります。カスタムの整備方針は、「一意キー」、「参照」および「関数従属性」を除くすべてのデータ・ルール・タイプで使用できます。
最小値に設定
エラー・レコードの属性値をデータ・ルールに定義されている最小値に設定します。このオプションは、最小値が定義されているドメイン範囲ルールにのみ有効です。
最大値に設定
エラー・レコードの属性値をデータ・ルールに定義されている最大値に設定します。このオプションは、最大値が定義されているドメイン範囲ルールにのみ有効です。
類似度
許可されたドメイン値に基づく類似度アルゴリズムを使用して、エラー・レコードに類似した値が検出されます。類似した値が検出されなかった場合は元の値が使用されます。このオプションは、文字データ型の「ドメイン・リスト」ルールでのみ使用できます。
Soundex
許可されたドメイン値に基づくSoundexアルゴリズムを使用して、エラー・レコードに類似した値が検出されます。Soundex値が検出されなかった場合は元の値が使用されます。このオプションは、文字データ型の「ドメイン・リスト」ルールでのみ使用できます。
マージ
Match-Mergeアルゴリズムを使用して、重複レコードが1つの行にマージされます。このオプションは「一意キー」データ・ルールでのみ使用できます。
モードに設定
失敗となった関数従属性パーティションにモード値がある場合は、モード値を使用してエラー・レコードを修正します。このオプションは、関数従属性データ・ルールにのみ使用されます。
サマリー・ページには、選択したアクションのサマリーが表示されます。データ・ルールに対するアクションの割当てを完了した後、「終了」をクリックします。
修正スキーマが作成され、プロジェクト・エクスプローラに追加されます。修正オブジェクトおよびマッピングは、修正の作成ウィザードのターゲット・モジュールの選択ページでターゲット・モジュールとして指定したモジュールの下に表示されます。
ターゲット・スキーマに修正表を作成するには、修正表を配布します。データを整備するには、修正マッピングを配布して実行します。修正マッピングには、接頭辞M_で始まる名前が付いています。たとえば、修正表がEMPLOYEES
の場合、修正マッピング名はM_EMPLOYEES
となります。
データ・オブジェクト・エディタで修正表を確認し、表設計の一部として作成したデータ・ルールと制約を確認できます。
修正マッピングを表示する手順は、次のとおりです。
表またはマッピングをダブルクリックし、対応するエディタでオブジェクトを開きます。
マッピングが開いた後、「表示」→「自動レイアウト」を順番に選択してマッピング全体を表示します。
図20-21は、修正の作成ウィザードにより生成された修正マッピングを示しています。
サブマッピングATTR_VALUE_1を選択し、ツールバーの「子グラフの表示」アイコンをクリックしてサブマッピングを表示します。
図20-22に示すサブマッピングが表示されます。
サブマッピングは、修正の作成ウィザードで指定した実際の修正整備を行うマッピング内の要素です。このサブマップの中央に、修正の作成ウィザードによりファンクションとして生成されたDOMAINSIMILARITY変換があります。
データ・プロファイリング結果に基づいてデータ・ルールを導出するのみでなく、独自のデータ・ルールを定義することも可能です。データ・ルールは、それが定義されているプロジェクト内の複数の表にバインドできます。1つのオブジェクトに必要な数のデータ・ルールを含めることができます。
データ・ルールの作成と編集にはデザイン・センターを使用します。
Warehouse Builderでデータ・ルールを作成した後、そのルールを次のようなシナリオで使用できます。
データ・プロファイリングでのデータ・ルールの使用
データ・プロファイリングを使用して表を分析する際に、データ・ルールを使用して、指定のルールに対するデータの準拠レベルを分析して統計を収集できます。その結果から、新規のデータ・ルールを導出できます。データ・プロファイリングにより大多数のレコードで特定の列の値がred、whiteおよびblueであることが判明した場合は、カラー・ドメイン(red、whiteおよびblue)を定義する新規データ・ルールを導出できます。その後、このルールを再使用して他の表をプロファイリングしたり、整備や監査などに再使用できます。
データ整備とスキーマ修正でのデータ・ルールの使用
データ・ルールをデータ整備とスキーマ修正に使用するには、2つの方法があります。第1の方法は、ソース・スキーマを、新規表の構造がデータ・ルールに厳密に準拠しているターゲット・スキーマに変換することです。この新規表は適切なデータ型を持ち、制約が規定され、スキーマが正規化されています。第2の方法では、データ・ルールを修正マッピングに使用することです。この修正マッピングでは、ソース表のデータをデータ・ルールと比較検証し、準拠レコードと非準拠レコードを判別します。分析されたデータ・セットは修正され(孤立レコードの削除、不正確なドメイン値の修正など)、整備されたデータ・セットが修正済ターゲット・スキーマにロードされます。
データ監査でのデータ・ルールの使用
データ・ルールは、データ監査にも使用されます。データ監査とは、データを一連のデータ・ルールと比較検証して準拠レコードと非準拠レコードを判別するプロセスです。データ監査により、ルールに対するシステム内のデータの準拠レベルを示す統計メトリックが収集され、欠陥データが監査表とエラー表にレポートされます。その点では、データ・ルール・ベースの修正マッピングに似ていますが、この種の修正マッピングには、データ・ルールに準拠しないデータ用のレポート専用オプションも用意されています。データ監査の詳細は、「データ監査について」を参照してください。
Warehouse Builderでは、データ・ルールをこの項で説明するカテゴリに分類できます。
ドメイン・リスト
ドメイン・リスト・ルールでは、属性の許容値のリストを定義します。たとえば、性別属性には値「M」または「F」を使用できます。
ドメイン・パターン・リスト
ドメイン・パターン・リスト・ルールでは、属性が準拠可能なパターンのリストを定義します。パターンの定義には、Oracle Databaseの正規表現構文を使用します。電話番号のパターンの例を次に示します。
(^[[:space:]]*[0-9]{ 3 }[[:punct:]│:space:]]?[0-9]{ 4 }[[:space:]]*$)
ドメイン範囲
ドメイン範囲ルールでは、属性の許容値の範囲を定義します。たとえば、給与属性には100から10000までの値を使用できます。
共通形式
共通形式ルールでは、属性が準拠可能な既知の共通形式を定義します。このルール・タイプには、「電話番号」、「IPアドレス」、「SSN」、「URL」、「電子メール・アドレス」など、多数のサブタイプがあります。
NULLなし
NULLなしルールでは、属性にNULL値を使用できないように指定します。たとえば、Employees表では従業員のdepartment_id属性にNULLを使用できません。
関数従属性
関数従属性では、データ・オブジェクト内のデータを正規化可能として定義します。
一意キー
一意キー・データ・ルールでは、属性または属性グループが指定のデータ・オブジェクト内で一意かどうかを定義します。たとえば、部門名は一意である必要があります。
参照
参照データ・ルールでは、値の相互関係(1:x)のタイプを定義します。たとえば、Departments表のdepartment_id属性は、Employees表のdepartment_id属性と1:nの関係を持つ必要があります。
Name and Address
名前とアドレス・データのルールは、Warehouse BuilderのName and Addressサポート機能を使用して、属性グループを名前またはアドレスとして評価します。
カスタム
カスタム・データ・ルールでは、指定したSQL式を入力パラメータに適用します。たとえば、2つの入力パラメータSTART_DATEおよびEND_DATEを指定してカスタム・ルールVALID_DATEを作成できます。このルールに有効な式は、"THIS"."END_DATE" > "THIS"."START_DATE"となります。
各データ・ルールは、関連データ・ルールのグループ化に使用されるコンテナ・オブジェクトであるデータ・ルール・フォルダに属します。データ・ルールを作成するには、最初にデータ・ルール・フォルダを作成する必要があります。データ・ルール・フォルダは、関連データ・ルールをグループ化するコンテナ・オブジェクトとして機能します。
データ・ルール・フォルダを作成するには、ナビゲーション・ツリーで「データ・ルール」を右クリックして「新規」を選択します。「データ・ルール・フォルダの作成」ダイアログが表示されます。
「名前」フィールドは、データ・ルール・フォルダの名前を示します。このフィールドにデータ・ルール・フォルダの名前を入力します。データ・ルール・フォルダ名を変更するには、名前を選択して新しい名前を入力します。
「説明」フィールドに、データ・ルール・フォルダの説明(オプション)を入力します。
データ・ルール・フォルダを作成した直後にデータ・ルールを作成するように選択できます。「データ・ルール・ウィザードに進みます。」オプションを選択して、データ・ルールの作成を支援するデータ・ルールの作成ウィザードを起動します。
「OK」をクリックし、「データ・ルール・フォルダの作成」ダイアログを閉じます。
データ・ルールとは、1つのデータ・オブジェクト内の正当なデータ、または複数のデータ・オブジェクト間の正当な関係を判断する式です。データ・ルールの定義を規定、またはデータ・プロファイリングの結果に基づいてデータ・ルールを導出できます。データ・ルールの詳細は、「データ・ルールについて」を参照してください。
データ・ルールを作成するには、作成場所となるデータ・ルール・フォルダを右クリックして「新規」を選択します。データ・ルールの作成ウィザードのようこそページが表示されます。「次へ」をクリックし、ウィザードの次の各手順に表示される指示に従います。
「名前」フィールドには、データ・ルールの名前が表示されます。このフィールドを使用して、データ・ルールの名前を入力します。データ・ルールを導出する場合は、データ・ルールにデフォルト名が割り当てられます。デフォルト名を受け入れるか、別の名前を入力できます。
「データ・ルールの編集」ダイアログの「名前」タブで、「名前」フィールドを使用してデータ・ルールの名前を変更します。名前を選択し、新しい名前を入力します。データ・ルールの名前を変更しても、データ・ルールのバインドには影響しません。バインド名は変更されず、このテーブルのデータ・ルールは引き続き有効です。
「説明」フィールドを使用して、データ・ルールの説明(オプション)を指定します。
ルールの定義ページまたは「ルールの定義」タブを使用して、データ・ルールの詳細を指定します。このページの上部には、データ・ルールのタイプを示す「タイプ」ドロップダウン・リストが表示されます。データ・ルールを導出する場合、「タイプ」フィールドはWarehouse Builderによって自動的に移入され、その値は編集できません。データ・ルールを作成する場合は、「タイプ」フィールドを拡張してデータ・ルールのタイプを表示し、作成するタイプを選択します。データ・ルールを編集するときは、作成したデータ・ルールのタイプを変更できないため、「タイプ」フィールドは無効になります。データ・ルールのタイプの詳細は、「データ・ルールのタイプ」を参照してください。
このページの下部では、データ・ルールの詳細を追加指定できます。ここに表示されるフィールドの数と名前は、作成するデータ・ルールのタイプによって異なります。たとえば、「カスタム」を選択する場合は、「属性」セクションを使用してルールに必要な属性を定義します。「属性」セクションで定義した属性に関するカスタム式を定義するには、「式」フィールドの省略ボタンを使用します。データ・ルールのタイプとして「ドメイン範囲」を選択すると、ページ下部には、範囲のデータ型、最小値および最大値を指定するためのフィールドが表示されます。データ・ルールを導出する場合、これらのフィールドの一部はルールを導出するプロファイリングの結果に基づいて移入されます。これらの値は編集可能です。
サマリー・ページには、ウィザードの各ページで選択した設定が表示されます。これらの設定を確認します。選択内容を変更するには「戻る」、データ・ルールを作成するには「終了」をクリックします。
データ・プロファイル・エディタから導出されたデータ・ルールは、データ・プロファイルを含むプロジェクト内の「Derived_Data_Rules」というデータ・ルール・フォルダに属します。作成するデータ・ルールは、作成に使用したデータ・ルール・フォルダの一部となります。
データ・ルールの作成後に、その定義を編集できます。データ・ルール名を変更し、説明を編集できます。データ・ルールのタイプは変更できません。ただし、データ・ルールに対して指定した他のパラメータは変更できます。たとえば、「ドメイン範囲」タイプのデータ・ルールの場合、範囲のデータ型、最小値および最大値を編集できます。
データ・ルールを編集するには、プロジェクト・エクスプローラで、データ・ルールを右クリックして「エディタを開く」を選択します。データ・ルール名をダブルクリックする方法もあります。「データ・ルールの編集」ダイアログが表示されます。このダイアログには、次のタブがあります。
「名前」タブ。「データ・ルールのネーミング」を参照してください。
「ルールの定義」タブ。「ルールの定義」を参照してください。
オブジェクトにデータ・ルールを適用すると、データ・ルールの定義がオブジェクトにバインドされます。たとえば、ルールをDept
表にバインドすると、表に指定されている属性に対してルールが確実に実装されます。データ・ルールを適用するにはデータ・オブジェクト・エディタを使用します。データ・プロファイル・エディタの「データ・ルール」パネルから導出したデータ・ルールも適用できます。
データ・ルールの適用ウィザードを使用すると、データ・ルールをオブジェクトに適用できます。データ・ルールを適用するオブジェクトのデータ・オブジェクト・エディタを開き、「データ・ルール」タブにナビゲートします。データ・ルールがデータ・オブジェクトにバインドされている場合は、このタブに表示されます。このオブジェクトに新規データ・ルールを適用するには、「ルールの適用」をクリックします。データ・ルールの適用ウィザードのようこそページが表示されます。「次へ」をクリックし、ウィザードの次の各ページに表示される指示に従います。
ルールの選択ページを使用して、オブジェクトに適用するデータ・ルールを選択します。このページには、使用可能なデータ・ルールがすべてリストされます。データ・ルールは、BUILT_INノード、DERIVED_DATA_RULESノードおよび作成した他のデータ・ルール・フォルダの下にグループ化されています。
BUILT_INノードには、リポジトリに定義されているデフォルトのデータ・ルールが含まれます。データ・ルールには、外部キー、一意キー、NOT NULLなどのルールが含まれます。DERIVED_DATA_RULESノードには、データ・プロファイリングの結果として導出されたデータ・ルールすべてがリストされます。
名前と説明ページを使用すると、適用するデータ・ルールの名前と説明(オプション)を指定できます。
「名前」フィールドには、ルールの定義ページで選択したデータ・ルールの名前が含まれています。この名前を受け入れるか、新しい名前を入力できます。
「説明」フィールドを使用して、適用するデータ・ルールの説明(オプション)を入力します。
データ・オブジェクトの列にデータ・ルールをバインドするには、ルール・パラメータのバインド・ページを使用します。「バインド」列には、データ・ルールが適用されるデータ・オブジェクトのすべての列がリストされます。このルールをバインドする列を選択するには、この列のドロップダウン・リストを使用します。
サマリー・ページには、ウィザードの各ページで選択したオプションが表示されます。「戻る」をクリックすると、前のページに戻って一部のオプションを変更できます。「終了」をクリックするとデータ・ルールが適用されます。これにより、データ・ルールのバインド情報がオブジェクト・メタデータに追加されます。
データ・プロファイリングは、プロセッサおよびI/Oへの集中度の高いプロセスであり、プロファイリングの実行時間は数分から数日にわたります。次の条件が満たされていることを確認することで、最大限のデータ・プロファイリング・パフォーマンスを達成できます。
データベースがデータ・プロファイリング用に適切に設定されていること。
データ・プロファイリングの実行時に適切なデータ・プロファイリング構成パラメータを使用すること。
データ・プロファイルは、データ・プロファイリング結果を最適化するように構成できます。データ・プロファイルの構成には構成パラメータを使用します。構成パラメータの詳細は、「データ・プロファイルの構成パラメータ」を参照してください。
次のガイドラインに従うと、データ・プロファイリング・プロセスが高速になります。
必要なタイプの分析のみを実行します。
プロファイリング対象となるオブジェクトに特定のタイプの分析が不要であることがわかっている場合は、構成パラメータを使用して該当タイプのデータ・プロファイリングをオフにします。
分析対象のデータ量を減らします。
WHERE
句とサンプル率構成パラメータを使用します。
プロファイリングのソース・データがOracle Databaseに格納されている場合は、ソース・スキーマをプロファイル・ワークスペースと同じデータベース・インスタンスに置くことをお薦めします。そのためには、Warehouse Builderリポジトリをソース・スキーマ・ロケーションと同じOracleインスタンスにインストールします。これにより、データベース・リンクを使用してデータをソースからプロファイリング・ワークスペースに移動する必要がなくなります。
データ・プロファイリング・パフォーマンスを向上させるには、Oracle Databaseを実行するマシンに特定のハードウェア機能が必要です。さらに、データ・プロファイリングを実行するOracle Databaseインスタンスを最適化する必要があります。
効率的なデータ・プロファイリングに該当する考慮事項は、次のとおりです。
Oracle Databaseを実行するマシンには、複数のプロセッサが必要です。データ・プロファイリングは、Oracle Databaseが提供する並列化を最大限に利用するように設計されチューニングされています。大きい表(1千万行以上)をプロファイリングする間は、マルチプロセッサ・マシンを使用することをお薦めします。
データ・プロファイリングの実行に必要な問合せには、ヒントが使用されます。これにより、Oracle Databaseの初期化パラメータ・ファイルからの並列度が使用されます。デフォルトの初期化パラメータ・ファイルには、並列度を利用するパラメータが含まれています。
データ・プロファイリング時には、高いメモリー・ヒット率を確保することが重要です。そのためには、システム・グローバル領域に割り当てるサイズを大きくします。システム・グローバル領域のサイズは500MB以上の値に構成することをお薦めします。可能であれば、2GBまたは3GBに構成してください。
上級データベース・ユーザーの場合は、バッファ・キャッシュ・ヒット率とライブラリ・キャッシュ・ヒット率を調べることをお薦めします。バッファ・キャッシュ・ヒット率は95%以上に、ライブラリ・キャッシュ・ヒット率は99%以上に設定してください。
I/Oシステムの処理能力は、データ・プロファイリングのパフォーマンスに直接影響します。データ・プロファイリング処理では、全表スキャンと大規模結合が頻繁に実行されます。現在のCPUではI/Oシステムの能力を容易に超えてしまう可能性があるため、I/Oサブシステムを慎重に設計して構成する必要があります。I/Oパフォーマンスの向上に役立つ考慮事項は、次のとおりです。
CPUとI/Oの中断なしの連携をサポートするには、多数のディスク・スピンドルが必要です。ディスクが少数しかなければ、I/Oシステムは高度な並列処理に適応しません。CPUごとに2枚以上のディスクを使用することをお薦めします。
ディスクを構成します。論理ストライプ・ボリュームを既存のディスク上に作成し、各ボリュームを使用可能な全ディスク間でストライプ化することをお薦めします。ストライプ幅の計算には、次の計算式を使用します。
MAX(1,DB_FILE_MULTIBLOCK_READ_COUNT/number_of_disks)*DB_BLOCK_SIZE
DB_FILE_MULTIBLOCK_SIZEとDB_BLOCK_SIZEは、データベース初期化パラメータ・ファイル内で設定するパラメータです。計算式で得られた値の倍数をストライプ幅として使用することもできます。
論理ボリュームを作成して保守するには、Veritas Volume ManagerまたはSun Storage Managerなどのボリューム管理ソフトウェアが必要です。Oracle Database 10gを使用していて、ボリューム管理ソフトウェアがない場合は、Oracle Databaseの自動ストレージ管理機能を使用して作業負荷をディスクに分散できます。
表領域ごとに異なるストライプ・ボリュームを作成します。表領域の一部に同じディスク・セットを使用することも可能です。
データ・プロファイリングの場合、通常はUSERS表領域とTEMP表領域が同時に使用されます。そのため、この2つの表領域を別のディスクに配置して妨害を減らすことを検討できます。
データ監査はWarehouse Builderオブジェクトであり、ソース・スキーマを継続的にモニターしてデータが定義済のデータ・ルールに準拠していることを確認するために使用できます。モニターできるのは、データ・ルールを定義済のオブジェクトのみです。表、ビュー、マテリアライズド・ビューおよび外部表のデータ監査を作成できます。
データ監査はスタンドアロン・プロセスとして配布して実行できますが、通常はデータ・ウェアハウスやERPシステムのような運用環境でデータ品質をモニターするために実行されるため、プロセス・フローに追加してスケジュールできます。
データ監査を使用すると、運用環境でデータの品質を監視できます。データ監査の詳細は、「データ監査について」を参照してください。
データ監査の作成ウィザードを使用して、データ監査を作成します。データ監査はプロジェクトのOracleモジュールの一部です。
次の手順を使用してデータ監査を作成します。
データ監査を作成するOracleモジュールを展開します。
「データ監査」を右クリックして、「新規」を選択します。
データ監査の作成ウィザードが表示されます。ウィザードの次の各手順に表示される指示に従います。
「名前」フィールドにはデータ監査名が示されます。データ監査名は、所属先のOracleモジュール内で一意である必要があります。「データ監査の編集」ダイアログの「名前」タブを使用して、データ監査名を変更できます。名前を選択して新しい名前を入力します。
「説明」フィールドには、データ監査の説明(オプション)が表示されます。
オブジェクトの選択ページまたは「オブジェクトの選択」タブを使用して、監査対象となるデータ・オブジェクトを選択します。「使用可能」セクションには、監査可能なオブジェクトのリストが表示されます。このリストに表示されるのは、データ・ルールがバインドされているオブジェクトのみです。「選択済」セクションには、監査用に選択されたオブジェクトが表示されます。シャトル・ボタンを使用して、オブジェクトを「使用可能」セクションから「選択済」セクションに移動します。「オブジェクトの選択」タブでは、「選択済」セクションに、現在監査用に設定されているオブジェクトがリストされます。シャトル矢印を使用して、オブジェクトを追加したり、既存のオブジェクトをリストから削除できます。
アクションの選択ページまたは「アクションの選択」タブを使用して、選択したオブジェクトにバインドされたデータ・ルールに準拠しないレコードに対するアクションを選択します。このページの「エラーしきい値モード」および「データ・ルール」セクションに情報を入力します。
エラーしきい値モード
エラーしきい値モードは、オブジェクトのデータ・ルールに対するデータの準拠を判断するために使用されるモードです。次のオプションを選択できます。
パーセント: データ監査により、データ・ルールに準拠しないレコードの割合に基づいて監査結果が設定されます。このパーセントは、ルールの欠陥しきい値に指定されます。
シックスシグマ: データ監査により、データ・ルールに対するシックスシグマ値に基づいて監査結果が設定されます。いずれかのルールによって計算されたシックスシグマ値が、指定されたシックスシグマ値より小さい場合は、データ監査により、AUDIT RESULTが2に設定されます。
データ・ルール
このセクションには次の詳細があります。
データ・ルール: バインドされているデータ・ルール名が接尾辞として付いている表の名前。
ルール・タイプ: データ・ルールのタイプ。
アクション: ソース・オブジェクトのデータがデータ・ルールに準拠しない場合に実行されるアクション。データ・ルールが監査されるようにするには、「レポート」を選択します。データ・ルールが無視されるようにするには、「無視」を選択します。
欠陥しきい値: 監査が確実に実行されるために、データ・ルールに準拠する必要があるレコードの割合。1から100の間の値を指定します。「エラーしきい値モード」を「シックスシグマ」に設定している場合、この値は無視されます。
シグマしきい値: 必要な一致率。0から7の間の値を指定します。7に設定している場合、失敗は許容されません。「エラーしきい値モード」を「パーセント」に設定している場合、この値は無視されます。
サマリー・ページには、前の各ウィザード・ページで選択したオプションが表示されます。選択したオプションを変更するには、「戻る」をクリックします。データ監査の作成に進むには、「終了」をクリックします。サマリー・ページに表示された設定を使用して、データ監査が作成されます。
データ監査を作成した後、それを編集してプロパティを変更できます。データ監査を編集するには、デザイン・センターでデータ監査を右クリックして「エディタを開く」を選択します。「データ監査の編集」ダイアログが表示されます。次の各タブを使用してデータ監査のプロパティを変更します。
「名前」タブ。「データ監査のネーミング」を参照してください。
「オブジェクトの選択」タブ。「オブジェクトの選択」を参照してください。
「アクションの選択」タブ。「アクションの選択」を参照してください。
「オブジェクトの調整」タブ。「オブジェクトの調整」を参照してください。
データ監査が作成された後に、データ監査に含まれるオブジェクトの定義が変更された場合、データ監査のオブジェクトは実際のオブジェクトとは一致しません。このタブの表には、監査オブジェクトと監査に含まれていたソース・オブジェクトがリストされます。監査オブジェクトの定義をソース・オブジェクトと一致させるには、変更されたオブジェクトに対応する行のチェック・ボックスを選択し、「調整」をクリックします。これにより、監査オブジェクトの定義とソース・オブジェクトが調整されます。
データ監査の作成後に、データ・オブジェクト内のデータのモニターに使用できます。これにより、オブジェクトのデータ・ルール違反が確実に検出されます。データ監査を実行すると、データ・オブジェクトについて定義済のデータ・ルールに違反しているレコードがエラー表に書き込まれます。
データ監査には2つの使用方法があります。
データ監査の実行結果
データ監査の実行後、「ジョブの詳細」ダイアログに実行詳細が表示されます。「ジョブの詳細」ダイアログには、「入力パラメータ」および「実行結果」という2つのタブがあります。図20-23は、「ジョブの詳細」ダイアログの「実行結果」タブを示しています。「ジョブの詳細」ダイアログが表示されるのは、配布プリファレンスの「モニターの表示」をTrueに設定している場合のみであることに注意してください。配布プリファレンスの詳細は、「配布プリファレンス」を参照してください。
「入力パラメータ」タブには、データ監査の実行に使用された入力パラメータの値が表示されます。「実行結果」タブには、データ監査の実行結果が表示されます。このタブには「行アクティビティ」セクションと「出力パラメータ」セクションがあります。
「行アクティビティ」セクションには、各ステップに関してエラー表に挿入された内容の詳細が表示されます。図20-23では、データ・ルールE_NOT_NULLによりエラー表にレコードが1つ挿入されています。複数のデータ・ルールを指定した場合は、データ監査で複数表挿入を使用できることに注意してください。この場合は、行数のカウントが不正確になります。
「出力パラメータ」セクションには、次の3つのパラメータがあります。
AUDIT_RESULT: データ監査の実行結果を示します。このパラメータに可能な値は次のとおりです。
0: データ・ルール違反は発生しませんでした。
1: データ・ルール違反が1つ以上発生しましたが、データ監査で定義された最低品質のしきい値を満たせないデータ・ルールはありませんでした。しきい値の設定の詳細は、「アクションの選択」の「データ・ルール」を参照してください。
2: 1つ以上のデータ・ルールが最低品質のしきい値を満たせませんでした。
EO_<データ・ルール名>: 指定したデータ・ルールについて計算されたエラー品質を表します。0はすべてのエラー、100はエラーなしを示します。
SO_<データ・ルール名>: 指定したデータ・ルールについて計算されたシックスシグマ品質を表します。
データ監査を実行して、データ・オブジェクト内のデータがそのオブジェクトに対して定義済のデータ・ルールに準拠しているかどうかをチェックします。データ監査は、デザイン・センターまたはコントロール・センター・マネージャから実行できます。データ監査をデザイン・センターから実行するには、データ監査を右クリックして「開始」を選択します。コントロール・センター・マネージャの場合は、データ監査を選択し、「ファイル」メニューから「開始」を選択します。結果は、「データ監査の実行結果」で説明したように「ジョブ詳細」パネルに表示されます。
データ監査の実行プロセスを自動化する手順は、次のとおりです。
データ監査モニター・アクティビティを含むプロセス・フローを作成します。
このプロセス・フローを事前定義済の時刻に実行するようにスケジュールします。
オブジェクトのスケジューリングの詳細は、「スケジュールを定義して使用するためのプロセス」を参照してください。
図20-24は、データ監査モニター・アクティビティを含むプロセス・フローを示しています。このプロセス・フローでは、LOAD_EMP_MAPはデータをEMP表にロードするマッピングです。データ・ロードに成功すると、データ監査EMP_DATA_AUDITが実行されます。データ監査では、表に対して定義されたデータ・ルールに基づいてEMP表のデータがモニターされます。
構成フェーズ中に構成パラメータを設定して、作成したデータ監査に物理的な配布プロパティを割り当てます。「構成プロパティ」ダイアログでは、データ監査の物理プロパティを構成できます。
データ監査を構成する手順は、次のとおりです。
プロジェクト・エクスプローラから、「データベース」ノード、続いて「Oracle」ノードを展開します。
構成するデータ監査の名前を右クリックして「構成」を選択します。
「構成プロパティ」ダイアログが表示されます。
次の各項にリストしたパラメータを構成します。
デフォルト・パージ・グループ: このパラメータは、パッケージの実行時に使用されます。ランタイム・スキーマ内の各監査レコードは、指定したパージ・グループに割り当てられます。
バルク・サイズ: カーソルの処理中にバッチとしてフェッチされる行数。
表分析のサンプリング率: ターゲット表の分析時にサンプリングされる行の割合。ターゲット表を分析して、ターゲット表にデータをロードする間のパフォーマンス向上に使用できる統計を収集します。
コミット頻度: コミットの発行前に処理される行数。
エラーの最大数: Warehouse Builderでこのステップの実行が終了するまでに許容されるエラーの最大数。
デフォルト・オペレーティング・モード: 使用するオペレーティング・モード。選択できるオプションは、「行ベース」、「行ベース(ターゲットのみ)」、「セット・ベース」、「セット・ベースから行ベースへのフェイルオーバー」、「セット・ベースから行ベース(ターゲットのみ)へのフェイルオーバー」です。
デフォルト監査レベル: このパラメータを使用して、パッケージの実行時に使用する監査レベルを指定します。パッケージの実行時にランタイム・スキーマ内で取得される監査情報の量は、このパラメータの設定値に応じて異なります。
選択できるオプションは、次のとおりです。
ERROR DETAILS: 実行時には、エラー情報と統計監査情報が記録されます。
COMPLETE: 実行時にはすべての監査情報が記録されます。この設定では大量の診断データが生成され、割当済表領域がすぐにいっぱいになってしまう可能性があります。
NONE: 実行時に監査情報は記録されません。
STATISTICS: 実行時には統計監査情報が記録されます。
このカテゴリにはデータ監査と同じ名前が使用され、次の汎用的なデータ監査構成パラメータが含まれます。
生成コメント: 生成されたコードに関するコメントを追加指定します。
しきい値モード: 失敗のしきい値の測定に使用するモードを指定します。オプションは「PERCENTAGE」と「SIX SIGMA」です。
言語: 生成済コードの定義に使用する言語。オプションは、「PL/SQL」(デフォルト)と「UNDEFINED」です。「PL/SQL」(デフォルト)が選択されていることを確認してください。
配布可能: このデータ監査の配布が必要であることを示すには、このオプションを選択します。Warehouse Builderでコードが生成されるのは、データ監査が配布可能としてマークされている場合のみです。
参照カレンダ: データ監査に関連付けるスケジュールを指定します。スケジュールでは、データ監査の実行時期を定義します。
ANSI SQL構文: 生成されたコードにANSI SQLコードを使用するには、このオプションを選択します。このオプションを選択しなければ、Warehouse BuilderではOracle SQL構文が生成されます。
コミット制御: コミットの実行方法を指定します。このパラメータに使用可能なオプションは、「自動」、「自動相関」および「手動」です。このパラメータが「自動」に設定されていることを確認してください。
パラレルDMLの有効化: 実行時にパラレルDMLを有効化するには、このオプションを選択します。
表分析文: データ監査に関する統計収集に使用する文を生成するには、このオプションを選択します。
最適化コード: Warehouse Builderに対して最適化コードを生成するように指示するには、このオプションを選択します。
生成モード: Warehouse Builderで最適化コードを生成する際のモードを選択します。選択できるオプションは、「すべてのオペレーティング・モード」、「行ベース」、「行ベース(ターゲットのみ)」、「セット・ベース」、「セット・ベースから行ベースへのフェイルオーバー」および「セット・ベースから行ベース(ターゲットのみ)へのフェイルオーバー」です。
ターゲット・ロード順序付けを使用: ターゲット・ロード順序付け用のコードを生成するには、このオプションを選択します。
エラー・トリガー: エラー・トリガー・プロシージャの名前を指定します。
バルク処理コード: バルク処理コードを生成するには、このオプションを選択します。