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
470
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.4k
BASEの資金調達サービスを New Relicで楽に パフォーマンス改善できた話
nagano
0
1.4k
PHP Conference Japan 2021
nagano
1
1.9k
Other Decks in Programming
See All in Programming
CSC509 Lecture 08
javiergs
PRO
0
110
Jakarta Concurrencyによる並行処理プログラミングの始め方 (JJUG CCC 2024 Fall)
tnagao7
1
230
開発効率向上のためのリファクタリングの一歩目の選択肢 ~コード分割~ / JJUG CCC 2024 Fall
ryounasso
0
360
Kotlin2でdataクラスの copyメソッドを禁止する/Data class copy function to have the same visibility as constructor
eichisanden
1
130
Dev ContainersとGitHub Codespacesの素敵な関係
ymd65536
1
120
CSC305 Lecture 13
javiergs
PRO
0
130
カラム追加で増えるActiveRecordのメモリサイズ イメージできますか?
asayamakk
4
1.5k
Outline View in SwiftUI
1024jp
1
110
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
7
430
Vue.js学習の振り返り
hiro_xre
2
130
Kaigi on Rails 2024 - Rails APIモードのためのシンプルで効果的なCSRF対策 / kaigionrails-2024-csrf
corocn
5
3.3k
Kubernetes for Data Engineers: Building Scalable, Reliable Data Pipelines
sucitw
1
200
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
Optimizing for Happiness
mojombo
376
69k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.6k
GraphQLとの向き合い方2022年版
quramy
43
13k
A Modern Web Designer's Workflow
chriscoyier
692
190k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Docker and Python
trallard
40
3.1k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
A designer walks into a library…
pauljervisheath
202
24k
The Power of CSS Pseudo Elements
geoffreycrofte
72
5.3k
Making Projects Easy
brettharned
115
5.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
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 !!