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
950
小規模に始めるデータメッシュとデータガバナンスの実践
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
350
NestJS と Hasura で実現する Production GraphQL
kimujun
0
360
Hasura の Subscription と向き合う
kimujun
0
1.2k
Other Decks in Technology
See All in Technology
RemoveだらけのPHPUnit 12に備えよう
cocoeyes02
0
220
ESXi で仮想化した ARM 環境で LLM を動作させてみるぞ
unnowataru
0
160
遷移の高速化 ヤフートップの試行錯誤
narirou
6
1k
2/18 Making Security Scale: メルカリが考えるセキュリティ戦略 - Coincheck x LayerX x Mercari
jsonf
0
110
偏光画像処理ライブラリを作った話
elerac
1
160
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
2
1.5k
Share my, our lessons from the road to re:Invent
naospon
0
130
What's new in Go 1.24?
ciarana
1
100
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
7
550
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
230
EDRの検知の仕組みと検知回避について
chayakonanaika
11
4.5k
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Done Done
chrislema
182
16k
A Philosophy of Restraint
colly
203
16k
Automating Front-end Workflow
addyosmani
1368
200k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
A designer walks into a library…
pauljervisheath
205
24k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
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/