LESSON 30分

フェデレーテッドガバナンス

田中VPoE「Data Meshでデータの所有権をドメインに分散させると、今度は『バラバラになって統制が取れない』という懸念が出てくる。」

あなた「分散と統制のバランスをどう取るかが鍵ですね。」

田中VPoE「まさにそこだ。フェデレーテッドガバナンスは、自律性と相互運用性を両立させる仕組みだ。」

フェデレーテッドガバナンスとは

フェデレーテッドガバナンスとは、全社共通のルール(グローバルポリシー)とドメイン固有のルール(ローカルポリシー)を組み合わせた分散型の統制モデルです。

中央集権的に全てを管理するのではなく、ドメインの自律性を保ちながら、全社的な一貫性を確保します。

グローバルポリシーとローカルポリシー

グローバルポリシー(全社共通)

全ドメインが必ず遵守するルールです:

カテゴリポリシー例
命名規則テーブル名は {domain}_{entity}_{type} の形式
データ分類4段階の分類基準(PUBLIC/INTERNAL/CONFIDENTIAL/RESTRICTED)
品質基準最低限のデータ品質テスト(NULL率、ユニーク性)を必須化
メタデータ全データプロダクトにスキーマ、説明、オーナー、SLAを必須化
セキュリティPIIデータのマスキングルール、アクセスログの取得
相互運用性共通の日時フォーマット、通貨コード、顧客IDの形式

ローカルポリシー(ドメイン固有)

各ドメインが独自に定義するルールです:

注文ドメインのローカルポリシー例:
- 注文ステータスの定義と遷移ルール
- 金額の丸めルール(税計算)
- 注文データの保持期間

マーケティングドメインのローカルポリシー例:
- セグメントの定義と分類基準
- アトリビューションモデルの計算ルール
- キャンペーン効果測定の標準手法

ガバナンス組織の設計

データガバナンス委員会

[データガバナンス委員会]
├── 委員長:CTO or CDO(Chief Data Officer)
├── メンバー:
│   ├── 各ドメインのデータプロダクトオーナー
│   ├── プラットフォームチームリード
│   ├── セキュリティチーム代表
│   └── 法務・コンプライアンス代表
├── 開催頻度:月1回
└── 役割:
    ├── グローバルポリシーの策定と改訂
    ├── ドメイン間の課題調整
    ├── 新規データプロダクトの承認
    └── データインシデントの対応方針

意思決定のフロー

意思決定の種類決定者プロセス
グローバルポリシーの新規策定ガバナンス委員会提案→議論→全ドメインの合意→承認
グローバルポリシーの改訂ガバナンス委員会影響分析→議論→移行計画→承認
ローカルポリシーの策定ドメインオーナーグローバルポリシーとの整合性確認→策定
データプロダクトの公開ドメインオーナー品質チェック→メタデータ確認→カタログ登録

ポリシーの自動化(Policy as Code)

ガバナンスポリシーは可能な限りコードで自動検証します。

品質ポリシーの自動チェック

# グローバル品質ポリシー(自動チェック)
quality_policy:
  required_tests:
    - type: not_null
      columns: ["primary_key"]
    - type: unique
      columns: ["primary_key"]
    - type: freshness
      max_delay: "24h"

  required_metrics:
    - completeness: ">= 95%"
    - row_count_anomaly: "within 3 sigma"

メタデータポリシーの自動チェック

# グローバルメタデータポリシー(CI/CDで検証)
metadata_policy:
  required_fields:
    - name
    - description (min 20 chars)
    - owner
    - sla.freshness
    - sla.availability

  required_column_metadata:
    - description
    - data_type
    - pii_flag

命名規則の自動チェック

# テーブル命名規則の検証
def validate_table_name(table_name: str, domain: str) -> bool:
    pattern = f"^{domain}_[a-z]+(_[a-z]+)*_(raw|staging|mart)$"
    return bool(re.match(pattern, table_name))

# 例:
# marketing_campaign_performance_mart → OK
# campaign_performance → NG(ドメインプレフィックスなし)

ガバナンスの成熟度

レベル1:ドキュメントベース

  • ポリシーがドキュメントとして存在する
  • 遵守の確認は手動レビュー

レベル2:部分的自動化

  • 一部のポリシーがCI/CDで自動チェックされる
  • メタデータの必須項目チェックが自動化

レベル3:完全自動化

  • 全てのグローバルポリシーがPolicy as Codeで自動検証
  • 品質スコアがリアルタイムで可視化
  • ポリシー違反時の自動通知とエスカレーション

まとめ

項目ポイント
フェデレーテッドガバナンスグローバルとローカルのルールを組み合わせた統制
グローバルポリシー命名規則、データ分類、品質基準、セキュリティ
ガバナンス委員会各ドメインの代表者による合議制
Policy as Codeポリシーをコードで自動検証

チェックリスト

  • グローバルポリシーとローカルポリシーの違いを説明できる
  • ガバナンス委員会の構成と役割を理解している
  • Policy as Codeの考え方と実装方法を説明できる
  • ガバナンスの成熟度レベルを理解している

次のステップへ

フェデレーテッドガバナンスの設計を学びました。次は、Data Meshアーキテクチャを実際に設計する演習に取り組みましょう。


推定読了時間:30分