Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
小規模に始めるデータメッシュとデータガバナンスの実践
Search
kimujun
October 30, 2024
Technology
4
700
小規模に始めるデータメッシュとデータガバナンスの実践
DataOps Night #5 の登壇資料です。
https://finatext.connpass.com/event/333016/
kimujun
October 30, 2024
Tweet
Share
More Decks by kimujun
See All by kimujun
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
49
NestJS と Hasura で実現する Production GraphQL
kimujun
0
330
Hasura の Subscription と向き合う
kimujun
0
1.1k
Other Decks in Technology
See All in Technology
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
110
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
170
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
300
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
160
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
150
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
170
Why does continuous profiling matter to developers? #appdevelopercon
salaboy
0
190
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
Taming you application's environments
salaboy
0
180
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Being A Developer After 40
akosma
86
590k
Docker and Python
trallard
40
3.1k
Speed Design
sergeychernyshev
24
610
Statistics for Hackers
jakevdp
796
220k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Ruby is Unlike a Banana
tanoku
97
11k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Gamification - CAS2011
davidbonilla
80
5k
The Pragmatic Product Professional
lauravandoore
31
6.3k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
A Philosophy of Restraint
colly
203
16k
Transcript
© 2024 Dinii Inc. 小規模に始めるデータメッシュと データガバナンスの実践 DataOps Night #5 30
Oct, 2024 Junya Kimura
株式会社 ダイニー © 2024 Dinii Inc. DataOps Night #5 自己紹介
株式会社 ダイニー/Data Team/Tech Lead Web フルスタックエンジニア、データエンジニ ア。Data Team 立ち上げと共にデータエンジニ アリングに軸足を置きつつある。 BigQuery, PostgreSQL, TypeScript が好き。 プロダクトづくりと BBQ と海外サッカーが好 き。 Junya Kimura a.k.a kimujun 1130_kimu kimujun
© 2024 Dinii Inc. 株式会社 ダイニー 01 02 03 04
05 会社紹介 なぜデータメッシュなのか 複数事業部のデータをつなぐアーキテクチャ データガバナンス まとめとお知らせ DataOps Night #5
© 2024 Dinii Inc. 株式会社 ダイニー 会社紹介 01 DataOps Night
#5
株式会社 ダイニー © 2024 Dinii Inc. 会社紹介 DataOps Night #5
株式会社 ダイニー © 2024 Dinii Inc. 会社紹介 DataOps Night #5
株式会社 ダイニー © 2024 Dinii Inc. 会社紹介 DataOps Night #5
© 2024 Dinii Inc. 株式会社 ダイニー なぜデータメッシュなのか 02 DataOps Night
#5
株式会社 ダイニー © 2024 Dinii Inc. なぜデータメッシュなのか DataOps Night #5
データメッシュは、組織内または組織間の複雑で大規模な環境において、分析データを共有・ア クセス・管理するための分散型アプローチ (Zhamak Dehghani “Data Mesh”, O'Reilly) データメッシュとは? 特徴 • データのオーナーシップをドメインに分散する (中央集権ハブを持たない) ◦ 外部ドメインに公開するデータ (= データプロダクト) をメンテナンス • データガバナンスはセルフサービスプラットフォームによって行う
株式会社 ダイニー © 2024 Dinii Inc. なぜデータメッシュなのか DataOps Night #5
データメッシュとは?
株式会社 ダイニー © 2024 Dinii Inc. なぜデータメッシュなのか DataOps Night #5
PROS ❏ 高いアジリティ ❏ ドメイン間の調整だけでデータ共有が 完結する ❏ 組織成長に合わせたスケーラビリティの高さ ❏ Data Team のリソースがボトルネック にならない ❏ ドメインの成熟度に合わせたデータ共有が可 能 ❏ チームによってデータプラットフォー ムの成熟度が異なっていても問題がな い CONS ❏ 移行コストの高さ ❏ 中央集権アプローチをとっているアー キテクチャから移行するコストが高い ❏ 複雑なアーキテクチャ ❏ ドメイン間のデータ共有ごとにパスが 発生し全体として複雑になる ❏ データガバナンスのためのプラットフォーム 整備が必須 ❏ アクセス制御や品質管理、メタデータ 管理などのガバナンスが最重要 本日お話するトピック データメッシュとは?
株式会社 ダイニー © 2024 Dinii Inc. なぜデータメッシュなのか DataOps Night #5
ダイニーのドメインの歴史 • 2019~ モバイルオーダー POS の開発・リリース (MO-POSドメイン) • 2023~ ダイニーキャッシュレスの開発・リリース (Finance ドメイン) • 2024~ ダイニー勤怠の開発・リリース (Employee Satisfaction, ES ドメイン) つまり MO-POS ドメインしかなかったところに、急にドメインが 2 つ増えた Compound Startup の特徴
株式会社 ダイニー © 2024 Dinii Inc. なぜデータメッシュなのか DataOps Night #5
株式会社 ダイニー © 2024 Dinii Inc. なぜデータメッシュなのか DataOps Night #5
• 各ドメインチームが最大限独立してアプリケーションを開発する方針を取っている ◦ 認証認可基盤の利用や Technical Standard の適用のみ Platform Team が整備する形 • もともと MO-POS ドメインしかなく、1 からデータプラットフォームを作るタイミングだった ◦ Compound Startup なのでドメインはさらに増え続ける • データメッシュは大規模な環境に適用される前提の概念だが、小規模段階でも各ドメインの独立 性を保ったままデータプラットフォームを実装するのに有効と考えた データメッシュのアジリティ・スケーラビリティの高さがマッチしている 中央集権からデータメッシュへの移行コストが 0 データメッシュを採用する意思決定へ (ガバナンスはガンバル)
© 2024 Dinii Inc. 株式会社 ダイニー 複数事業部のデータを つなぐアーキテクチャ 03 DataOps
Night #5
株式会社 ダイニー © 2024 Dinii Inc. 複数事業部のデータをつなぐアーキテクチャ DataOps Night #5
Dataplex • ドメインごとのデータセットを ひとまとめにして定義する ◦ Lake, Zone, Asset の 3 レイヤー ◦ ドメインデータに対して きめ細かい権限管理が可能 • データ探索、品質管理、 メタデータ管理 (カタログ機能) を内包 Dataplex は、分散データを統合し、そのデータのデータ マネジメントとガバナンスを自動化する データ ファブリックです。Dataplex は、データの移動または重複を必要としない方法でデータを管理します。 (Google Cloud “Dataplex overview”, https://cloud.google.com/dataplex/docs/introduction)
株式会社 ダイニー © 2024 Dinii Inc. 複数事業部のデータをつなぐアーキテクチャ DataOps Night #5
アーキテクチャ図 (簡易版)
© 2024 Dinii Inc. 株式会社 ダイニー データガバナンス 04 DataOps Night
#5
株式会社 ダイニー © 2024 Dinii Inc. データガバナンス DataOps Night #5
実践しているガバナンスの観点 Discoverable (発見可能性) Understandable (意味の一意性) 他のドメインのデータを発見・理 解する Dataplex/Data Catalog による メタデータ・リネージ管理 Trustworthy (品質) データプロダクトの品質管理を行 う Dataplex の品質管理機能を利用 Secure (セキュリティ) データプロダクトへのアクセスを 管理する Dataform の assertion を利用 Interoperable (相互運用性) 各データプロダクトに同じイン ターフェースでアクセスする スキーマ変更をデリバリーするフ ローを定義 • データプラットフォームに求められる観点ごとにガバナンスの手法を制定 ◦ 観点は Data Mesh 本から一部抜粋 観点 解釈 ガバナンス手法
株式会社 ダイニー © 2024 Dinii Inc. データガバナンス DataOps Night #5
Dataplex (Data Catalog) によるデータガバナンス • メタデータ管理 ◦ Google Cloud Project 横断で BigQuery メタデータの一覧、検索が可能 ▪ BigQuery テーブルに Description をちゃんと付与しておけば、何もしなくても使え る ◦ tag ベースのメタデータ管理を利用したい場合は Data Catalog を利用する ▪ PII レベルの管理とか
株式会社 ダイニー © 2024 Dinii Inc. データガバナンス DataOps Night #5
Dataplex (Data Catalog) によるデータガバナンス • リネージ管理 ◦ Cloud Logging に出力されたクエリログをもとにリネージを自動生成 ◦ Project をまたいだテーブル参照も可視化可能
株式会社 ダイニー © 2024 Dinii Inc. データガバナンス DataOps Night #5
スキーマ変更のデリバリー • あるデータプロダクトでスキーマ変更が発生した場合、利用者側にデリバリーする必要がある ◦ サイレントでスキーマが変わると、ある日突然パイプラインが止まる • 2 つの観点が必要 ◦ データプロダクトの利用箇所を特定可能であること → Dataplex のリネージ機能でクリア ◦ 互換性を保ちつつ移行できること • 互換性を保ちながら移行する ◦ データプロダクトとして公開しているデータセットのスキーマさえ変わらなければ問題が ない ◦ View とバージョン管理によって移行する
株式会社 ダイニー © 2024 Dinii Inc. データガバナンス DataOps Night #5
スキーマ変更のデリバリー
株式会社 ダイニー © 2024 Dinii Inc. データガバナンス DataOps Night #5
• データプロダクト開発・メンテナンスのためのルール策定と実装 Google Cloud Project の分離、独立したワークスペースの実装 • アクセス制御の方法定義と実装 ◦ Service Account によるアクセス制御のルール化 その他のデータガバナンス
株式会社 ダイニー © 2024 Dinii Inc. データガバナンス DataOps Night #5
まだできていなこと • 品質管理のプラットフォーム制定 ◦ Dataform にも品質管理の仕組みがある (assertion) ▪ 現状はこれ ◦ Dataplex の品質管理を使いたい ▪ 他のテーブルとの関係性もルールで記述できる • データスチュワードの整備 ◦ 「このデータの管理者は誰か」を表すのがデータスチュワード ◦ Dataplex にもデータスチュワード管理の機能はあるが、仕組みの検証ができていない • コードベースでのプラットフォーム提供 ◦ 今は各ドメインのリポジトリに個別に実装されている ◦ 共通ライブラリとして整理して、各所で使うようにしたい
© 2024 Dinii Inc. 株式会社 ダイニー まとめとお知らせ 05 DataOps Night
#5
株式会社 ダイニー © 2024 Dinii Inc. まとめとお知らせ DataOps Night #5
まとめ • 複数事業部全体のデータプラットフォームとしてデータメッシュパターンを採用している • データメッシュはガバナンス部分が重要なので Data Team が大きなリソースを割いてガバナンス に投資をしている • データメッシュのガバナンスツールとして Dataplex を広く活用している • ガバナンス対象が広く未着手な領域も多いのでこれからがんばる
株式会社 ダイニー © 2024 Dinii Inc. DataOps Night #5 まとめとお知らせ
https://dinii.connpass.com/event/333856/