この記事は、マスタデータ管理(MDM)のアーキテクチャについて、検討ステップ及び実装パターンを解説しています。
本記事は、私の経験に基づいて記載していますが、基礎的な知識についてはデータマネジメント知識体系ガイド 第二版(DMBOK2)を参考にしています。最初は章ごとに読み込んだり、後ほど必要になった際に参考にすると良いと思います。
また、マスタデータ管理については下記の記事で解説していますので、よろしければご覧ください。
本記事では、マスタデータ管理と参照データのアクティビティのうち、アーキテクチャ的アプローチの定義に該当します。
MDMのアーキテクチャ的アプローチの進め方
下記の手順で進めます。
- 要件の整理
- ツールの検討
要件の整理( MDMの要件を深掘りし整理する )
前フェーズ「目的と要件の定義」で作成した要件を具体化します。
- 要件を5W1Hで分析し具体化する。
- MDMの一般的な要件軸に照らし合わせることで漏れが無いようにします。
マスタデータ管理(MDM)に求める一般的な要件の軸は?
MDMの一般的な要件には下記の機能が求められます。
- 複数バージョンを保有・管理
- 同一データを複数システムで保有し名称や、住所等が微妙に違う場合に統合する機能
また、下記の非機能が求められます。
- 完全性
- 最新性
- 一貫性
- 信頼性
一貫性のない不正確なデータは、信用を失い、売上や利益を現象させることにつながるため非常に重要です。
また、セキュリティや不正行為の検知、GDPRやCCPAなどの法規制もMDMの必要性を高めています。
MDM実装スタイル( MDM実装パターン )
MDMのツールを並べて比較する前に、MDMの実装スタイルを予め頭に入れておくことで整理がしやすくなります。
MDMの実装スタイル
MDMの実装にはいくつかの実装スタイル(パターン)があります。それぞれの特徴と構成イメージを書きに記載します。
スタイル | 解説 | イメージ |
---|---|---|
コンソリデーション | マスタデータとその他のデータを、マスタデータと呼ばれる単一のリポジトリやハブにまとめる。 ・通常、BIやレポート作成のために導入される。 ・データソースのデータをきれいにしたり、改善したりすることは行われない。 | |
レジストリ | ・中央にレジストリを持ち、単純な相互参照テーブルを構成。 ・重複を排除したオブジェクトと、それらの間にどのような関係があるかを表す。 ・ソースシステムのデータは、自分自身のままで、レジストリから戻されることはない。 ・レジストリは対応の関係のリンクだけを提供する。 | |
中央集権 | ・マスタデータストアを中央リポジトリで管理する。 ・すべてのアプリケーションとシステムは、毎回この中央リポジトリからマスタを取得して使用する。 ・アプリケーションのバックエンドとして稼働するため、低レイテンシや高可用性を求められる。 ・ソース自体を中央で持つので他の利用するシステム全体へ影響を与える密結合になる。 | |
共存型 | ・マスタを中央で使用できずに、企業全体で複数拠点で分散させる必要がある場合に使用される。 ・改良されたデータが元のシステムに戻る。更新はゴールデンソース内で行われる。 ・実装は複雑 ・ゴールデンソースとマスタデータストア間でデータの一貫性を保証する必要がある。 ・データパイプラインは、リアルタイム、バッチ、APIなど様々kなものが実装される。 |
MDM実装スタイルに応じた利用方法
ソースシステムで再利用する場合は、コンソリデーションスタイル以外の3つの中から選択する必要があります。
MDMの実装スタイル | 使用例 | ソースシステムの更新 |
---|---|---|
コンソリデーション | ソースシステムですぐに再利用しない参照のみ。DWHやDM等。 | 行わない |
レジストリ | ソースシステムで利用する際に、データ間のリンクおよび、複数データを返す | 行わない |
中央集権 | ソースシステムでリアルタイムに一意なデータを使用する | ソースシステムではデータを持たない。 |
共存型 | ソースシステムがMDMの性能や、可用性に依存したくない場合に使用する。特にソースシステムが金融やECシステムなど高可用性を求められるもの。 | 行う |
MDMアーキテクチャ
下記に共存型のMDMを実装する場合のアーキテクチャを載せます。(O’reillyの大規模データ管理を参考に詳細化、加筆したものです。)
- ①.データ統合(ETL)レイヤでは、入力されたデータを元にクレンジング、既存データとのマッチングを行った結果、重複を排除し最後は統合します。また、社外から取得/購入したデータを統合しエンリッチします。
- ②.組織外から、業界データや販売しているデータを購入し、データレイヤに取り込みます。これにより組織内のデータをエンリッチすることが可能になります。
- ③.データ統合を終えたら、ソースシステムに通知を行いインターフェイスを介して取得してもらいます。
- ④.MDMのインタフェイスでは、下記が考えられます。
- アプリケーションインターフェイス(API)
- データベース(読み取り専用データベース)
- ストリームパイプライン
- ⑤.データレイヤで管理するマスターデータでは、データソースとマスターデータとを紐付けるマスター識別番号を採番します。マスター識別番号は、一意なサロゲートキーを振ります。
- ⑥.MDMのメタデータを作成し、データコンシューマーが利用できる状態を作ります。
- ⑦.MDMの品質評価※1を行います。特にデータの効率性(重複がないか)や、正確性、完全性、一貫性などが強く求められるので、適切に評価し必要があれば改善していくことが必要です。
※1:品質評価は、「【データマネジメント】データ品質管理について解説」にて記載していますのでよろしければご覧いただけますと幸いです。
MDMツール
ベンダーが販売しているMDMツールを下記に記載します。他にもたくさんあります。なお、私は試したことがありません。
参考書籍
本記事は、私の経験に基づいて記載していますが、基礎的な知識についてはデータマネジメント知識体系ガイド 第二版(DMBOK2)を参考にしています。最初は章ごとに読み込んだり、後ほど必要になった際に参考にすると良いと思います。
よくある質問
マスタデータマネジメント(MDM)とはなんでしょうか?
ビジネスエンティティに関するデータであり、業務トランザクションや業務分析に意味を与えます。
ビジネスエンティティの例
- 従業員
- 顧客
- 製品
- 財務構造
- 資産
- 場所
マスタデータは、主要なビジネスエンティティがデータになったものです。信頼性があり最も正確さが求められます。
詳細は、下記の記事にまとめましたのでご確認ください。
マスタデータ管理(MDM)で代表的なデザインパターンはありますか?
本文にも記載いたしましたが、代表的なものには下記のパターンがあります。
- コンソリデーション
- レジストリ
- 中央集権
- 共存型
マスタデータ管理(MDM)でデータ運用する場合、どのように行いますか?
名寄せなどは、システムだけで完全にできるものではないので適宜人の目で確認して、行う必要があります。
マスタデータ管理(MDM)をデータマネジメントの側面で学ぶにはどうすればよいですか?
下記の記事にまとめましたので、よろしければ御覧ください。
マスタデータ管理(MDM)を学ぶ書籍を教えてください。
私は、DMBOK2を元に原理原則を学び、その後ウェブで調査しました。
マスタデータ管理(MDM)にはどのような製品や、ツール、ソフトがありますか?
下記のような製品があるようです。
最後に
今回の記事では、「マスタデータ管理(MDM)」のアーキテクチャ検討として、検討のステップおよびアーキテクチャについて解説しました。
実装スタイルとして4つのパターンが考えられ、自分たちの用途(要件)によって選択する必要があります。
また、実際に実装する際には、スクラッチで作成せずとも、既にベンダーが提供しているツールもあるので採用を検討してみても良いかと思います。
今回も読んで頂きましてありがとうございました。
コメント