目次


IBM InfoSphere Master Data Management Reference Data Management Hub V10について

Comments

本記事は参照データに関する主な概念、データモデルの概要、アーキテクチャーの概要について説明します。また、参照データセットとマッピングの作成のプロセス、および、参照データを外部システムにエクスポートおよび配布することについての留意事項について解説します。

はじめに

全社的なMDMシステムは勿論マスターデータを管理することを目的としますが、参照データと呼ばれる特殊なクラスは、収集したマスターデータのエンティティーの要素(ある属性に使用できる値の範囲など)を定義するために使用されます。参照データの例としては、一連のステータス・コード、従業員の種類、州、地域、国に関するコード、会計コードなどがあります。エンティティーの属性に使用できる一定の値の範囲から成るこのような参照データは、通常、ルックアップ・テーブル、コード・テーブル、チェック・テーブル、またはドメイン・テーブルといった特別なテーブル内に存在しています。

参照データは、メタデータやマスターデータとは区別することができます。第1に、メタデータはあるエンティティーの構造を示しますが、参照データはあるエンティティーの属性に関して規定された一定の値の範囲のみを示します。また、マスターデータに比べて、参照データの変更の頻度は少ないと言えます。さらに、参照データは行レベル(またはインスタンス・レベル)で意味を持つものの、マスターデータはエンティティー・レベルで意味を持ちます。最後に、参照データの意味は時に経過とともに変化することがあります。例えば、過去10年間のレコードを保存するデータウェアハウス内のあるエンティティーに関連付けられたある組織コードは、合併の前または後に存在していた組織を指すことがあります。

参照データのコードはデータベースの列に使用することができる値や関連するエンティティーの分類を制御することによって、ドメインのルックアップを実行したり、管理された用語を有効な範囲と関連付けるなどの機能を提供します。

全社的な参照データは、個々の業務システムやアプリケーションで使用される前に標準化される傾向があるものの、さまざまなアプリケーションごとに表示や意味が異なることがよくあります。アプリケーションが処理を効率化するために独自の表示を必要とするため、意味の変更は避けられないのです。例えば図1のように、ソーステーブルとターゲットテーブルのC2列は一連の国コード(参照データの1種)を示しています。しかし、図が示すとおり、ソーステーブルとターゲットテーブルでは同じ国コードに対して表示方法が異なります。

図1. 同じ国コードに関して異なる表示が存在する
同じ国コードに関して異なる表示が存在するイメージ
同じ国コードに関して異なる表示が存在するイメージ

このため、データの統合や配布(ソースシステムからターゲットシステムにデータを移動すること)を行う前に、ソースシステムのデータの表示を加工して、ターゲットシステムで理解できるようにする必要があります。このプロセスは参照データのトランスコードと呼ばれ、マスターデータの統合と配布のパイプラインでは重要なステップとなります。

このような理由から、あらゆる包括的な参照データ管理ソリューションで必要とされる一連の要件が存在します。以下のセクションでは、参照データ管理システムに適用されるアーキテクチャーの概要についてみていきます。

参照データの論理モデル

参照データ管理システムには、参照データのライフサイクル全体を管理するために役立つ一連の主要なエンティティーが含まれています。図2は、主なエンティティーならびにエンティティー間のリレーションシップを示しています。本セクションでは、これらのエンティティーならびに関連する概念について詳細に説明します。

図2. 参照データの論理モデル
参照データの論理モデルのイメージ
参照データの論理モデルのイメージ

マネージド・エンティティー

マネージド・エンティティーとは、あるエンティティーのライフサイクルを管理するために必要十分な情報(プロパティー)を含む抽象的なエンティティーのブループリントを指します。

これらのプロパティーには、名前または説明、オーナー、バージョン、ライフサイクル上の状態、タイムスタンプ(発効日、有効期限、レビュー日など)、およびデータ型が含まれます。上記の図2で示したモデルに含まれるエンティティー(データセット、マッピングセット、および階層)は全て、図3で示したマネージド・エンティティーの定義に含まれる共通の属性を持っています。

図3. マネージド・エンティティー
マネージド・エンティティーのイメージ

参照データセット

参照データセットは参照データ管理システムの中核を成し、参照データの値を保存するために使用されます。参照データ管理システムの他の主要な要素と同様に、ある参照データセットは1つ以上の参照データの値(図4を参照)から成る特別なマネージド・エンティティーとして表現されます。図4に示すとおり、参照データのプロパティーとしてはコード、名前、説明などがあります。

図4. 参照データセットの例
参照データセットの例のイメージ

プロパティーの一部(コードや名前など)が必須プロパティーとして指定されることがあり、その場合参照データセットの値を作成する際に、プロパティーに当初の値を設定する必要があります。

通常、参照データの各値はシーケンス番号を持ち、レビュー日、発効日、有効期限などの関連する監査情報が設定されます。

参照データセットはフォルダー階層を構築することによって分類できます(ユーザー別またはトピック別の分類など)。

参照データの翻訳

参照データの値は複数言語の翻訳値を持つことがあり、翻訳された値に対して該当する説明を設定することができます。参照データ管理システムによって翻訳を設定し、翻訳に対して参照データの値を関連付けることができます。

参照データ型

既に説明したとおり、参照データ管理システム内で作成した各参照データセットには、データセット・レベルと値レベルの両方で一連のプロパティーが関連付けられています。一連のコア・プロパティーまたは固定プロパティーに加え、オプションとして設定できる動的プロパティーまたはカスタム・プロパティーがあります。参照データセットのレベルで管理されるプロパティー(標準プロパティーとカスタム・プロパティーを含む)はデータセット・プロパティーと呼ばれ、参照データの値レベルで管理されるプロパティーはデータ値プロパティーと呼ばれます。

コア・プロパティーの例としては、コード、名前、説明、ソート順、レビュー日、発効日、有効期限などがあります。データセット・レベルのコア・プロパティーの例としては、名前、説明、オーナー、バージョン、ライフサイクル・プロセス、状態、データ型、レビュー日、発効日、有効期限、最終更新日などがあります。

動的プロパティーやカスタム・プロパティーは、参照データ型と呼ばれるエンティティーを使用して定義します。また、参照データセットの各定義は参照データ型または標準のデータ型と関連付けられています。

一般に、参照データ管理システムは全てのトップレベルのエンティティー(データセット、マッピング、階層など)に対してデータ型を定義します。通常、ユーザーの利便性を高めるために、標準のデータ型がいくつか提供されます。このような標準のデータ型を使用することによって、標準のプロパティーのみを必要とする参照データの単純なエンティティー(データセットなど)を作成することができます。より複雑なエンティティーは、追加のプロパティー(カスタム・プロパティー)を持つカスタムのデータ型を使用することにより、定義できます。

カスタム・プロパティー

既に説明したとおり、カスタム・プロパティーは参照データセット・レベルまたは値レベルで作成することができます。カスタム・プロパティーで通常サポートされるデータ型は以下のとおりです。

  • 文字列: あらゆる文字データを指します。正規化表現を適用してコンテンツを検証することによって、コンテンツに制約をつけることができます。
  • テキスト: 複数行にわたる1つ以上の文字列を指します。
  • 整数: 適切な整数を指します。
  • 日付: 適切な日付(年、月、日を含む)を指します。
  • タイムスタンプ: 適切な日付と時間の2つの要素を含む値を指します。
  • 参照データセット: 他の参照データセットに対するリレーションシップを指します。本リレーションシップが取ることがきる値の範囲は、本リレーションシップが参照する対象の参照データセットによって決まります。例えば、hasStateというリレーションシップは、CityのデータセットからSateのデータセットに対するリレーションシップを規定します。
  • Boolean: trueまたはfalseで示される値を指します。
  • URL: 適切なURLを示す文字列を指します。

プロパティーのデータ型に関するより詳細な情報については、参考文献セクションで示されるRDMのインフォメーション・センターで確認することができます。

参照データのマッピング

参照データのマッピングを活用することによって、複数の参照データセットと参照データセットの値の間でリレーションシップを定義することができます。データセットだけでなく参照データのマッピングも主要なオブジェクトとして管理することができ、参照データ管理システム内のマネージド・マッピングセット・エンティティーとして定義することができます。マネージド・エンティティーから引き継いだプロパティーに加え、マッピングにはソースセットとターゲットセットを示す追加のプロパティーも含まれます。

マッピングを作成すると、ソースセットとターゲットセットからそれぞれソースの値とターゲットの値を選択することによって値のマッピングを作成することができます。参照データの値のマッピングには、参照データの値に似た必要な情報と属性が全て含まれることがあります。

アーキテクチャーの概要

本セクションではInfoSphere MDM Reference Data Management Hubのアーキテクチャー概要について説明し、上記で説明したコンセプトが本製品によってどのように実現するのか説明します。

InfoSphere MDM Reference Data Management Hubは実績のあるMDMプラットフォームに基づいて構築された製品であり、全社的な参照データを管理するにあたりマスターデータ管理に基づくアプローチを提供します。本製品を活用することによって、ビジネス上のリスクを削減し、全社的にデータの品質を高め、業務効率を改善することができます。RDMは3層のコンポーネントを持つアーキテクチャーであり、バックエンド・データベースとやり取りを行うクライアントとサーバー・アプリケーションで構成されます。バックエンド・データベースは、アプリケーションに特化したデータと必要となるメタデータをホストします。RDMのアーキテクチャー概要は図5のとおりです。

図5. RDMの論理アーキテクチャー
RDMの論理アーキテクチャーのイメージ
RDMの論理アーキテクチャーのイメージ

クライアント・サイドに存在するWeb UIアプリケーションは、コラボレーションに基づくオーサリングと柔軟なデータモデルを実現することを目的としています。ビジネス・ユーザーはWeb UIを使用することによって、IT部門の大幅な介入を必要とせずに新規の参照データセットを定義し、参照データの基準を管理することができます。さらに、Web UIを活用することによって、ユーザーは役割に応じて、集中管理されたレポジトリー内の参照データセットの参照・作成・マッピング・承認を行うことができます。この結果、参照データセットの作成と保守を管理されたものとすることができます。Web UI上でユーザーがアクションを起こすことによってリクエストが出され、リクエストはRESTレイヤーに存在する適切なサービス・コントローラーによって処理されます。RESTレイヤーのサービスはサーバー・サイドのトランザクションを呼び出すことによって、RDMデータベース上でCRUDプロシージャーを管理します。本コンポーネント・アーキテクチャーの概要は、図6のとおりです。

図6. RDMコンポーネントのアーキテクチャー
RDMコンポーネントのアーキテクチャーのイメージ
RDMコンポーネントのアーキテクチャーのイメージ

サーバー・サイドは、ベースとなるCustom Domain Hub (CDH)上に、参照データのドメイン・モデルの定義と、参照データ管理サービスを加えたもので構成されます。このため、RDMはCDHが提供するいくつかの標準機能(ビジネス・ルール、イベントの通知、データ品質の管理、および監査履歴など)を再利用することができます。さらに、参照データ管理に特化したサービスのいくつかを実装することによって、インポートとエクスポート、参照データセットのライフサイクル管理、トランスコードと配布、バージョン管理などの主要な機能を実現しています。

クライアントとサーバーのエンタープライズ・アーカイブは、WebSphere Application Serverのインスタンス内に存在しています。クラスタリングがサポートされるものの、クライアントとサーバーが同じノード上に存在することが望ましいと言えます。現在サポートされるデータベースとしては、IBM DB2とOracleが挙げられます。

本製品の活用事例: RDMハブを使用して、参照データの作成とマッピングを行う

以下のセクションでは典型的な参照データのトランスコード・プロセスについて説明し、参照データ管理システムの活用例について説明します。

RDMが提供するWebインターフェースによって、データ管理者は参照データセットならびに参照データセット間のマッピングを作成することができます。ビジネス・アナリストとナレッジ・マネージャーは、本インターフェースに基づいてデータ・エンティティーのライフサイクル全体を管理することができます。

以下のデモは、稼働中のIBM RDM v10で開発したものです。

参照データセットを作成する

  1. 適切なURL(例: https://localhost:9043/RefDataClientなど)を使用して、Webブラウザー(Firefox 10やIE 9など)経由でRDMアプリケーションにログオンします。複数のタブを持つWebページが表示されます。
  2. 初期設定では「Reference Data Sets」タブが選択されて表示されます。本タブにはフォルダー・ビューとリスト・ビューがあります。参照データセットは、「Folder」ビュー内のフォルダーにおかれていることがあります。新規のフォルダーを作成することもできますし、図7で示すとおり、既存のフォルダー(「Examples」など)を選択することもできます。
    図7. データセットを作成するためのウィザード
    データセットを作成するためのウィザードのイメージ
    データセットを作成するためのウィザードのイメージ

    この場合、全てのデータセットは「Examples」フォルダーに作成されます。右クリックしてコンテキスト・メニューを呼び出すか、参照データセットのリストから「New Set」をクリックすることによって、新規のデータセットを作成することもできます。図7の「Create a Set」のページでは、以下のプロパティーの値が表示されます。
    • Name: MDMStates(作成対象の参照データセットの名前を指します。)
    • Version:1(最初のバージョンであることを指します。)
    • Type: CountryType(標準のデータセットと値レベルのプロパティーに加えて、追加のカスタム・プロパティーとしてCountryが含まれた、ユーザーにより定義されたデータ型。カスタム・プロパティーCountryは標準のデータ型で、Countryと呼ばれる参照データセットを指しています。Countryの参照データセットは本プロセスの前に作成済みであることを想定しています。)
    • Lifecycle process: Simple Approval Process(参照データセットを管理するためのシンプルなライフサイクル管理モデルを指します。)
  3. 「OK」をクリックすると、MDMStatesという名前の新規のデータセットが作成されます。その後、「MDMStates」のデータセットを選択し、UIから新規の値を追加することによって手作業でデータセットの値を作成するか、事前に設定済みのMDMStatesのコードの値のファイル(CSV形式またはXML形式)をインポート・ウィザードを使用してデータセットにインポートすることができます。
  4. 「MDMStates」のデータセットを右クリックしてインポート・ウィザードを起動することによって、MDMStates.CSVファイルをMDMStates のデータセットにインポートします。このインポート・ウィザードは、一連のガイド機能付きのナビゲーション・パネルを通じてデータをRDMアプリケーションにインポートする直感的な方法を提供します。実行可能なさまざまな処理は左側に表示されています。インポートの定義を選択し、ファイルの列を参照データセットのプロパティーにマッピングし、インポートを行う前にデータのプレビューを行い、インポートの完了後にサマリーを表示することができます。
  5. ウィザードの最初のページでは、日付の形式、ファイルの形式、区切り記号、CSVファイルのパスを指定します(図8を参照)。
    図8. インポート・ファイルを選択する
    インポート・ファイルを選択するときのイメージ・キャプチャー
    インポート・ファイルを選択するときのイメージ・キャプチャー
  6. 「Next」をクリックし、「Map File Columns」のページを使用して参照データセットのプロパティーをCSVファイル内の列の名前にマッピングします(図9を参照)。
    図9. ファイルの列をマッピングする
    ファイルの列をマッピングするときのイメージ・キャプチャー
    ファイルの列をマッピングするときのイメージ・キャプチャー
  7. 自動的にマッピングされた列を検証し、マッピングが不正確な場合は手作業で修正を行います。標準設定では、RDMアプリケーションはマッチング・ロジックを使用して、プロパティー・ファイルの列の名前と参照データセットのプロパティーの間で明白に合致するデータをマッピングしようとします。CSVファイル内に参照データセットのプロパティーに加えて参照データの値の翻訳値が存在する場合、翻訳言語、翻訳値、および翻訳に関する説明もインポート・ファイルの該当する列に自動的にマッピングされます。
  8. 「Next」をクリックし、警告や例外などを示す「Preview File」のページを表示します。このファイルでは警告や例外が存在しないため、「Preview File」のページには何もデータが表示されません。ある行の列の値に関して日付形式が指定されたデータ形式に合致しないなどのエラーが発生している場合は、インポート・プロセスは該当する行全体のインポートをスキップします。
  9. 「Next」をクリックして「Summary」のページに進むと、スムーズにインポートされた項目の数を確認することができます(図10を参照)。
    図10. サマリー
    サマリーのイメージ
    サマリーのイメージ

    この図では、51項目の値がスムーズにMDMStatesのデータセットにインポートされたことを示しています。

  10. 「Summary」のページで「Done」をクリックすることによって、インポート・プロセスを完了します。51項目の参照データセットの値の全てはMDMStatesのデータセットのために作成され、参照値として表示されます。各値をクリックすることによって、値のプロパティーを参照することができます(図11を参照)。
    図11. 参照値のプロパティー
    参照値のプロパティーのイメージ
    参照値のプロパティーのイメージ

同様に、CRMStatesという名前のデータセットを作成し、手作業で値を作成するか、値を当該データセットにインポートします。

参照データセット間でマッピングを作成する

次に、参照データのマッピング機能を活用することによって、MDMStatesとCRMStatesのデータセットの間でマッピングを作成することができます。

  1. 「Mappings」タブにアクセスし、「New」をクリックすることによって新規のマッピングを作成します(図12を参照)。
    図12. マッピングを作成する
    マッピングを作成するときのイメージ・キャプチャー
    マッピングを作成するときのイメージ・キャプチャー
  2. 既に作成済みのソースのデータセットとターゲットのデータセット(MDMStatesおよびCRMStates)を指定し、その他のプロパティーを指定します(図12を参照)。
  3. 「OK」をクリックすると新規のマッピングセットが作成され、編集できるようになります。
  4. 「Value Mappings」のフレームで「New」をクリックすることによって、値のマッピングの作成を開始します(図13を参照)。
    図13. 値のマッピングを作成する
    Image is of the create a mapping wizard where you start creating the value mappings.
    Image is of the create a mapping wizard where you start creating the value mappings.
  5. ソースとターゲットのデータセットから値を選択し、「Create Mapping」をクリックします。
  6. 「Create Value Mapping」のページで任意のプロパティーを指定し、「OK」をクリックします(図14を参照)。
    図14. ソースとターゲットのデータセットの値
    ソースとターゲットのデータセットの値のイメージ・キャプチャー
    ソースとターゲットのデータセットの値のイメージ・キャプチャー

    値のマッピングが全て定義されると(図15を参照)、マッピングセットにはソースシステムからターゲットシステムに対して参照データの値のトランスコードを行うために必要な情報が含まれています。
    図15. 値のマッピングの定義が完了する
    値のマッピングの定義完了のイメージ・キャプチャー
    値のマッピングの定義完了のイメージ・キャプチャー

参照データセットをエクスポートする

トランスコード・プロセスの次のステップとして、データ管理者またはユーザーは既に作成済みのマッピングをエクスポートし、情報を統合するためのパイプラインにおいてソースとターゲットの間で値を変換し、データの意味の同一性と整合性を確保することができます。RDMのWebインターフェースは、参照データセットやマッピングをファイル(文字で区切られたファイルまたはXMLファイル)にエクスポートする機能を提供します。これを行うには、マッピング・ビューにおいて既に作成済みのマッピングを右クリックしてコンテキスト・メニューを呼び出し、XMLファイルまたはCSVファイルのいずれかへの「Export」を選択します。マッピングのエクスポートをプログラムから行う必要があるアプリケーションの場合は、RDMは分かりやすいWebサービスAPIを提供し、本APIはアプリケーションによって起動することができます。また、RDMはコマンドラインから直接呼び出すことができるバッチ・エクスポート機能を提供します。さらに、システムが特定の参照データセットをサブスクライブし、データセットに対して変更が行われた際に直接その情報を受領できるようにする機能が提供されます。

結論

本記事は参照データの概念、基本となるモデル、アーキテクチャー概要について紹介し、参照データセットとマッピングの作成に関する単純なトランスコード・プロセスを例を挙げて説明しました。

謝辞

本記事の作成にあたってレビュー、フィードバック、アドバイスを提供してくれたErik O'Neillに感謝します。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management
ArticleID=932729
ArticleTitle=IBM InfoSphere Master Data Management Reference Data Management Hub V10について
publish-date=06172013