ストーリー
田
田中VPoE
ここまで集中型のデータアーキテクチャを見てきたが、組織が大きくなると限界が出てくる。データチームがボトルネックになり、リクエストが積み上がる
あなた
確かに、うちのデータチームにも「ダッシュボード作って」「データマート追加して」というリクエストが常に30件以上待ちになっています
あ
田
田中VPoE
その問題を解決するために生まれたのがData Meshだ。Zhamak Dehghaniが2019年に提唱した。マイクロサービスの考え方をデータに適用したものだと考えるとわかりやすい
あなた
マイクロサービスのように、各チームが自分のデータの責任を持つということですか?
あ
田
田中VPoE
その通り。ただし「各チームが好き勝手にデータを管理する」のとは違う。4つの原則に基づく規律あるアプローチだ
Data Meshの4つの原則
原則一覧
| 原則 | 概要 | マイクロサービスとの類似点 |
|---|
| ドメイン所有権 | データの所有と提供はドメインチームの責任 | サービスの境界とオーナーシップ |
| データをプロダクトとして扱う | データを消費者のためにプロダクト化する | APIファーストの設計思想 |
| セルフサービスデータプラットフォーム | インフラの複雑さを抽象化するプラットフォーム | Platform Engineering |
| 連合型ガバナンス | 分散化しつつもグローバルなポリシーを維持 | サービスメッシュの統制 |
1. ドメイン所有権
従来の中央集権型:
受注チーム ─→ ┌──────────────┐ ─→ ダッシュボード
配送チーム ─→ │ 中央データチーム │ ─→ レポート
CS チーム ─→ │ (ボトルネック) │ ─→ ML モデル
営業チーム ─→ └──────────────┘ ─→ 分析
Data Mesh:
受注チーム ──→ 受注データプロダクト ──┐
配送チーム ──→ 配送データプロダクト ──┼──→ 消費者
CS チーム ──→ CSデータプロダクト ──┤ (ダッシュボード、
営業チーム ──→ 営業データプロダクト ──┘ ML、分析)
↑
各チームがデータの
品質と提供に責任を持つ
2. データをプロダクトとして扱う
| プロダクト属性 | データプロダクトでの実現 |
|---|
| 発見可能性 | データカタログに登録、メタデータの充実 |
| 理解しやすさ | スキーマドキュメント、サンプルクエリの提供 |
| 信頼性 | SLA(鮮度、品質スコア)の定義と遵守 |
| セキュリティ | アクセスポリシーの明示、PII分類 |
| 相互運用性 | 標準フォーマット、共通セマンティクス |
データプロダクトの構成:
┌─────────────────────────────────────┐
│ 受注データプロダクト │
│ │
│ ┌────────────┐ ┌────────────────┐ │
│ │ ソースデータ │ │ 変換パイプライン │ │
│ │ (受注DB) │→│ (dbt models) │ │
│ └────────────┘ └────────┬───────┘ │
│ │ │
│ ┌────────────────────────┴───────┐ │
│ │ 出力ポート │ │
│ │ ・orders_fact (テーブル) │ │
│ │ ・orders_stream (ストリーム) │ │
│ │ ・orders_api (REST API) │ │
│ └────────────────────────────────┘ │
│ │
│ メタデータ: スキーマ、SLA、品質スコア │
│ オーナー: 受注チーム │
│ SLA: 鮮度 < 5分、完全性 > 99.5% │
└─────────────────────────────────────┘
3. セルフサービスデータプラットフォーム
| プラットフォームが提供するもの | 具体例 |
|---|
| データパイプラインの雛形 | テンプレート化されたdbtプロジェクト |
| データ品質チェック | 自動化されたGreat Expectations設定 |
| カタログ登録 | メタデータの自動収集と登録 |
| アクセス制御 | ポリシーベースの自動認可 |
| モニタリング | データ鮮度・品質のアラート |
| コスト管理 | クエリコストの可視化と予算管理 |
4. 連合型ガバナンス
| レベル | 決定内容 | 決定者 |
|---|
| グローバルポリシー | データフォーマット、PIIの扱い、命名規則 | データガバナンス委員会 |
| ドメインポリシー | データモデル、品質基準、SLA | 各ドメインチーム |
| 運用 | パイプライン実装、テスト、デプロイ | 各ドメインチーム |
Data Meshの導入判断
向いている組織
| 条件 | 理由 |
|---|
| 50人以上のエンジニア組織 | ドメインチームごとにデータ担当を置ける規模が必要 |
| 複数の独立した事業ドメイン | ドメイン境界が明確である必要がある |
| 中央データチームがボトルネック | Data Meshで解決する問題が存在する |
| マイクロサービスアーキテクチャを採用 | データの境界とサービスの境界が一致しやすい |
向いていない組織
| 条件 | 理由 |
|---|
| 10人以下のスタートアップ | チーム分割の意味がない |
| 単一プロダクトのみ | ドメイン境界が不明確 |
| データエンジニアリングのスキルが低い | 各チームにデータスキルが必要 |
| データガバナンスが未整備 | 分散化する前に基本的なガバナンスが必要 |
「Data Meshは銀の弾丸ではない。組織の成熟度がL3以上でなければ、分散化は混乱を生むだけだ。まず中央集権で基盤を固め、成熟してから段階的にData Meshに移行する」 — 田中VPoE
まとめ
| ポイント | 内容 |
|---|
| Data Mesh | マイクロサービスの思想をデータに適用した分散型アーキテクチャ |
| 4つの原則 | ドメイン所有権、データプロダクト、セルフサービスプラットフォーム、連合型ガバナンス |
| データプロダクト | 発見可能・理解しやすい・信頼できる・安全・相互運用可能なデータ |
| 導入判断 | 組織規模、ドメインの独立性、データ成熟度を考慮して判断する |
チェックリスト
次のステップへ
次は「Medallionアーキテクチャ」を学びます。Bronze/Silver/Goldの3層構造でデータの品質を段階的に向上させる設計パターンを身につけましょう。
推定読了時間: 30分