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
Eurekaの DataPlatform開発状況と再現性の実現
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
t-kurimura
February 06, 2020
Technology
4.6k
3
Share
Eurekaの DataPlatform開発状況と再現性の実現
t-kurimura
February 06, 2020
More Decks by t-kurimura
See All by t-kurimura
LUUP の事業を支える AI Agent 活用
t_kurimura
0
190
アプリデータの分析を楽に効果的に!FirebaseAnalyticsとお友達になると良い3つの理由
t_kurimura
1
2k
Other Decks in Technology
See All in Technology
最大のアウトプット術は問題を作ること
ryoaccount
0
300
Goビルドを理解し、 CI/CDの高速化に挑む
satoshin
0
130
サイボウズフロントエンドの活動から考える探究と発信
mugi_uno
0
110
あるアーキテクチャ決定と その結果/architecture-decision-and-its-result
hanhan1978
0
340
遊びで始めたNew Relic MCP、気づいたらChatOpsなオブザーバビリティボットができてました/From New Relic MCP to a ChatOps Observability Bot
aeonpeople
1
170
Oracle Cloud Infrastructure:2026年3月度サービス・アップデート
oracle4engineer
PRO
0
380
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
TanStack Start エコシステムの現在地 / TanStack Start Ecosystem 2026
iktakahiro
1
290
Babylon.js Japan Activities (2026/4)
limes2018
0
170
Kubernetes基盤における開発者体験 とセキュリティの両⽴ / Balancing developer experience and security in a Kubernetes-based environment
chmikata
0
170
推し活エージェント
yuntan_t
1
810
パワポ作るマンをMCP Apps化してみた
iwamot
PRO
0
300
Featured
See All Featured
Building AI with AI
inesmontani
PRO
1
860
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
30 Presentation Tips
portentint
PRO
1
270
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
450
Leo the Paperboy
mayatellez
6
1.6k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
130
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
310
The Curious Case for Waylosing
cassininazir
0
290
Test your architecture with Archunit
thirion
1
2.2k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
330
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
390
Transcript
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
1
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
2 Slide Uploaded Ask on Twitter #前向きデータ整備人 で探してみてください 懇親会にもいるのでそちらでも
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
3 自己紹介 Takahisa Kurimura - Eureka Inc. - BI (Business intelligence) チーム所属 - Mobile apps/ Matching / SharingEconomy - Football (主にJリーグ) / Motorbike t-kurimura t_kurimura
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
4
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
5
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
6
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
7
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
8
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
9 Eurekaの DataPlatform開発状況と"再現性"の実現 第二回 データアーキテクト(データ整備人) を“前向き”に考える会 /2020.02.06
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
10 DataPlatform基盤の全体概要 データ基盤の全体構成図
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
11 Third Party tools DataPlatform基盤の全体概要 その他Adhocな分析 BigQuery
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
12 Third Party tools DataPlatform基盤の全体概要 Data Platform その他Adhocな分析 BigQuery CloudComposer Airflow
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
13 DataPlatform基盤の全体概要 Apache Airflow を基に構築された、 フルマネージドのワークフロー オーケストレー ション サービス スケジュール管理・ワークフロー管理に特化し たオープンソースソフトウェア
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
14 Third Party tools DataPlatform基盤の全体概要 Data Platform DataLake Data WareHouse DataMart 生ログをほぼ そのまま保存 しているDB 分析用の下処 理を施したDB ビジネス 観点で整備し たDB その他Adhocな分析
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
15 DataPlatformの変遷 DataPlatformの発足期 Redash/Spreadsheet乱立期 DataPlatform開発繁栄期 - DP開発メンバーの増加 - Tableau上ので公式DSの拡充 - DP定例会の実施 - RedashAPIをGasで利用 - Spreadsheetに データを連携し可視化 - Tableau導入 - CloudComposer導入 - 基本データの拡充 - View Queryの乱立 DataPlatform管理レポジトリのコード量の推移
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
16 DataPlatformの変遷 DataPlatformの発足期 Redash/Spreadsheet乱立期 DataPlatform開発繁栄期 - DP開発メンバーの増加 - Tableau上ので公式DSの拡充 - DP定例会の実施 - RedashAPIをGasで利用 - Spreadsheetに データを連携し可視化 - Tableau導入 - CloudComposer導入 - 基本データの拡充 - View Queryの乱立 DataPlatform管理レポジトリのコード量の推移
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
17 DataPlatformにのせる “公式化”のメリット View Table / Scheduled Query Airflowでの管理 - コードレビューによるデータの妥当性の担保 - 依存関係の定義によるデータの信頼性の担保 - データ・分析の再現性を支える ✔
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
18 DataPlatformにおける“再現性”とは - データに対するドメインナレッジの蓄積 データの定義における解釈が統一される - 必要なデータが必要なときにすぐに取り出せること どこに何があるかが明確で、すぐにアクセス可能
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
19 DataPlatformの開発状況 Pairs Project A 担当 Pairs Project B 担当 Engage 担当 Tableauによるデータの可視化・意思決定のサポート BigQueryでのデータソースの作成 Airflowでのワークフローの作成 CloudComposerの基盤管理 SRE Team Project Owner & member 経営レポート・中長期分析・ マーケティング関連 Adhoc分析 Boards, Bland, MarketingTeam
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
20 DataPlatformの開発フロー 依頼者 ProductManager ProductOwner Team meber etc. BI Team View TableやScheduled Queryを利用して簡易的に提供 目的・背景・見たい指標等の落とし込み
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
21 DataPlatformの開発フロー 依頼者 BI Team 当該Dashboardの運用の知見を踏まえて AirflowでDWH・DMを実装
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
22 DataPlatformの開発フロー 一度、ViewTableなどで簡易的にDataMartを作成し可視化する。 その後、成果物の改善点などを踏まえてDWH/DMを実装する。 - 運用が安定したDashboardを元にDWH/DMを実装すれば過不足なく設計できる。 - 突発的な依頼に対応しやすい - 担当者の強い意志依存なので、 ViewQueryの放置、DWH・DMが充実していかない可能性 メリット デメリット
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
23 DWH構築のためのログ・メタデータの活用 すべてのクエリ発行や操作のログが集積 データセット内のテーブルの最終更新などの情報
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
24 DataPlatformでの監査データの活用 あらゆるツールを介して実行されているクエリをまとめて確認できる
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
25 DataPlatformでの監査データの活用 2つのテーブルがJOINして実行されているクエリを DWH化
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
26 DataPlatformでの監査データの活用 DWH・DMにどういったものが必要・不必要かの判断材料に • 利用頻度の多いテーブル • 同時に使われていることが多いテーブル • 全く利用されてないテーブル 監査ログ・Information_schemaを利用することで、
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
27 DataPlatformでの永続UDFの活用 特定のDatasetに関数のみを、定義できる
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
28 異なるクエリからでも同じ関数を参照できる DataPlatformでの永続UDFの活用
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
29 永続UDFに関してもコード管理 DataPlatformでの永続UDFの活用
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
30 コード管理によって、定義の統一と知見の集約を高める - 知見の属人化を排除 - クエリの可読性向上 - 類似クエリ作成のスピード向上 永続UDFの活用で、 DataPlatformでの永続UDFの活用
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
31 DataPlatformの知見共有 • 各種ツールのエラーログの確認 • リファクタリングの方針相談・進捗共有 • 開発上困ったことの解決 • 現状の課題の整理 • 今後のルール・戦略の共通認識 週に1回関連するメンバーで30分定例MTGを実施
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
32 まとめ - 過去の分析や整形されたデータの再現性を重要視する Airflowでのクエリのコード管理・関数の共通化 (永続UDF) - MVPなDMから可視化し改善点を明確にしたえで、 DM・DWHを設計 最初は、Scheduled QueryやView Tableを利用し柔軟にDMを設計 - 巻き込みやすい、巻き込まれやすいような環境 CI等の整備、Github操作のみにするなど開発への障壁下げる。定例会での情報共有
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
33
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
34 Appendix Apache Airflow Cloud Composer Cloud Audit Logging | Stackdriver Logging ドキュメント Introduction to BigQuery INFORMATION_SCHEMA | BigQuery Standard SQL User-Defined Functions | BigQuery BigQueryとAirflowを活用したDataPlatform運用の10のケース・スタディ 1年間のDataPlatformプロジェクトから見えてきた「 DataWarehouseの作りかた」