$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
「北欧、暮らしの道具店」のデータ基盤の変遷
Search
ikeda-masashi
November 15, 2022
Technology
1
3.6k
「北欧、暮らしの道具店」のデータ基盤の変遷
https://kurashi.com/news/13050
11/15(火) 19:00 ~
「北欧、暮らしの道具店」データ分析チームのトークセッション vol.2
登壇資料。
ikeda-masashi
November 15, 2022
Tweet
Share
More Decks by ikeda-masashi
See All by ikeda-masashi
コーディングエージェントに 独自Extension書かせてみた
mashiike
0
29
Redshiftを中心としたAWSでのデータ基盤
mashiike
0
280
運用の役立たないダッシュボードの作り方。
mashiike
3
1.2k
Amazon Aurora MySQL と Amazon Redshift の Zero-ETL Integration について使い所を考えてみた!
mashiike
0
960
Warningアラートを放置しない!アラート駆動でログやメトリックを自動収集する仕組みによる恩恵
mashiike
6
4.4k
Prepalert ~Mackerelアラートにログや集計値を貼り付けてくれるトイル削減ツール~
mashiike
0
2k
人狼ゲームで考えるデータ基盤 〜データとはいったい・・・〜
mashiike
0
410
『エンタープライズ』という言葉の重さ 〜Data Vault 2.0をやめた2022年冬〜
mashiike
2
5.6k
Redshift ServerlessとProvisioned Cluster のちょっとした違い
mashiike
0
6.8k
Other Decks in Technology
See All in Technology
年間40件以上の登壇を続けて見えた「本当の発信力」/ 20251213 Masaki Okuda
shift_evolve
PRO
1
140
生成AIを利用するだけでなく、投資できる組織へ / Becoming an Organization That Invests in GenAI
kaminashi
0
110
プロンプトやエージェントを自動的に作る方法
shibuiwilliam
13
11k
因果AIへの招待
sshimizu2006
0
990
Sansanが実践する Platform EngineeringとSREの協創
sansantech
PRO
2
920
たまに起きる外部サービスの障害に備えたり備えなかったりする話
egmc
0
220
MLflowダイエット大作戦
lycorptech_jp
PRO
1
140
大企業でもできる!ボトムアップで拡大させるプラットフォームの作り方
findy_eventslides
1
820
業務のトイルをバスターせよ 〜AI時代の生存戦略〜
staka121
PRO
2
210
生成AI時代におけるグローバル戦略思考
taka_aki
0
200
コンテキスト情報を活用し個社最適化されたAI Agentを実現する4つのポイント
kworkdev
PRO
1
1.5k
生成AI活用の型ハンズオン〜顧客課題起点で設計する7つのステップ
yushin_n
0
240
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
GraphQLとの向き合い方2022年版
quramy
50
14k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
How STYLIGHT went responsive
nonsquared
100
6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Code Reviewing Like a Champion
maltzj
527
40k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
Transcript
「北欧、暮らしの道具店」のデータ 基盤の変遷 〜データ基盤の変遷は 意思決定のボトルネックとともに〜
自己紹介/会社紹介 池田 将士 (@mashiike) 面白法人カヤック その他事業部 SREチーム所属 データエンジニア/サーバーサイドエンジニア 出身: 千葉県
趣味: オンラインゲームと食べ比べ、飲み比べ 鎌倉が本拠地 Web技術が得意な会社 面白そうな事をやる エンジニアが多い
「北欧、暮らしの道具店」とカヤックの関係 伴走型支援 エンジニアリングリソース 採用ノウハウ etc… カヤックは技術が強みの会社 エンジニアの数がとても多い 「北欧、暮らしの道具店」に技術的に関わっていくパート ナーの立ち位置にいます。 +成功事例
アジェンダ • データ基盤の変遷は??? • 「北欧、暮らしの道具店」のデータ基盤の変遷 ◦ 創世記: ◦ 出MySQL記: ◦
Looker記: ◦ そして未来へ: …
データ基盤の変遷は??? ズバリ。「意思決定のパフォーマンスチューニング」
データ基盤の変遷は??? 何かしらの意思決定で必要な分析に関して • レスポンスタイム (分析が必要になったときに素早く結果を返せる能力 ) • スループット(一定期間に分析できる能力 ) •
安定性(必要なときに分析できる能力 ) • etc… これらに困ったことが起きるとき、データ基盤の変遷は起こる。 ズバリ。「意思決定のパフォーマンスチューニング」
データ基盤の変遷は??? 何かしらの意思決定で必要な分析に関して • レスポンスタイム (分析が必要になったときに素早く結果を返せる能力 ) • スループット(一定期間に分析できる能力 ) •
安定性(必要なときに分析できる能力 ) • etc… これらに困ったことが起きるとき、データ基盤の変遷は起こる。 ズバリ。「意思決定のパフォーマンスチューニング」 つまり、データ基盤の変遷は「分析に関するボトルネックの特定」とともにある そして、ボトルネックは移動する データ基盤の変遷は段階的に起きる
「北欧、暮らしの道具店」のデータ基盤の変遷 創世記: 出MySQL記: ボトルネック: 高度な集計クエリ & アプリデータと統合した分析
「北欧、暮らしの道具店」のデータ基盤: 創世記 Webのアクセスデータは Google Analytics 注文・会員情報 etc…は MySQL (Redash)
「北欧、暮らしの道具店」のデータ基盤: 創世記 Webのアクセスデータは Google Analytics 注文・会員情報 etc…は MySQL (Redash) 「北欧、暮らしの道具店」
アプリリリースにより状況が変わる 登場
「北欧、暮らしの道具店」のデータ基盤: 創世記 課題: • 基幹DBとFirebase&GA4のデータをか け合わせたアプリの分析が困難 • MySQLでの集計クエリの実行時間が長 い ボトルネックは分析用DB(MySQL)
そして、出MySQL記へ すべてのデータをBigQueryへ集約
そして、出MySQL記へ すべてのデータをBigQueryへ集約 [余談] 後日、同じことをする OSSツールも開発 https://github.com/kayac/mascaras Viewを使ってExportする方法もあるが、 開発目的でMaskされたSnapshotがほしいケースも あったのでこの方式にした。
そして、出MySQL記へ すべてのデータをBigQueryへ集約
そして、出MySQL記へ すべてのデータをBigQueryへ集約 本番で現在も稼働中 https://github.com/kayac/bqin
そして、出MySQL記へ すべてのデータをBigQueryへ集約
そして、出MySQL記へ すべてのデータをBigQueryへ集約 BigQueryで分析が完結するようになった結果 「SQLが書ける人」に分析のオーダーが集まった! クラシコムさんでは 「SQLを書ける人」が実は少ない。 ボトルネックが に移動した。
そして、出MySQL記へ ボトルネック
そして、出MySQL記へ ボトルネック FirebaseとGoogle Analyticsのデータを生で見るのは大変 Scheduled Queryで加工処理して分析しやすくしていた FirebaseとGoogle AnalyticsのExport 実は出力される時刻が不安定 ※最大で72時間遅れることがある
Scheduled Queryによるデータマート生成も 実は地味にボトルネック
そして、出MySQL記へ ボトルネック
「北欧、暮らしの道具店」のデータ基盤の変遷 出MySQL記: ボトルネック: 「SQLをかける人」およびRedash Scheduled Queryによるデータマート生成 Looker記:
Looker導入 出MySQL記のあるとき、海外で密かに噂になっていた がやってきた。 導入の決め手になったのは • LookMLによるSQL自動生成と使用感の良いUI • PDT(Persistent Derived Table)とDatagroup
Triggerを使ったデータマート生成
Looker導入 LookMLによるSQL自動生成と使用感の良いUI Business User自身はSQLを書く必要がない! 「SQLを書ける人」に依存するという 使用時のボトルネックを解決 データチームはLookMLを書きまくる。
Looker導入 PDT(Persistent Derived Table)とDatagroup Triggerを使ったデータマート生成 がLooker Forumで見つけてきたLookerのハック(裏技) Lookerによるデータマート生成:データ遅延にも対応可能
こうして、Looker記(現代)へ
こうして、Looker記(現代)へ 創世記から約2年、様々な分析の役に立ってきた? Looker記のデータ基盤 思えば、きっかけはアプリリリースだった。 https://prtimes.jp/main/html/rd/p/000000068.000024748.html
こうして、Looker記(現代)へ Looker記(現代)のボトルネックの生みの親は LookML複雑すぎ問題! PDT, Liquid, 多段Explore, 隠しExplore etc… LookMLの改変・メンテナンスコストが爆増 あのときは、イケてるツールに触れてテンション上がってたんですよね・・・
「北欧、暮らしの道具店」のデータ基盤の変遷(現在進行系) ボトルネック: が生み出した複雑過ぎるLookMLたち Looker記(現代): そして未来へ:
そして未来へ そもそも、LookerはBIツールなのでデータマート生成はある意味目的外利用 create_processのデータマート生成 ワークフローアプリケーション or ETL SaaS 餅は餅屋に!!!
そして未来へ データマートを作るコストが高いため、 LiquidやDerived Tableを多用して複雑化 データマートを2次加工してExploreを作る 1 Explore 1データマート が理想
そこで、出てくるのがETL SaaS
そこで、出てくるのがETL SaaS の複雑さ 餅は餅屋に移行して、管理しやすくする
そこで、出てくるのがETL SaaS の複雑さ 餅は餅屋に移行して、管理しやすくする それが「北欧、暮らしの道具店」のデータ基盤の Next Generation 今ならLookerと相性の良いと言われる dbtがtroccoで使える
まとめ • データ基盤の変遷は「意思決定のボトルネック」と共にある。 意思決定に必要な分析のパフォーマンスチューニング! • ボトルネックは常に移動する。 その時、その時の状況に合わせたデータ基盤の変遷は大事 • 最終的に、その時の分析の役に立っていればそれでよし! 常に、未来のことを考えよう。