Slide 1

Slide 1 text

© 2024 Dinii Inc. 小規模に始めるデータメッシュと データガバナンスの実践 DataOps Night #5 30 Oct, 2024 Junya Kimura

Slide 2

Slide 2 text

株式会社 ダイニー © 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

Slide 3

Slide 3 text

© 2024 Dinii Inc. 株式会社 ダイニー 01 02 03 04 05 会社紹介 なぜデータメッシュなのか 複数事業部のデータをつなぐアーキテクチャ データガバナンス まとめとお知らせ DataOps Night #5

Slide 4

Slide 4 text

© 2024 Dinii Inc. 株式会社 ダイニー 会社紹介 01 DataOps Night #5

Slide 5

Slide 5 text

株式会社 ダイニー © 2024 Dinii Inc. 会社紹介 DataOps Night #5

Slide 6

Slide 6 text

株式会社 ダイニー © 2024 Dinii Inc. 会社紹介 DataOps Night #5

Slide 7

Slide 7 text

株式会社 ダイニー © 2024 Dinii Inc. 会社紹介 DataOps Night #5

Slide 8

Slide 8 text

© 2024 Dinii Inc. 株式会社 ダイニー なぜデータメッシュなのか 02 DataOps Night #5

Slide 9

Slide 9 text

株式会社 ダイニー © 2024 Dinii Inc. なぜデータメッシュなのか DataOps Night #5 データメッシュは、組織内または組織間の複雑で大規模な環境において、分析データを共有・ア クセス・管理するための分散型アプローチ (Zhamak Dehghani “Data Mesh”, O'Reilly) データメッシュとは? 特徴 ● データのオーナーシップをドメインに分散する (中央集権ハブを持たない) ○ 外部ドメインに公開するデータ (= データプロダクト) をメンテナンス ● データガバナンスはセルフサービスプラットフォームによって行う

Slide 10

Slide 10 text

株式会社 ダイニー © 2024 Dinii Inc. なぜデータメッシュなのか DataOps Night #5 データメッシュとは?

Slide 11

Slide 11 text

株式会社 ダイニー © 2024 Dinii Inc. なぜデータメッシュなのか DataOps Night #5 PROS ❏ 高いアジリティ ❏ ドメイン間の調整だけでデータ共有が 完結する ❏ 組織成長に合わせたスケーラビリティの高さ ❏ Data Team のリソースがボトルネック にならない ❏ ドメインの成熟度に合わせたデータ共有が可 能 ❏ チームによってデータプラットフォー ムの成熟度が異なっていても問題がな い CONS ❏ 移行コストの高さ ❏ 中央集権アプローチをとっているアー キテクチャから移行するコストが高い ❏ 複雑なアーキテクチャ ❏ ドメイン間のデータ共有ごとにパスが 発生し全体として複雑になる ❏ データガバナンスのためのプラットフォーム 整備が必須 ❏ アクセス制御や品質管理、メタデータ 管理などのガバナンスが最重要 本日お話するトピック データメッシュとは?

Slide 12

Slide 12 text

株式会社 ダイニー © 2024 Dinii Inc. なぜデータメッシュなのか DataOps Night #5 ダイニーのドメインの歴史 ● 2019~ モバイルオーダー POS の開発・リリース (MO-POSドメイン) ● 2023~ ダイニーキャッシュレスの開発・リリース (Finance ドメイン) ● 2024~ ダイニー勤怠の開発・リリース (Employee Satisfaction, ES ドメイン) つまり MO-POS ドメインしかなかったところに、急にドメインが 2 つ増えた Compound Startup の特徴

Slide 13

Slide 13 text

株式会社 ダイニー © 2024 Dinii Inc. なぜデータメッシュなのか DataOps Night #5

Slide 14

Slide 14 text

株式会社 ダイニー © 2024 Dinii Inc. なぜデータメッシュなのか DataOps Night #5 ● 各ドメインチームが最大限独立してアプリケーションを開発する方針を取っている ○ 認証認可基盤の利用や Technical Standard の適用のみ Platform Team が整備する形 ● もともと MO-POS ドメインしかなく、1 からデータプラットフォームを作るタイミングだった ○ Compound Startup なのでドメインはさらに増え続ける ● データメッシュは大規模な環境に適用される前提の概念だが、小規模段階でも各ドメインの独立 性を保ったままデータプラットフォームを実装するのに有効と考えた データメッシュのアジリティ・スケーラビリティの高さがマッチしている 中央集権からデータメッシュへの移行コストが 0 データメッシュを採用する意思決定へ (ガバナンスはガンバル)

Slide 15

Slide 15 text

© 2024 Dinii Inc. 株式会社 ダイニー 複数事業部のデータを つなぐアーキテクチャ 03 DataOps Night #5

Slide 16

Slide 16 text

株式会社 ダイニー © 2024 Dinii Inc. 複数事業部のデータをつなぐアーキテクチャ DataOps Night #5 Dataplex ● ドメインごとのデータセットを ひとまとめにして定義する ○ Lake, Zone, Asset の 3 レイヤー ○ ドメインデータに対して きめ細かい権限管理が可能 ● データ探索、品質管理、 メタデータ管理 (カタログ機能) を内包 Dataplex は、分散データを統合し、そのデータのデータ マネジメントとガバナンスを自動化する データ ファブリックです。Dataplex は、データの移動または重複を必要としない方法でデータを管理します。 (Google Cloud “Dataplex overview”, https://cloud.google.com/dataplex/docs/introduction)

Slide 17

Slide 17 text

株式会社 ダイニー © 2024 Dinii Inc. 複数事業部のデータをつなぐアーキテクチャ DataOps Night #5 アーキテクチャ図 (簡易版)

Slide 18

Slide 18 text

© 2024 Dinii Inc. 株式会社 ダイニー データガバナンス 04 DataOps Night #5

Slide 19

Slide 19 text

株式会社 ダイニー © 2024 Dinii Inc. データガバナンス DataOps Night #5 実践しているガバナンスの観点 Discoverable (発見可能性) Understandable (意味の一意性) 他のドメインのデータを発見・理 解する Dataplex/Data Catalog による メタデータ・リネージ管理 Trustworthy (品質) データプロダクトの品質管理を行 う Dataplex の品質管理機能を利用 Secure (セキュリティ) データプロダクトへのアクセスを 管理する Dataform の assertion を利用 Interoperable (相互運用性) 各データプロダクトに同じイン ターフェースでアクセスする スキーマ変更をデリバリーするフ ローを定義 ● データプラットフォームに求められる観点ごとにガバナンスの手法を制定 ○ 観点は Data Mesh 本から一部抜粋 観点 解釈 ガバナンス手法

Slide 20

Slide 20 text

株式会社 ダイニー © 2024 Dinii Inc. データガバナンス DataOps Night #5 Dataplex (Data Catalog) によるデータガバナンス ● メタデータ管理 ○ Google Cloud Project 横断で BigQuery メタデータの一覧、検索が可能 ■ BigQuery テーブルに Description をちゃんと付与しておけば、何もしなくても使え る ○ tag ベースのメタデータ管理を利用したい場合は Data Catalog を利用する ■ PII レベルの管理とか

Slide 21

Slide 21 text

株式会社 ダイニー © 2024 Dinii Inc. データガバナンス DataOps Night #5 Dataplex (Data Catalog) によるデータガバナンス ● リネージ管理 ○ Cloud Logging に出力されたクエリログをもとにリネージを自動生成 ○ Project をまたいだテーブル参照も可視化可能

Slide 22

Slide 22 text

株式会社 ダイニー © 2024 Dinii Inc. データガバナンス DataOps Night #5 スキーマ変更のデリバリー ● あるデータプロダクトでスキーマ変更が発生した場合、利用者側にデリバリーする必要がある ○ サイレントでスキーマが変わると、ある日突然パイプラインが止まる ● 2 つの観点が必要 ○ データプロダクトの利用箇所を特定可能であること → Dataplex のリネージ機能でクリア ○ 互換性を保ちつつ移行できること ● 互換性を保ちながら移行する ○ データプロダクトとして公開しているデータセットのスキーマさえ変わらなければ問題が ない ○ View とバージョン管理によって移行する

Slide 23

Slide 23 text

株式会社 ダイニー © 2024 Dinii Inc. データガバナンス DataOps Night #5 スキーマ変更のデリバリー

Slide 24

Slide 24 text

株式会社 ダイニー © 2024 Dinii Inc. データガバナンス DataOps Night #5 ● データプロダクト開発・メンテナンスのためのルール策定と実装 Google Cloud Project の分離、独立したワークスペースの実装 ● アクセス制御の方法定義と実装 ○ Service Account によるアクセス制御のルール化 その他のデータガバナンス

Slide 25

Slide 25 text

株式会社 ダイニー © 2024 Dinii Inc. データガバナンス DataOps Night #5 まだできていなこと ● 品質管理のプラットフォーム制定 ○ Dataform にも品質管理の仕組みがある (assertion) ■ 現状はこれ ○ Dataplex の品質管理を使いたい ■ 他のテーブルとの関係性もルールで記述できる ● データスチュワードの整備 ○ 「このデータの管理者は誰か」を表すのがデータスチュワード ○ Dataplex にもデータスチュワード管理の機能はあるが、仕組みの検証ができていない ● コードベースでのプラットフォーム提供 ○ 今は各ドメインのリポジトリに個別に実装されている ○ 共通ライブラリとして整理して、各所で使うようにしたい

Slide 26

Slide 26 text

© 2024 Dinii Inc. 株式会社 ダイニー まとめとお知らせ 05 DataOps Night #5

Slide 27

Slide 27 text

株式会社 ダイニー © 2024 Dinii Inc. まとめとお知らせ DataOps Night #5 まとめ ● 複数事業部全体のデータプラットフォームとしてデータメッシュパターンを採用している ● データメッシュはガバナンス部分が重要なので Data Team が大きなリソースを割いてガバナンス に投資をしている ● データメッシュのガバナンスツールとして Dataplex を広く活用している ● ガバナンス対象が広く未着手な領域も多いのでこれからがんばる

Slide 28

Slide 28 text

株式会社 ダイニー © 2024 Dinii Inc. DataOps Night #5 まとめとお知らせ https://dinii.connpass.com/event/333856/