ケーススタディ

ケーススタディ:メタデータ管理

実務シナリオ + アーキテクチャ設計 — Specialist試験対策


Case 1: データカタログ導入プロジェクト(大手製薬)

背景

グローバル製薬企業(社員8,000名、データソース200以上)。データエンジニアの「どのテーブルを使えばいいか誰も知らない」問題。具体的には:

実施したメタデータ管理プログラム

Step 1: メタデータ戦略の定義

収集対象を3分類してスコープを決定:

優先度 High(6ヶ月以内):
  - Business Metadata: 全DWHテーブルの定義・オーナー情報
  - Technical Metadata: スキーマ・DDL(自動収集)
  
優先度 Medium(12ヶ月):
  - Operational Metadata: ETLジョブ実行履歴・データ鮮度
  
優先度 Low(18ヶ月):
  - カラムレベルのデータリネージ

Step 2: ツール選定

ツール 候補理由 選定結果
Collibra エンタープライズ向け・ガバナンス統合 採用
Apache Atlas オープンソース・Hadoopエコシステム統合 候補落選(サポート懸念)
Microsoft Purview Azure環境と統合 候補落選(マルチクラウド環境に不向き)
Alation AIによる自動提案 最終候補まで残るも予算超過

Step 3: Business Glossary の設計

# Business Glossary エントリ例
term: "アクティブ顧客"
definition: "過去12ヶ月以内に最低1回の購入取引がある顧客"
synonyms: ["有効顧客", "active customer"]
related_terms: ["ロイヤル顧客", "休眠顧客"]
data_steward: "営業本部 田中部長"
approved_date: "2024-03-01"
related_tables:
  - schema: "mart"
    table: "dim_customer"
    column: "is_active_flg"
    mapping_note: "is_active_flg = 'Y' かつ last_purchase_date >= DATEADD(year,-1,GETDATE())"

導入後の効果

指標 Before After(12ヶ月後)
データ発見にかかる平均時間 2.3時間 18分
未使用テーブルの割合 不明 37%(廃止候補特定)
データ定義の重複定義 15種類 1種類(共通化)
監査対応時間 5日 0.5日

Case 2: データリネージの実装(金融機関)

背景

地方銀行のデータガバナンス部門。BCBS 239(バーゼル委員会のリスクデータ集計原則)への対応が必要。「貸倒引当金計算に使ったデータがどこから来たか」をトレースできる必要がある。

データリネージの設計

リネージの粒度の選択(重要な設計判断):

粒度 実装コスト 監査対応力 推奨場面
システムレベル 最初のステップ
テーブルレベル GDPR基本対応
カラムレベル 規制対応(BCBS239等)

この銀行はBCBS239対応のためカラムレベルを選択。

リネージ図(実例):

[ソース: 勘定系システム]
  loan_master.balance_amount
      ↓ [ETL Job: daily_loan_extract]
[ステージング: STG_LOAN]
  stg_loan.balance_amt
      ↓ [変換: ROUND(balance_amt, 0)]
[DWH: DIM_LOAN]
  dim_loan.balance_rounded
      ↓ [集計: SUM()]
[集計テーブル: FACT_LOAN_SUMMARY]
  fact_loan_summary.total_exposure
      ↓ [Report: 与信リスクレポート]
[監督当局提出レポート]
  BCBS_Report_LN01.exposure_amount

リネージ収集の自動化手法

1. ETLツール統合(最も効率的):

2. クエリログ解析:

-- BigQueryの例:クエリログからリネージを推定
SELECT
  referenced_tables,
  destination_table,
  query
FROM `region-us`.INFORMATION_SCHEMA.JOBS
WHERE job_type = 'QUERY'
  AND statement_type IN ('INSERT', 'CREATE_TABLE_AS_SELECT')

3. 静的コード解析:

失敗パターン:


Case 3: Metadata Architecture の設計パターン

パターン1: Centralized(集中型)

[全データソース] ───→ [中央メタデータリポジトリ] ←─ [全ユーザー]
  ETLで収集             (単一のデータカタログ)        データカタログUI経由

適合シナリオ:

問題:

パターン2: Federated(連邦型)

[部門A メタデータストア] ─┐
[部門B メタデータストア] ─┼──→ [メタデータハブ(統合ビュー)]
[部門C メタデータストア] ─┘

適合シナリオ:

問題:

パターン3: Active Metadata(アクティブメタデータ)

従来のPassive Metadata(記録するだけ)から進化した概念。

Passive: データが更新される → 人間がメタデータを手動更新
Active:  データが更新される → メタデータが自動更新 → 下流処理を自動トリガー

Active Metadata の応用:

Specialist試験: Active Metadata はDAMAコミュニティで注目されているトピック。概念として「メタデータはパッシブな記録から、アクティブなシステム制御へ進化する」を理解する。


Case 4: Impact Analysis の実装

背景

DWHのソーステーブル(src_customer)のカラム名を変更したい(cust_nocustomer_id)。変更前に影響範囲を調査する必要がある。

Impact Analysis のプロセス

Step 1: 直接依存の特定

-- どのETLジョブが cust_no を参照しているか
SELECT job_name, source_table, source_column, target_table, target_column
FROM metadata_lineage
WHERE source_column = 'cust_no'
  AND source_table = 'src_customer';

Step 2: 間接依存の特定(トランジティブ分析)

src_customer.cust_no
  ↓(直接依存)
stg_customer.customer_no
  ↓(間接依存)
dim_customer.customer_sk
  ↓(間接依存)
fact_sales.customer_sk
  ↓(間接依存)
report_sales_by_customer(最終レポート)

Step 3: リスクアセスメント

依存オブジェクト 影響度 対応方法
ETLジョブ(5本) ETLの修正が必要
ストアドプロシージャ(3本) 修正が必要
ビュー(8本) ビュー定義の更新
BIレポート(12本) データソース設定の確認
Excelマクロ(不明) 不明 IT部門外のツールは把握困難

教訓: Impact Analysis が完全に機能するには、すべてのデータフローがメタデータとして記録されている必要がある。Excelマクロのような「管理外ツール」はリスクとして認識されるべき。


Specialist試験の重要概念まとめ

メタデータ成熟度モデル

レベル 状態
Level 1 アドホック(個人のノート・Excelで管理)
Level 2 部分的(一部システムのみ管理)
Level 3 標準化(組織全体で統一ツール・プロセス)
Level 4 管理(品質指標・活用率でメタデータを評価)
Level 5 最適化(Active Metadata・自動化)

ISO 11179 標準(Specialist試験で問われる)

データ要素の登録・分類に関するISO標準。

主要コンポーネント:

実務での活用: MDMのゴールデンレコード定義やBusiness Glossaryの標準化に参照される。

メタデータの品質指標(Specialist試験頻出)

指標 計算方法 目標値
カバレッジ 定義済みオブジェクト / 全オブジェクト 90%以上
鮮度 最終更新からの経過日数 30日以内
正確性 定義と実際のデータが一致する割合 95%以上
利用率 カタログ経由でのデータアクセス率 -