フェデレーテッドガバナンス
田中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分