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
データリネージの組織導入事例と今後の戦略 / Introduction to an examp...
Search
Toshifumi Tsutsumi
December 12, 2022
Programming
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データリネージの組織導入事例と今後の戦略 / Introduction to an example of data lineage in GMO Pepabo
datatech-jp Casual Talks #4 登壇資料
https://datatech-jp.connpass.com/event/264640/
Toshifumi Tsutsumi
December 12, 2022
More Decks by Toshifumi Tsutsumi
See All by Toshifumi Tsutsumi
ModuleNotFoundErrorの傾向と対策:仕組みから学ぶImport / Unpacking ModuleNotFoundError
tosh2230
3
6.7k
CDCデータパイプラインを止めないために / One Stream of the CDC
tosh2230
0
1.8k
ニアリアルタイム分析の実現に向けたChange Data Captureの導入 / Change data capture for near realtime analytics
tosh2230
3
2.5k
SQLクエリ解析によるE2Eデータリネージの実現 / E2E-data-lineage
tosh2230
0
4.2k
データ抽出基盤 Yeti をつくっている話 / Yeti - Yet another Extract-Transfer Infrastructure
tosh2230
1
5.6k
Loggingモジュールではじめるログ出力入門 / Introduction to Python Logging
tosh2230
33
17k
データ基盤チームの設立と直近の取り組み / the-establishment-of-pepabo-data-platform-team
tosh2230
5
4.8k
Other Decks in Programming
See All in Programming
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
210
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
330
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
1
230
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
590
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
230
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
260
数百円から始めるRuby電子工作
tarosay
0
150
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
500
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
680
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
150
Go 1.27 における memory allocation の高速化
andpad
0
170
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
320
Google's AI Overviews - The New Search
badams
0
1.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.7k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
400
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
640
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
Optimizing for Happiness
mojombo
378
71k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
170
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Transcript
データリネージの 組織導入事例と今後の戦略 堤 利史 / GMO PEPABO inc. 2022.12.12 datatech-jp
Casual Talks #4 1
2 自己紹介 技術部 データ基盤チーム シニアエンジニア 2020年 中途入社 堤 利史 TSUTSUMI Toshifumi
2020年12月にGMOペパボへ入社。 データエンジニアとしてデータ基盤の 開発・運用に従事。 Twitter: @tosh2230 先日、PS5の購入に成功しました
3 アジェンダ 1. データリネージをはじめた背景 2. Stairlight の紹介 3. GMOペパボでのデータリネージ導入事例 4.
今後の戦略と課題
4 1. データリネージを はじめた背景
データの系譜を明らかにすること - Lineage: 血統、家柄 - メタデータ(データを説明するためのデータ)の一種 データの可観測性(Data observability)の向上が目的 - このデータは何から生まれたのか?
- このデータはどこで使われているのか? 1. データリネージをはじめた背景 5 データリネージ(Data lineage)
- データ駆動のためのエコシステムの提供 - サービスの動的な改善と意思決定の自動化をサポート 詳細はこちらの資料を ご参照ください 👉 1. データリネージをはじめた背景 6
データ基盤 Bigfoot https://speakerdeck.com/zaimy/inside-story-of-data-infrastruc ture-supporting-gmo-pepabos-services-and-r-and-d
7 - 運営サービスが複数ある = データベースが複数ある - つまり Extract 対象がいっぱいある -
Extract したデータの種類が多いと Transform のパターン数も増えがち GMOペパボは、インターネットサービスを多数運営しています 1. データリネージをはじめた背景 * ほかにもたくさん! 詳しくは https://pepabo.com/services/ をご覧ください
8 困りごと 1: データ障害の原因や影響範囲を把握しにくい 1. データリネージをはじめた背景 誰か 「このテーブルが壊れたら、誰が、どういう風に困る?」 私 「」
過去には、データ障害発生から復旧までに要した時間の半分以上を “影響範囲の調査”と”復旧に必要なジョブ特定”に使っていたことも...
9 困りごと 2: 業務データの活用状況を把握しにくい 1. データリネージをはじめた背景 「誰が、どこにあるデータを、どのように活用しているのか?」 • 各事業では、複数のデータベースやデータウェアハウスに対して SQL
を用いてデータを取得し、施策の検討やビジネス的な判断を行っている • Bigfoot は、社内ユーザーから見るとデータソースのひとつに過ぎない • Bigfoot の活用状況のみならず、業務データ全体の活用状況を知りたい
10 業務データ全体に対するデータリネージがしたい 1. データリネージをはじめた背景 特定のアプリケーションやデータウェアハウス、ワークフローではなく、 業務データフロー全体におけるアウトプット同士の関係性を把握したい • テーブル • ダッシュボード
• Slack 通知 • 統計・機械学習モデル • …
11 2. Stairlight の紹介
12 2. Stairlight の紹介 An end-to-end data lineage tool, detects
table dependencies from SQL statements. $ pip install stairlight https://github.com/tosh2230/stairlight
13 2. Stairlight の紹介 特徴1: SQL からデータのつながりを見つける Jinja パラメータ
14 2. Stairlight の紹介 特徴2: コードベースにある SQL を探す 過去に実行されたクエリではなく いま・これから実行されうるクエリを
リネージ対象にする
15 2. Stairlight の紹介 特徴3: 独立性が高い - データリネージ機能(抽出・検索)のみを提供する - ETL/ELT,
BI などの機能を提供するツールとの結合度が低い - 複数のユースケース - ローカルなどから依存関係を検索 - 抽出用エージェント - Python ライブラリとしてアプリケーションに組み込み
16 2. Stairlight の紹介 開発背景や機能解説は PyCon JP 2022 のスライドをご覧ください https://speakerdeck.com/tosh2230/e2e-data-lineage
17 1. セクションタイトル 3. GMOペパボでの データリネージ導入事例
3. GMOペパボでのデータリネージ導入事例 18 logs metrics GitHub issues databases tbls datasets
BigQuery bigfoot/platform Cloud Storage - Permissions - Datasets - Buckets Looker Studio bigfoot/cloud-composer Cloud Composer dags/ tbls-build base tbls.yml files patch files ( *.yml, *.json ) patched tbls.yml files tbls-meta tbls data catalog Apply metadata Generate & Commit Generate schema.json & commit bigfoot/data-catalog Update metadata & commit Send analysis results Verne Vertex AI Bigfoot 概要図 18
3. GMOペパボでのデータリネージ導入事例 19 bigfoot/cloud-composer のリネージ情報を収集 Bigfoot のオーケストレーションに関するコードを 管理するリポジトリ 現時点で管理している SELECT
文: 約220 2022年10月から運用開始
3. GMOペパボでのデータリネージ導入事例 20 bigfoot/data-lineage で設定ファイルを管理 bigfoot/cloud-composer 1. コード追加・変更 2. Pull
Request 作成 3. マージ・デプロイ bigfoot/data-lineage 1. 未設定クエリの自動抽出* 2. 設定追加・変更 3. Pull Request 作成 4. マージ * “stairlight map” コマンドで抽出します
3. GMOペパボでのデータリネージ導入事例 21 情報伝達の質と展開速度↑ - データ障害が発生した際、影響調査に要する時間が減った - 業務影響の有無を、これまでよりも正確に・早い段階で周知できるようになった 俯瞰的な視点 -
アウトプット同士の依存関係を把握する手段を得たことで、 優先順位を決める判断材料が増えた - 障害復旧までに要する作業量の削減と作業時間の短縮を実現した 効果
22 4. 今後の戦略と課題
4. 今後の戦略と課題 23 View 層のデータリネージ Verne - Cloud Run ベースの
汎用アプリケーション基盤 - Streamlit を用いた ダッシュボードがメイン - ex. Four keys* BI ツール - Redash - Metabase * エンジニアの活動情報からFour Keysを集計、可視化した話 https://tech.pepabo.com/2022/01/06/four-keys-dashboard/
4. 今後の戦略と課題 24 設定ファイル更新 Pull Request 作成の自動化 bigfoot/cloud-composer 1. コード追加・変更
2. Pull Request 作成 3. マージ・デプロイ bigfoot/data-lineage 1. 未設定クエリの自動抽出 2. 設定追加・変更 3. Pull Request 作成 4. マージ
4. 今後の戦略と課題 25 リネージ情報を GUI で公開 bigfoot/cloud-composer 1. コード追加・変更 2.
Pull Request 作成 3. マージ・デプロイ bigfoot/data-lineage 1. 未設定クエリの自動抽出 2. 設定追加・変更 3. Pull Request 作成 4. マージ Verne
4. 今後の戦略と課題 26 遅延情報の開示と通知 Data Health Dashboard - データが期待した状態であるか、ヘルスチェック結果を常に開示 -
ETLジョブではなく アウトプットの状態とその関係性 を表示する 遅延通知 - データ遅延を都度報告するのではなく、即座に伝える - 通知登録をした人・グループ・Slack チャンネルに送る(列車遅延通知と同じ)
4. 今後の戦略と課題 27 Looker Studio と Connected Sheets - 設定を取り出す方法が
見つかっていない - 監査ログから事後的に クエリを検出する予定 検討中... アプリ・ジョブ ⇔ アウトプットの 相互検索 - Stairlight の Label 機能 で実現できる? - (要検証)
まとめ 28 - 人間やアプリケーション、統計・機械学習モデルなどが生み出す アウトプットの関係性を、データリネージによって継続的に捉える - データ基盤チームから積極的に施策を提案できる態勢にする - 社内データ活用の状況・状態が常に公開されていることを”ふつう”にする
29 Thank You! Thank You!