楽水

人々の創造が自由に表現できる舞台づくり

データ

【DMBOKで学ぶ】メタデータ管理

投稿日:


ここでは、データマネジメント知識体系(DMBOK)を参考にして、メタデータ管理(MDM)について以下の観点で解説します。

  1. メタデータとは何か
  2. メタデータの種類
  3. メタデータの詳細
  4. メタデータのアーキテクチャ
  5. メタデータ管理の目的
  6. メタデータ管理の活動

なお、データマネジメントとは、
データ資産の価値を提供、維持向上させるためにデータライフサイクルを通して計画、実施、監督すること
です。
関連記事
データマネジメントの導入方法

メタデータとは何か

メタデータとは、データに関するデータのことです。
メタデータによって、
組織には、

  • どのようなデータが存在し
  • それが何を表し、どう分類され(データアーキテクチャ)
  • どこから来て、組織内をどう移動し活用されるか、またそれに伴いどう成長するか(データリネージュ)
  • 誰が使えて、誰が使えないか(データセキュリティ)
  • どの程度の品質か(データ品質)


を把握することができます。
DMBOKには、メタデータの重要性を示すために以下のような記述があります。

データマネジメントにおけるメタデータの重要な役割を理解するために大きな図書館を想像してみよう。
そこには、数十万の書籍と雑誌があるのに、図書目録がない。
図書目録がなければ、利用者は特定の本や特定のトピックの検索を開始する方法さえわからないかもしれない。
図書目録は、必要な情報(図書館が所有する本と資料、保管場所)を提供するだけでなく、利用者が様々な着眼点(対象分野、著者、タイトル)から資料を見つけ出すことを可能にする。
メタデータを持たない組織は、図書目録のない図書館にようなものである。

メタデータの種類

DMBOKでは、メタデータを次のように分類しています。

ビジネスメタデータ

ビジネスメタデータは、主にデータの内容と状態に重点を置いており、データガバナンスに必要な詳細を含みます。
ビジネスメタデータには、概念、対象領域、エンティティ、属性に関する名称と定義が含まれます。
DMBOKでは、ビジネスメタデータとして次のような例を示しています。

  • データセット、テーブルおよびカラムの定義と説明
  • 業務ルール、変換ルール、計算方法、および導出方法
  • データモデル
  • データ品質の規則と測定結果
  • データが更新されるスケジュール
  • データの出所とデータリネージュ
  • データ標準
  • データエレメントが依存するマスターレコードシステムの指定
  • 有効値制約
  • ステークホルダーの連絡先情報(例えば、データオーナー、データスチュワード)
  • データのセキュリティ・プライバシーレベル
  • データに関する既知の問題
  • データ利用上の注意

テクニカルメタデータ

テクニカルメタデータは、データの技術的な詳細、データを格納するシステム、および、システム内やシステム間でデータを移動するプロセスに関する情報を提供します。
DMBOKでは、テクニカルメタデータとして次のような例を示しています。

  • 物理データベーステーブルとカラムの名称
  • カラムのプロパティ
  • データベースオブジェクトのプロパティ
  • アクセス権
  • データCRUDルール
  • データテーブル名、キー、インデックスなどを含む物理データモデル
  • データモデルと物理的資産の関係を示すドキュメント
  • ETLジョブの詳細
  • ファイルフォーマットのスキーマ定義
  • ソースからターゲットへのマッピングを示すドキュメント
  • 上流および下流への変換影響情報を含むデータリネージュを記述するドキュメント
  • プログラムとアプリケーションの名称と説明
  • コンテンツ更新サイクルのジョブスケジュールと依存関係
  • リカバリーとバックアップのルール
  • グループ別、役割別データのアクセス権

オペレーショナルメタデータ

オペレーショナルメタデータは、バッチジョブのログやデータ抽出の履歴などデータ処理とアクセスの詳細を表します。
DMBOKでは、オペレーショナルメタデータとして次のような例を示しています。

  • バッチプログラムのジョブ実行ログ
  • データの抽出とその結果などの履歴
  • 運用スケジュールの異常
  • オーディット、バランス、コントロールなどの結果
  • エラーログ
  • レポートとクエリのアクセスパターン、頻度、および実行時間
  • バッチとバージョン管理の計画と実行、現在のバッチ適用レベル
  • バックアップ、保存、実行日付、災害復旧などの規定
  • SLAの要件と規定
  • 容量の増減と利用パターン
  • データのアーカイブと保持ルール、関連するアーカイブ
  • 廃棄基準
  • データ共有ルールや合意事項
  • IT側の役割と責任、連絡先

メタデータの詳細

ここでは、メタデータとして定義すべき内容の詳細について説明します。

ビジネスエンティティの詳細

ビジネスエンティティとは、ビジネスを構成する事象や実体を表すデータ(事実)のことです。
例えば、「注文」というビジネスエンティティは、「注文」という事象を表すデータで、注文番号や注文日付というデータ項目(ビジネスデータ項目)を持ちます。
また、「設備」というビジネスエンティティは、「設備」という実体を表すデータで、設備番号や設備名というデータ項目(ビジネスデータ項目)を持ちます。
ビジネスエンティティ間の関係は、概念データモデルとして表されます。
概念データモデルは、MDAでいうと概念レベルのデータモデルです。
ビジネスエンティティの定義項目は、ビジネスメタデータになり、主にデータの内容と状態に重点を置いており、データガバナンスに必要な詳細を含みます。
ビジネスエンティティの定義項目は次のようになります。
*は必須項目を表します。

  • ビジネスエンティティ番号*
    ビジネスエンティティを一意に識別する番号を記載します。
  • ビジネスエンティティ名*
    概念データモデルを構成するビジネスエンティティの名前を記載します。
  • 説明*
    ビジネスエンティティが表すビジネス上の概念、あるいは、意味を記載します。
    用語集がある場合、該当するビジネスエンティティの用語の内容を記載します。
  • データオーナー(部門)
    ビジネスエンティティ(データ)の管理と保守に責任を持つ部門を記載します。
  • データオーナー(責任者)
    ビジネスエンティティ(データ)の管理と保守に責任を持つ個人を記載します。
  • データオーナー(担当者)
    ビジネスエンティティ(データ)を管理する個人を記載します。
  • データオーナー(連絡先)
    データオーナー(担当者)の連絡先を記載します。
  • データの用途
    ビジネスエンティティがどのように使用されるか、どのビジネスプロセスやアプリケーションで利用されるかに関する情報を記載します。
  • データの価値
    ビジネスエンティティがどのようにビジネスの成功に貢献するか、データが組織の意思決定にどのように影響を与えるかを記載します。
  • データソース
    ビジネスエンティティの情報源、データがどこから来たのか、どのシステムまたはプロセスから取得されたのかを記載します。
  • データ品質要件
    • データ品質評価指標
      「データ品質評価指標」から選択して記載します。
    • ビジネスルール
      データ品質に関するビジネスルールを記載します。
      ビジネスルールに関しては、「データ品質基準」を参照ください。
    • 品質測定方法
      データ品質を測定する方法を記載します。
      品質測定方法に関しては、「データ品質基準」を参照ください。
    • 品質評価基準
      データ品質を評価する基準を記載します。
      品質評価基準に関しては、「データ品質基準」を参照ください。
    • 品質測定結果
      データの品質を測定した結果を記載します。
  • データセキュリティ要件
    • データ機密レベル
      データ機密レベルを記載します。
      データ機密レベルに関しては、「データ機密レベル」を参照ください。
    • データ規制対象カテゴリ
      データ規制対象カテゴリを記載します。
      データ規制対象カテゴリに関しては、「データ規制対象カテゴリ」を参照ください。
    • アクセスできるジョブ
      このビジネスエンティティ(データ)にアクセスできるジョブ(職務)を記載します。
    • アクセス権限
      上記ジョブのビジネスエンティティに対するアクセス権限を、C(生成)、R(読み取り)、U(更新)、D(削除)の組み合わせで記載します。
      例えば、ジョブがビジネスエンティティの読み取りしかできない場合、Rと記載します。
      ジョブがビジネスエンティティの生成、読み取り、更新、削除すべてできる場合、C/R/U/Dと記載します。
    • データ暗号化の必要性
      データ転送やデータ保管時の暗号化が必要かどうかを、必要、不要で記載します。
    • ロギングの必要性
      データアクセスのログを取得する必要があるかどうかを、必要、不要で記載します。
    • データ保管に関する要件
      データの保管要件やデータの寿命管理に関する情報を記載します。
      特定のデータは一定期間後に破棄される必要がある場合があります。

ビジネスデータ項目の詳細

ビジネスデータ項目は、ビジネスエンティティの属性となるデータ項目です。
ビジネスデータ項目の定義項目は、ビジネスメタデータになります。
ビジネスデータ項目の定義項目は次のようになります。
*は必須項目を表します。

  • ビジネスエンティティ番号*
    ビジネスデータ項目が属するビジネスエンティティのビジネスエンティティ名(日本語)を記載します。
  • ビジネスエンティティ名(日本語)*
    ビジネスデータ項目が属するビジネスエンティティのビジネスエンティティ番号を記載します。
  • ビジネスデータ項目番号*
    ビジネスデータ項目を一意に識別する番号を記載します。
  • ビジネスデータ項目名*
    ビジネスデータ項目の名称を記載します。
  • 説明*
    ビジネスデータ項目の意味を記載します。
  • データの用途
    ビジネスデータ項目がどのように使用されるかを記載します。
  • データソース
    ビジネスデータ項目の情報源、データがどこから来たのかを記載します。
  • データ品質要件
    • データ品質評価指標
      「データ品質評価指標」から選択して記載します。
    • ビジネスルール
      データ品質に関するビジネスルールを記載します。
      ビジネスルールに関しては、「データ品質基準」を参照ください。
    • 品質測定方法
      データ品質を測定する方法を記載します。
      品質測定方法に関しては、「データ品質基準」を参照ください。
    • 品質評価基準
      データ品質を評価する基準を記載します。
      品質評価基準に関しては、「データ品質基準」を参照ください。
    • 品質測定結果
      データの品質を測定した結果を記載します。

システムエンティティの詳細

システムエンティティは、論理データモデルを構成するエンティティです。
システムエンティティの定義項目は、テクニカルメタデータになり、データの技術的な詳細、データを格納するシステム、および、システム内やシステム間でデータを移動するプロセスに関する情報を提供します。
ビジネスエンティティの定義項目は次のようになります。
*は必須項目を表します。

  • システムエンティティ番号*
    システムエンティティを一意に識別する番号を記載します。
  • システムエンティティ名*
    システムエンティティの名称を記載します。
  • 説明*
    システムエンティティの意味を記載します。
  • 対応するビジネスエンティティ番号*
    対応するビジネスエンティティのビジネスエンティティ番号を記載します。
  • 対応するビジネスエンティティ名(日本語)*
    対応するビジネスエンティティのビジネスエンティティ名(日本語)を記載します。
  • 対応するテーブルのテーブル定義書、あるいは、DDLの参照
    システムエンティティに対応するテーブルのテーブル定義書、あるいは、DDLの参照を記載します。
  • ファイルフォーマットのスキーマ定義の参照
    システムエンティティがファイルの場合、ファイルフォーマットのスキーマ定義の参照を記載します。
  • ETLジョブの参照
    システムエンティティのデータに対するETL(Extract, Transform, Load)に関するジョブを定義したドキュメントに対する参照を記載します。
  • データリネージュの参照
    上流および下流への変更情報を含むデータリネージュ(データの来歴)を記述するドキュメントに対する参照を記載します。
  • データ管理時期
    エンティティの作成時期、更新時期および破棄時期を記載します。
  • 存在制約
    あるインスタンスが存在するには他のインスタンスの存在が必要であるという制約を記載します。
    また、削除時の一貫性制御の制約についても記載します。
    存在制約についての詳細は、「エンティティ間の一貫制約」を参照ください。
  • 参照整合性制約
    外部キーの値が主キーの値として存在することを保証する制約を記載する。
    また、削除時の一貫性制御の制約についても記載します。
    参照整合性制約についての詳細は、「エンティティ間の一貫制約」を参照ください。
  • 集計ロジック
    集約エンティティの場合は、元となるエンティティと集約ロジックを記載します。
  • データ量
    新規発生、変更発生それぞれのデータ量を記載します。

システムデータ項目の詳細

システムデータ項目は、システムエンティティのデータ項目です。
システムデータ項目の定義項目は、テクニカルメタデータになります。
システムデータ項目の定義項目は次のようになります。
*は必須項目を表します。

  • システムエンティティ番号*
    システムデータ項目が属するシステムエンティティのシステムエンティティ番号を記載します。
  • システムエンティティ名(日本語)*
    システムデータ項目が属するシステムエンティティのシステムエンティティ名(日本語)を記載します。
  • システムデータ項目番号*
    システムデータ項目を一意に識別する番号を記載します。
  • システムデータ項目名*
    システムデータ項目の名称を記載します。
  • 説明*
    システムデータ項目の意味を記載します。
  • 対応するビジネスデータ項目番号*
    対応するビジネスデータ項目のビジネスデータ項目番号を記載します。
  • 対応するビジネスデータ項目名(日本語)*
    対応するビジネスデータ項目のビジネスデータ項目名(日本語)を記載します。
  • 対応するカラムのカラム定義書、あるいは、DDLの参照
    システムデータ項目が対応するカラムのカラム定義書、あるいは、DDLの参照を記載します。
  • データ型
    システムデータ項目のデータ型を記載します。
  • 桁数
    システムデータ項目の桁数を記載します。
  • 主キー/外部キー区分
    主キー/外部キーの場合はどちらかを区分する値(主キーか外部キー)を記載します。
  • データドメイン番号
    システムデータ項目に対応するデータドメインが別途定義されている場合は、その識別番号を記載します。
  • データドメイン名
    システムデータ項目に対応するデータドメインが別途定義されている場合は、その名称を記載します。
  • 非NULL制約
    システムデータの値がNULLになってはならない場合、「有」、と記載します。
  • 関連制約
    受注日は出荷日より前でなければならないなど、システムデータ項目間の値の制限を保証する制約があれば、それを記載します。
  • 参照先システムデータ項目番号
    外部キーの場合は、参照先データのシステムデータ項目番号を記載します。

メタデータのアーキテクチャ

メタデータは様々なソースから収集することができます。
オペレーショナルメタデータの大部分はデータが処理されるときに生成されます。
テクニカルメタデータの大部分はデータベースオブジェクトから収集することができます。
ビジネスメタデータの場合、既存のデータ辞書、データモデルなどから収集することは可能です。しかし、DMBOKには、定義が曖昧な場合、データ利用者は利用するデータを理解するために必要な情報を得ることができないため、既存のものを受け入れるより、意図的に新たな定義をした方が良いと書かれています。
次の図は、様々なメタデータソースから収集されたメタデータを企業全体で一元管理するメタデータのアーキテクチャを示しています。

このような集中型のメタデータアーキテクチャの場合、様々なツールからスケジュール化されたインポートによってメタデータがリポジトリに投入されます。
エンドユーザーがポータルからクエリ要求を発行すると、ポータルは、その要求を、メタデータリポジトリに渡します。
メタデータリポジトリは、収集したメタデータから、渡された要求に応えます。
次に、メタデータリポジトリのメタデータモデルの例は次のようになります。

メタデータ管理の目的

データ品質を維持向上するためには、組織的にメタデータを管理する必要があります。
DMBOKには、メタデータを管理する目的について次のように説明しています。

  • 人々が一貫性を持ってデータコンテンツを理解しデータを利用できるようにすること
  • 様々なソースからメタデータを収集、統合し、異なる部門で生成されるデータ間の類似点や相違点を理解できるようにすること
  • メタデータの品質、一貫性、最新性、セキュリティを確保すること
  • メタデータの利用者(人、システム、プロセス)に対して、メタデータを利用するための標準的な方法を提供すること
  • データ交換を可能にするメタデータ技術標準の利用法を確立すること

メタデータ管理の活動

メタデータ管理方針

メタデータ品質の維持向上するために、次のようなメタデータ管理方針を定めます。

  • システム開発時、すでにあるデータを活用するようにしメタデータの一意性を確保する
  • メタデータ登録時にシステムでバリデーションするようにする
  • 作成日時、更新日時、参照先などメタデータ管理項目を設ける
  • メタデータの標準化
    • 命名規則は設けるものの、できるだけ定義されたデータドメインを選択するようにする
    • 命名規則は設けるものの、できるだけ定義された業務用語から選択するようにする

メタデータ管理のプロセス

メタデータ管理には、次のようなビジネスアクターが参画します。

  • データアーキテクト
  • データスチュワード
  • 業務担当者(データアナリスト)
  • システム開発者

メタデータ管理には、データライフサイクルに応じて、次のようなビジネスユースケースが考えられます。
ここでは、業務担当者やシステム開発者を育成し、業務担当者がメタデータを使ってデータ分析できるようになることを前提にしています。

  • 計画
    戦略的に重要なデータが定義される場合。
  • 設計・実装
    システム開発でデータモデルを設計する場合。
    概念データモデル設計時。
    論理データモデル設計時
    物理データモデル設計・実装時。
  • 生成・収集
    定期的にデータレイクにデータを取り込む場合。
    データレイクからDWHにデータを取り込む場合。
  • 保存・維持
    業務要件・システム要件などによってメタデータを変更する場合。
  • 利活用
    システム開発者や業務担当者にメタデータに関する教育をする場合。
    業務担当者がメタデータを使ってデータ分析する場合。
  • 強化
    データの強化によってメタデータを変更する場合。
  • 破棄
    不必要なデータが破棄される場合。

各ビジネスユースケースごとに業務フローを定義します。

-データ

執筆者:


  1. […] メタデータ データを管理するためのデータで、構造化データのテーブル構造などを管理します。 […]

  2. […] 3450;義するかについては、「メタデータの詳細」を参照してください。 &#12 […]

関連記事

【DMBOKで学ぶ】データマネジメントの導入方法

変化が激しく、不透明で先&#34 …

NoSQLとは何か、わかりやすく解説

少し前からビッグデータと&#12 …

トランザクションとは【ACID vs BASE】

ここでは、以下の観点で、&#12 …

【DMBOKで学ぶ】データセキュリティ

ここでは、データセキュリ&#12 …

【DMBOKで学ぶ】データモデリング

ここでは、リレーショナル&#12 …