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
chanyou0311
November 20, 2024
Technology
2k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
datatech-jp の「Data Contract事例共有会」での登壇資料です。
https://datatech-jp.connpass.com/event/331984
chanyou0311
November 20, 2024
More Decks by chanyou0311
See All by chanyou0311
5分でわかるDuckDB Quack
chanyou0311
4
270
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
2.6k
LookerとADKで作る社内AIエージェント
chanyou0311
0
530
「リリース後」に向き合うAI駆動開発の実践
chanyou0311
0
92
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
10
4.4k
5分でわかるDuckDB
chanyou0311
12
4.7k
データの信頼性を支える仕組みと技術
chanyou0311
6
2.4k
Pulumi に入門してみた
chanyou0311
1
400
What is DRE? - Road to SRE NEXT@広島
chanyou0311
3
1.3k
Other Decks in Technology
See All in Technology
「ビジネスがわかるエンジニア」とは何か?
ryooob
0
400
水を運ぶ人としてのリーダーシップ
izumii19
4
1.1k
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
10
1.6k
データレイクの「見えない問題」を可視化する
sansantech
PRO
1
240
AIエージェントとPhysical AIが拓く製造業の変革(ハノーバーメッセリキャップ)
iotcomjpadmin
0
170
從觀望到全公司落地:AI Agentic Coding 導入實戰 — 流程整合與安全治理
appleboy
0
170
AIをフル活用してオンコール機能のプロトタイプを2日で作った話 / Building an AI-Powered On-Call Prototype in Just Two Days
nari_ex
0
150
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
970
從開發到部署全都交給 AI:實作 AI 驅動的自動化流程
appleboy
0
190
Foundry Toolkit + Lemonade Serverでローカルワークフロー開発
seosoft
0
110
FinOps X 2026 Recap from Engineer Side #JapanFinOps
chacco38
0
110
“ID沼入口” - 基本とセキュリティから始める、考え続けるためのID管理技術勉強会 告知&イントロ
ritou
0
150
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
1
490
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
140
Statistics for Hackers
jakevdp
799
230k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Making Projects Easy
brettharned
120
6.7k
A Tale of Four Properties
chriscoyier
163
24k
Building AI with AI
inesmontani
PRO
1
1.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
950
Mind Mapping
helmedeiros
PRO
1
270
Transcript
2024/11/20 Yu Nakamura - chanyou データプロダクトの定義からはじめる データコントラクト駆動なデータ基盤 @chanyou0311
Yu Nakamura - chanyou • スタートアップでデータエンジニアとして交通データ分析基盤 の構築‧運⽤を経験 • その後、株式会社タイミーの DRE
チームにジョイン • タイミーのデータ基盤の開発‧運⽤を担当 • 最近はデータ基盤領域におけるPlatform Engineeringに興味が あります • 広島在住。趣味はおうち Kubernetes クラスタ • YAPC::Hiroshima 2024 のスタッフなど
タイミーとは 3 「働きたい時間」と「働いてほしい時間」を マッチングするスキマバイトサービス 従来の「求⼈サイト」でも「派遣」でもない
タイミーの特徴 4
タイミーの実績 スキマ バイト No.1 ※1 ※2 [調査⽅法]インターネット調査 [調査期間]2024 年 2
⽉ 9 ⽇~11 ⽇ [調査概要]スキマバイトアプリサービスの実態調査 [調査委託先]株式会社マクロミル ※3 2024年9⽉時点 ※4 2024年9⽉時点 利⽤率 ‧リピート率 ※1 ※2 導⼊事業者数 136,000企業 ワーカー数 900万⼈ ※4 ※3
目次 • タイミーのデータ基盤の現状と課題 • ソリューションの模索 • 実践していることとこれから
1 タイミーのデータ基盤の 現状と課題
タイミーのデータ基盤の歴史 2018 アプリ リリース DWH (BigQuery)へ データ集約 2020 Looker導入 &
dbt導入 2021 2022 2023 2024 データモデリング をLookerからdbt へ移行 Datastreamに よるCDC導入 / exposureによる アウトプットの 管理 ガバナンスの強化 DREの数 (正社員ベース) 1 1 1 -> 2 2 -> 4 4 -> 6 AEの数 (正社員ベース) 1 -> 2 2 1
アーキテクチャ(2022年頃)
アーキテクチャ(いま)
アーキテクチャ(いま) 利⽤ユースケースの 増加 データの増加と アーキテクチャの複雑化
現状と課題 • データソース側の課題 ◦ 新規対応データソースへの対応が継続的に求められる ◦ 既存のデータソースの仕様変更への対応でかかり切りに • ユースケース側の課題 ◦
各部署の多様なニーズへの対応が継続的に求められる ◦ dbtのマート層の改修でかかり切りに ◦ データ品質とサービスレベルを誤って理解してデータを利活⽤してし まったり
中央データチームのボトルネックを解消しながら、 データガバナンスをうまく実践できないものか🤔
2 ソリューションの模索
輪読会の開催 『Driving Data Quality with Data Contracts』 Andrew Jones Packt
Publishing, 2023年 https://data-contracts.com 『データスチュワードシップ - データマネジメント&ガバナンスの実践ガイド』 David Plotkin, Metafindコンサルティング株式会社 ⽇経BP社, 2024年 https://book.impress.co.jp/books/1118101029
‧データ基盤のプラットフォーム化により、ボトルネックを技術的に解決していく ‧データコントラクトを通してあらゆるパイプラインやドキュメントの⾃動⽣成を ⾏う事例を紹介 中央データチームがボトルネックになる課題にフォーカス 『Driving Data Quality with Data Contracts』
Andrew Jones Packt Publishing, 2023年 https://data-contracts.com
データにまつわる仕様を定義したファイル 引⽤元: https://data-contracts.com
スキーマはもちろん PII に該当するかも定義 引⽤元: https://data-contracts.com
データの配置場所や利⽤規約も表現 引⽤元: https://data-contracts.com
サービスレベルも表現する 引⽤元: https://data-contracts.com
データコントラクト駆動なデータ基盤 データコントラクトから、様々な成果物を⾃動的に⽣成できる ‧宛先のデータセット ‧データ転送処理 ‧データ品質の監視 ‧ドキュメント ‧… これにより中央データチームのボトルネックが解消されるという考え
タイミーにおけるデータコントラクト駆動なデータ基盤 ✅ データコントラクトからリソースを⽣成するのは、ボトルネックを解消できそう ‧PoCとしてデータコントラクト(YAML)からPulumiでリソース⽣成など難なくできた ‧現状のTerraformベースのリソース管理とコンフリクトするので要調整 🌀 ⼀⽅で、データコントラクトを中央データチームであるDREが書き続けていては、 ボトルネックは解消できない ‧中央データチームではない、データアナリストやデータサイエンティストがデータ コントラクトを記述していく世界が理想
データガバナンスの実践⽅法にフォーカス 『データスチュワードシップ - データマネジメント&ガバナンスの実践ガイド』 David Plotkin, Metafindコンサルティング株式会社 ⽇経BP社, 2024年 https://book.impress.co.jp/books/1118101029
‧ロールと会議体を厳密に設計して、Opsで解決していく ‧データが⽣成されてから活⽤されるまでの⼀連の流れを「インフォメーションチェーン」と呼ぶ ‧インフォメーションチェーンごとに必要なロールや会議体を設定して、適切にデータが蓄積‧活⽤さ れる状態を維持するという考え
インフォメーションチェーン インフォメーションチェーン ビジネスデータスチュワード テクニカルデータスチュワード テクニカルデータスチュワード
タイミーにおけるデータスチュワードシップ 🌀 データスチュワードシップで紹介されていた厳格なプロセス は、今のタイミーにとっては少し重厚すぎた ✅ データスチュワードという役割は重要そう ‧データ品質とサービスレベルを理解した上でデータ活⽤を推進 するには、インフォメーションチェーン全体に関わるスチュワー ドの存在は重要
輪読会の学びをまとめると ‧データコントラクト駆動なデータ基盤を実装することで、中央データチームの ボトルネックが解消できそう ‧ただ、どういう単位で誰がデータコントラクトを記述して、メンテナンスする と良いんだろう?
Data Mesh Manager のデモ体験会 Data Mesh Manager のデモを体験してコンセプト を理解した ‧データプロダクトの
I/F としてデータコントラク トが宣⾔されている ‧データプロダクトの運⽤を担うドメインチーム の存在 引⽤元: https://www.datamesh-manager.com
Data Mesh Manager のデモ体験会 引⽤元: https://demo.datamesh-manager.com/demo544726604823/teams/products Data Mesh Manager のデモを体験してコンセプト
を理解した ‧データプロダクトの I/F としてデータコントラク トが宣⾔されている ‧データプロダクトの運⽤を担うドメインチーム の存在
Data Mesh Manager のデモ体験会 引⽤元: https://demo.datamesh-manager.com/demo544726604823/teams/products Data Mesh Manager のデモを体験してコンセプト
を理解した ‧データプロダクトの I/F としてデータコントラク トが宣⾔されている ‧データプロダクトの運⽤を担うドメインチーム の存在 どう解釈したらいいんだろう🤔
datamesh-architecture.com で整理されている 引⽤元: https://www.datamesh-architecture.com
データ基盤をデータプロダクトの集合と捉えて、 ドメインチームが主体となって開発‧運⽤を推進する 引⽤元: https://www.datamesh-architecture.com
データプロダクトはデータと周辺のリソースのこと 引⽤元: https://www.datamesh-architecture.com
引⽤元: https://www.datamesh-architecture.com データプロダクトの開発‧運⽤をドメインチームが担う
引⽤元: https://www.datamesh-architecture.com ドメインチームを⽀える Platformチーム、Enablingチーム、Gorvernanceチーム
これまでの学び ‧今まではデータコントラクトを基軸にデータ基盤を捉えていた ‧データプロダクトとその開発チームを基軸にデータ基盤を捉え直すべきでは? ‧インターフェイスとしてデータコントラクトが機能するのでは? ‧タイミーにおいては、BigQuery のデータセットをひとつの⽬安としてデータプ ロダクトとして区切り、ドメインチームの詳細やデータコントラクトを取りまと めることができそう
3 データ基盤の課題解決に向けて 実践していることと これから
ボトムアップで、⼩さくはじめる
直近でMAツールでのデータ活⽤のために、マート層と ReverseETLの実装シーンがあった ‧同期するデータの内容を継続的に拡充していく予定 ‧全て中央のデータチームが受け取るのは難しい ‧データプロダクトとデータコントラクトの事始めとして良さそう! ディメンション モデリング (dbt Model) MAツール⽤
マート層 (dbt Model) MAツール
確かめたいこと ‧中央データチームから分離された、ドメインチームという体制でうまく開発を 推進できるか ‧BigQuery のデータセット単位でデータプロダクトを定義するのでよさそうか
ドメインチームと役割分担 名称 役割 MOps(プロダクトオーナー) MAツールへの同期内容やスケジュール間隔の判断など アナリティクスエンジニア dbtモデルの実装のリード データアナリスト dbtモデルの実装(アナリティクスエンジニアと協働) DRE
MAツール接続部分の設定 データコントラクト、データプロダクトの定義 Platform, Enable, Governance チーム的に振る舞う
キックオフミーティングの開催 ‧開発内容‧スコープのすり合わせ ‧データ基盤の課題と解決案の共有 ‧データプロダクトキャンバスの作成
データプロダクトキャンバス 引⽤元: https://www.datamesh-architecture.com/data-product-canvas
キャンバスの公式例 引⽤元: https://www.datamesh-architecture.com/data-product-canvas
Miroテンプレートを活⽤ 引⽤元: https://www.datamesh-architecture.com/data-product-canvas
やらなかったこと データコントラクト駆動によるリソースの払い出し ‧既存のIaC環境とコンフリクトしてしまう ‧現時点で有⽤か判断するのが難しい ドメインチームによるスクラムの実践 ‧今回においてはオーバーヘッドが⼤きいため
実践する中でわかってきたこと ✅ データ基盤の課題と、取り組む意義について理解してもらえた ‧アナリストと⼀緒にデータプロダクトの開発を推進できそう ✅ 認識のすり合わせに、データプロダクトキャンバスがうまく機能した ‧特にデータのユースケースやステークホルダーを把握する役割を果たした
実践する中でわかってきたこと 🌀 ドメインチームだけで継続的な運⽤まですぐにカバーするのは難しそう ‧特にアナリストはショットで分析を⾏う普段の業務とのギャップも⼤きい ‧モニタリング環境の提供など、仕組みで解決できる余地がありそう
これから 💪 草の根活動として、引き続きデータプロダクト開発体制の検証を進めていく ‧データプロダクト、データコントラクトの定義をドメインチームが⾏えるように 💪 いずれは横展開できるように型化する必要がある ‧国内事例がほとんどなく、なかなか組織全体を巻き込みにくい ‧社内で⼩さく検証を重ねながら、⾃信を持って横展開できる⽅法を確⽴したい ‧ぜひ⼀緒に知⾒交換させてください!
4 まとめ
まとめ 中央データチームのボトルネックの解消には2つのアプローチがありそう ‧技術: データコントラクト駆動なデータ基盤 ‧組織: ドメインチームによるデータプロダクトの開発‧運⽤体制の構築 ビッグバン的な変化は成功確度が低くハレーションも起きやすいので、⼩さく検 証を積み重ねていこう
https://hrmos.co/pages/timee/jobs/1682251404118319115 データ基盤を通して、プロダクトと組織の成⻑を⼀緒に⽀えましょう! We're hiring!