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.4k
アジャイルで始める データ分析基盤構築
# 概要
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
アジャイルテストの4象限で考える プロダクト開発の品質への向き合い方
nagano
1
2k
パッケージ管理ツール Ryeへの旅路
nagano
1
550
PHPerにとってのWebAssemblyの可能性
nagano
1
1.4k
PHPをブラウザで動かす技術
nagano
0
2.4k
PHPとWebAssembly
nagano
19
5.7k
Goで始めるTDD
nagano
1
2.9k
Python製の姓名分割 ライブラリをGoに移植した話
nagano
0
1.5k
PHPとGraphQL
nagano
3
5.9k
BASEの資金調達サービスを New Relicで楽に パフォーマンス改善できた話
nagano
0
1.5k
Other Decks in Programming
See All in Programming
読書シェア会 vol.4 『ダイナミックリチーミング 第2版』
kotaro666
0
120
開発者フレンドリーで顧客も満足?Platformの秘密
algoartis
0
250
VibeCoding時代のエンジニアリング
daisuketakeda
0
270
Serving TUIs over SSH with Go
caarlos0
0
780
イベントソーシングとAIの親和性ー物語とLLMに理解できるデータ
tomohisa
0
120
rbs-traceを使ってWEARで型生成を試してみた After RubyKaigi 2025〜ZOZO、ファインディ、ピクシブ〜 / tried rbs-trace on WEAR
oyamakei
0
110
一緒に働きたくなるプログラマの思想 #QiitaConference
mu_zaru
84
21k
20250429 - CNTUG Meetup #67 / DevOps Taiwan Meetup #69 - Deep Dive into Tetragon: Building Runtime Security and Observability with eBPF
tico88612
0
190
CursorとDevinが仲間!?AI駆動で新規プロダクト開発に挑んだ3ヶ月を振り返る / A Story of New Product Development with Cursor and Devin
rkaga
5
1.4k
設計の本質:コード、システム、そして組織へ / The Essence of Design: To Code, Systems, and Organizations
nrslib
10
3.9k
MySQL初心者が311個のカラムにNot NULL制約を追加していってALTER TABLEについて学んだ話
hatsu38
2
150
2025-04-25 GitHub Copilot Agent ライブデモ(スクリプト)
goataka
0
130
Featured
See All Featured
Speed Design
sergeychernyshev
29
940
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
The Cult of Friendly URLs
andyhume
78
6.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.2k
Making the Leap to Tech Lead
cromwellryan
133
9.3k
Why Our Code Smells
bkeepers
PRO
336
57k
Building an army of robots
kneath
305
45k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
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 !!