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
glassmonenkey
July 22, 2022
Programming
1
3.2k
アジャイルで始める データ分析基盤構築
# 概要
Lookermeetup 第8回でトークした内容です。
https://looker-japan-user-group.connpass.com/event/253923/
glassmonenkey
July 22, 2022
Tweet
Share
More Decks by glassmonenkey
See All by glassmonenkey
パッケージ管理ツール Ryeへの旅路
nagano
1
480
PHPerにとってのWebAssemblyの可能性
nagano
1
1.3k
PHPをブラウザで動かす技術
nagano
0
2.2k
PHPとWebAssembly
nagano
19
5.1k
Goで始めるTDD
nagano
1
2.8k
Python製の姓名分割 ライブラリをGoに移植した話
nagano
0
1.4k
PHPとGraphQL
nagano
3
5.5k
BASEの資金調達サービスを New Relicで楽に パフォーマンス改善できた話
nagano
0
1.4k
PHP Conference Japan 2021
nagano
1
1.9k
Other Decks in Programming
See All in Programming
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
630
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
5
950
광고 소재 심사 과정에 AI를 도입하여 광고 서비스 생산성 향상시키기
kakao
PRO
0
170
CSC509 Lecture 13
javiergs
PRO
0
110
Ethereum_.pdf
nekomatu
0
470
EMになってからチームの成果を最大化するために取り組んだこと/ Maximize team performance as EM
nashiusagi
0
100
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
6
1.6k
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
350
Vapor Revolution
kazupon
1
180
Jakarta EE meets AI
ivargrimstad
0
200
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
280
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Producing Creativity
orderedlist
PRO
341
39k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Typedesign – Prime Four
hannesfritz
40
2.4k
Why Our Code Smells
bkeepers
PRO
334
57k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
The Invisible Side of Design
smashingmag
298
50k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Transcript
© 2012-2022 BASE, Inc. 1 アジャイルで始める データ分析基盤構築 Looker User Meetup
Online #8 BASE株式会社/永野 峻輔(@glassmonenkey)
© 2012-2022 BASE, Inc. 2 #lookermeetup @glassmonkey 自己紹介 所属 BASE
株式会社 BASE BANKチーム Engineering Program Manager 資金調達プロダクト「YELL BANK」の開発責任者やってます。 Go, PHP, Pythonを書きつつ、片足データエンジニアも。 趣味 Flutterアプリ開発 hasura.ioやsupabaseがマイブーム SNS Twitter:@glassmonekey Github: https://github.com/glassmonkey 永野 峻輔 (ながの しゅんすけ) 昨年寄稿させていただきました
© 2012-2022 BASE, Inc. 3 #lookermeetup @glassmonkey
© 2012-2022 BASE, Inc. 4 #lookermeetup @glassmonkey 現在は、即座に資金調達ができる「YELL BANK」、ショップの売上がそのまま支払いに使える「BASEカード」、 最短翌営業日に売上金が振り込まれる「お急ぎ振込」を提供しています。
3つのサービスで総合的に加盟店のお金周りのサポートをしています。 振込申請 BASEカード YELL BANK かんたん、即座に 1万円から資金調達が可能 売上をそのままお支払いに使える 「お急ぎ振込」では 最短翌営業日に売上を振込 弊チームの扱うプロダクト達
© 2012-2022 BASE, Inc. 5 #lookermeetup @glassmonkey 不確実性との戦い
© 2012-2022 BASE, Inc. 6 #lookermeetup @glassmonkey アジャイルで始める データ分析基盤構築
© 2012-2022 BASE, Inc. 7 #lookermeetup @glassmonkey アジャイルで始める データ分析基盤構築
© 2012-2022 BASE, Inc. 8 #lookermeetup @glassmonkey アジャイルソフトウェア宣言より • プロセスやツールよりも個人と対話を、
• 包括的なドキュメントよりも動くソフトウェアを、 • 契約交渉よりも顧客との協調を、 • 計画に従うことよりも変化への対応
© 2012-2022 BASE, Inc. 9 #lookermeetup @glassmonkey 少しずつ学習を重ねていくこと
© 2012-2022 BASE, Inc. 10 #lookermeetup @glassmonkey アジャイルで始める データ分析基盤構築
© 2012-2022 BASE, Inc. 11 #lookermeetup @glassmonkey Lookerでショップショップカルテを作った話 簡易crmを作った話 https://devblog.thebase.in/entry/looker-debut
https://devblog.thebase.in/entry/2021/07/07/110000
© 2012-2022 BASE, Inc. 12 © 2012-2022 BASE, Inc. 12
チーム体制
© 2012-2022 BASE, Inc. 13 #lookermeetup @glassmonkey チーム体制 PdM デザイナー
PMM etc… 振込申請 EPM Engineer EPM Engineer EPM Engineer TL Planing Sprint:1 … Release Planing Sprint:1 … Release Planing Sprint:1 … Release
© 2012-2022 BASE, Inc. 14 #lookermeetup @glassmonkey フルサイクルエンジニアという文化 要件定義・設計 企画
開発 テスト 問い合わせ対応 デプロイ 運用 Software Developers フルサイクル開発チーム • フルサイクルでプロダクト開発をするため、 アプリケーション設計・開発、デプロイの構築、 運用設計・インフラ構築まで担う職能横断チーム • 自分たちで開発したプロダクト・機能はグロース・サ ポートまで担当します • Netflixが提唱する「Full Cycle Developer」 職能横断チーム
© 2012-2022 BASE, Inc. 15 #lookermeetup @glassmonkey 不確実性との戦い
© 2012-2022 BASE, Inc. 16 #lookermeetup @glassmonkey 大事なことは リリース後の基盤も 自分たちでつくる
© 2012-2022 BASE, Inc. 17 © 2012-2022 BASE, Inc. 17
データ基盤の歩み
© 2012-2022 BASE, Inc. 18 #lookermeetup @glassmonkey ある日の一コマ BASE BANKチーム
全社的なデータ基盤構築などを担当 データプラットフォームチーム なるほど ぼく Looker導入するで!!
© 2012-2022 BASE, Inc. 19 #lookermeetup @glassmonkey 背景 • Redashをもともと使ってた
◦ 大量のメンテされてないダッシュボードが氾濫してた ◦ 分析用途の基盤は主にMySQL 5系が使われてた • DWHにBigQueryを使っていくぞという動きもあった ◦ チームの基盤は業務DB(MySQL)を直接使っていた
© 2012-2022 BASE, Inc. 20 #lookermeetup @glassmonkey 怒涛の新概念
© 2012-2022 BASE, Inc. 21 #lookermeetup @glassmonkey LookMLの用語と概念 より
© 2012-2022 BASE, Inc. 22 #lookermeetup @glassmonkey 不確実性との戦い
© 2012-2022 BASE, Inc. 23 #lookermeetup @glassmonkey どこから始めたか?
© 2012-2022 BASE, Inc. 24 #lookermeetup @glassmonkey 必要なところから
© 2012-2022 BASE, Inc. 25 #lookermeetup @glassmonkey 必要なところ • Redashで見ていたデータから
• データの同期は日時 • MySQL -> BigQueryはシンプルなCDCで ◦ embulkを使用 ◦ 更新日時にindexを貼る + マージクエリで実現 ◦ Fargate上でテーブル単位で並行で動くように ◦ いつでも捨てられるように
© 2012-2022 BASE, Inc. 26 #lookermeetup @glassmonkey 最初の壁 • Redashでもよくないか?
• 覚えること多い ◦ Lookerに忖度してる感覚がかなりあった ◦ なれると便利(primary key, demention group, etc…) • 設計で聞ける人がいなかった
© 2012-2022 BASE, Inc. 27 #lookermeetup @glassmonkey 閃きと教え データベースに詳しい先輩 派生テーブル
使えばいいのか ぼく スタースキーマ 最高
© 2012-2022 BASE, Inc. 28 #lookermeetup @glassmonkey Lookerの活用の開始 • 業務テーブルをそのまま使わないこと
• 目的別にエクスプローラーを作成することに ◦ 現在データの分析 ◦ 日時データの分析
© 2012-2022 BASE, Inc. 29 #lookermeetup @glassmonkey 現在データの分析とは • 最小単位をユーザー
◦ ユーザーの属性の分類に備えて ex) 現在のユニークユーザー数
© 2012-2022 BASE, Inc. 30 #lookermeetup @glassmonkey 日時データの分析とは • 最小単位を「ユーザー」
+ 「日」 ◦ ユーザーの属性の分類に備えて • スパースなデータなのでカレンダーテーブルを規程に ◦ これにJOINしていく方式に ex) 日毎のユニークユーザー数
© 2012-2022 BASE, Inc. 31 #lookermeetup @glassmonkey データ分析にも適応するFBループ 要件定義・設計 企画
開発 テスト 問い合わせ対応 デプロイ 運用 Software Developers データ整備
© 2012-2022 BASE, Inc. 32 #lookermeetup @glassmonkey 拡大するフィードバックループ 事業計画 日々のデータ監視
施策振り返り OKR振り返り
© 2012-2022 BASE, Inc. 33 © 2012-2022 BASE, Inc. 33
大事なことはデータ基盤を 自分達で整備していくこと
© 2012-2022 BASE, Inc. 34 #lookermeetup @glassmonkey まとめ • 文化ができる
◦ リリース後の速報が把握できる&するようになった。 ◦ データを見る習慣ができてきた。 • ユーザーへの解像度があがった。 ◦ 日にどれくらい使われる? ◦ このままの成長でシステムが耐えられるか? • アンラーン大事
© 2012-2022 BASE, Inc. 35 #lookermeetup @glassmonkey +α(開発者視点) • テーブル設計レベルでビジネスメンバーを巻き込める点
• システムの異常系検知に便利 ◦ ex) 資金調達可能ショップ数の前日比の異常現象検知など • 効果測定を加味したシステム設計
© 2012-2022 BASE, Inc. 36 #lookermeetup @glassmonkey 今後 • dbtを使ったクエリ管理
◦ 1視聴者として今日の発表は楽しみ • PDTの活用 ◦ まだ複雑ではないので耐えられている • 機械学習システムとの連携
© 2012-2022 BASE, Inc. 37 #lookermeetup @glassmonkey フルサイクル開発やってます!! 興味あったらDM待ってます!! We
are hiring !!