Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
データ基盤 今に至るまで
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ゲンシュン
November 22, 2022
Technology
68
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データ基盤 今に至るまで
2022/11/22に開催された「みんなの考えた最強のデータアーキテクチャ」の登壇資料です
https://datatech-jp.connpass.com/event/258157/
ゲンシュン
November 22, 2022
More Decks by ゲンシュン
See All by ゲンシュン
AI時代、データエンジニアが一番おもろい
genshun9
0
710
みん強のこれまでとこれから
genshun9
1
950
本が全く読めなかった過去の自分へ
genshun9
0
1.5k
dbtで家計簿アプリ作ってみた
genshun9
1
290
再現性のある成果を出すデータエンジニアになりたい
genshun9
0
66
2023年のしくじりと学び
genshun9
0
36
Other Decks in Technology
See All in Technology
全社共通データ基盤をつくる。ソニーのDatabricks活用とデータガバナンス設計の裏側
sony
0
340
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
10
3k
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
790
生成AIを使って「人が」考える技術 ― AI時代の人機共想と実践ノウハウ|UNITT AC2026
ishiirikie
0
530
The kernel report
ennael
PRO
1
230
Meet AgentCore Identity Consent Portal
hironobuiga
3
180
インバスケット試験対策アプリを 作って見えたAIエージェント構築 ナレッジ2選
shichijoyuhi
1
110
20260930_Gemma4_Hands-on
tsho
0
210
Codex概要
ymiya55
0
280
[2026-09-30]ロックンロールは鳴り止まないっ - 信頼性かまってちゃん - 「データ駆動を投げ捨ててまで。」追いかける信頼性改善に向けた取り組みの話
tosite
0
190
OpenSharing について熱く語る〜AI アセットの共有について〜
kameitomohiro
0
180
spanner-autoscalerに学ぶ CRD設計パターン 〜自動化と緊急時対応を両立する Kubernetesコントローラーの作り方〜
tkuchiki
0
230
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Bash Introduction
62gerente
615
220k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
550
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8k
Building an army of robots
kneath
307
47k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Odyssey Design
rkendrick25
PRO
2
850
Between Models and Reality
mayunak
4
480
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Transcript
© Unipos Inc. All Rights Reserved. データ基盤 今に⾄るまで Unipos株式会社 ゲンシュン
0
© Unipos Inc. All Rights Reserved. unipos株式会社プロダクト部プロダクト戦略室のゲンシュンと申します。 ⾃ ⼰ 紹
介 1 2016年 2018年 2019年 2021年 2020年 フロントエンド エンジニア 新卒エンジニア 採⽤責任者 QAエンジニア PM
© Unipos Inc. All Rights Reserved. 2 2021年6⽉上旬 3時間後 データを使った分析の基盤が
整ってないから作って uniposの◦◦チームで 開発してくれ 来週からよろしくね 押忍!!!!!!! (久しぶりの開発だぜ) すまん、⾊々あって プロダクト戦略室配属 になった 押忍!!!!!!! (データ基盤って何w?) 開発部 MGR MGR プロダ クト部
© Unipos Inc. All Rights Reserved. unipos株式会社プロダクト部プロダクト戦略室のゲンシュンと申します。 ⾃ ⼰ 紹
介 3 2016年 2018年 2019年 2021年 2020年 フロントエンド エンジニア 新卒エンジニア 採⽤責任者 QAエンジニア PM データエンジニア イマココ!!
© Unipos Inc. All Rights Reserved. 最強とはなにか?ではなく 最強に⾄るまでの変化を中⼼にお話します 4
© Unipos Inc. All Rights Reserved. 本 ⽇ の お
品 書 き 5 luniposについて紹介 l現状のアーキテクチャ l超初期フェーズ lterraform移⾏フェーズ ldbt移⾏フェーズ l品質担保フェーズ lまとめ 本⽇のお品書き
© Unipos Inc. All Rights Reserved. uniposについて紹介 6
© Unipos Inc. All Rights Reserved. 7
© Unipos Inc. All Rights Reserved. 8 良い⾏動への称賛 × 少額のインセンティブ
(ポイント) オープンに送り合うため 良い⾏動が組織全体へ
© Unipos Inc. All Rights Reserved. 現状のアーキテクチャ 9
© Unipos Inc. All Rights Reserved. これが現時点での答えだ! 現 状 の
ア ー キ テ ク チ ャ 10 stg層 mart層 すべてのデータを BQへ集約 データレイク データウェアハウス データマート
© Unipos Inc. All Rights Reserved. データレイクの概要。とりあえずBQにエクスポートされている状態を作る。 現 状 の
ア ー キ テ ク チ ャ 11 database ⾏動ログ マイクロ サービス群 cloud logging すべてのデータを BQへ集約 GA to BQ export データレイク BQ export
© Unipos Inc. All Rights Reserved. データウェアハウスとデータマート概要。DWHはすべてdbtで実装。 プロダクトサイド都合はdbt、bizサイド(分析)都合はLookerという責務で分離 現 状
の ア ー キ テ ク チ ャ 12 fctテーブル dimテーブル 集計テーブル すべてのデータを BQへ集約 データレイク データウェアハウス データマート
© Unipos Inc. All Rights Reserved. 超初期フェーズ 13
© Unipos Inc. All Rights Reserved. 現状のアーキテクチャに対して、約1年前のアーキテクチャは・・・? 超 初 期
フ ェ ー ズ 14 stg層 mart層 すべてのデータを BQへ集約 データレイク データウェアハウス データマート
© Unipos Inc. All Rights Reserved. 超シンプル。スケジュールクエリでBQからBQへ分析したいテーブルを作るだけ。 Lookerも無い。 超 初
期 フ ェ ー ズ 15 すべてのデータを ここへ集約 分析したい情報.sqlを量産 データレイク データマート
© Unipos Inc. All Rights Reserved. 良かった点、課題感まとめ 超 初 期
フ ェ ー ズ 16 良かった点 冪等性担保してたので再実⾏しやすい 層が少なくミスったら作り直すでOKだった シンプルなのでシステム仕様を理解しながら実装出来た 作ってすぐ壊すサイクルが早かった 重要 課題 どうせ後でjoinするから、最初からカラム付与してよ〜 というお⾔葉に即yesしちゃった 後述しますが、システム対応で地獄を⾒ることに。。 分析のためにカラム付与が多くキメラ化 重要
© Unipos Inc. All Rights Reserved. 意識したこと、メリット、課題感。 超 初 期
フ ェ ー ズ 17 データレイク データマート 投稿テーブル 部署テーブル 部署マスターテーブル 投稿with部署テーブル
© Unipos Inc. All Rights Reserved. terraform移⾏フェーズ 18
© Unipos Inc. All Rights Reserved. スケジュールクエリはOWNER神権を限を貰って独⾃シェルで作られる そこにメスが⼊りました。 t e
r ra f o r m 移 ⾏ フ ェ ー ズ 19 OWNER権限 もらいます〜 ローカルで実⾏〜 cloudbuildコマンド〜 デプロイ完了! ある⽇ データ基盤、temporaryな⽅法 で実⾏してるじゃん? あれ困るんだよね〜 開発 部 そういうのterraformでやって るから、terraformで実⾏する ようにして MGR 押忍!!! (terraformって何???)
© Unipos Inc. All Rights Reserved. やっていることは変わりません。ただterraformで実装するようにしました。 各テーブル順番にterraform移⾏したので、ダウンタイムゼロで進⾏出来た t e
r ra f o r m 移 ⾏ フ ェ ー ズ mainマージ cloudbuildで トリガー実⾏ terraform apply実⾏ スケジュールクエリ再作成 リリース完了! 俺何も権限ないけど リリースできたぞい! 20 いい話 開発 部
© Unipos Inc. All Rights Reserved. 良かった点、課題感まとめ t e r
ra f o r m 移 ⾏ フ ェ ー ズ 21 良かった点 ⼈に権限を持たせずデプロイや実⾏ができる(ZTP思想) prod、stg、開発、各環境の差分をいい感じに吸収できた 権限最⼩且つ環境依存を解決出来た 重要 課題 分析側の都合でカラム設計したこと システム変更を吸収する層がないこと これらが原因で変更に弱い 俺がめっちゃ頑張らないといけない作りになっている システム変更の影響モロ受ける 重要 terraform applyの差分表⽰嬉しい 意図しない変更が⼊ってないか、⽬で⾒ることもできる!
© Unipos Inc. All Rights Reserved. ⼀部機能がDB移⾏することに。ダウンタイムゼロで乗り切るため地獄のテスト祭り t e r
ra f o r m 移 ⾏ フ ェ ー ズ 22 データレイク データマート 投稿テーブル (旧)部署 テーブル 部署マスターテーブル 投稿with部署テーブル (新)部署 テーブル 部署データ等のDBが datastoreからspannerへ
© Unipos Inc. All Rights Reserved. dbt移⾏フェーズ 23
© Unipos Inc. All Rights Reserved. DB等のシステム側への関⼼事と分析への関⼼事を分離したい dimensional modelingを取り⼊れたい Lookerの導⼊が決まった!(これがデカイ!!)
d b t 移 ⾏ フ ェ ー ズ 24 つらすぎて無理 同僚tenajimaさん dbtってやつ 良さそうですよ! 検証します! 押忍!!! (dbtってなんだ?)
© Unipos Inc. All Rights Reserved. DB等のシステム側への関⼼事と分析への関⼼事を分離したい dimensional modelingを取り⼊れたい Lookerの導⼊が決まった!(これがデカイ!!)
d b t 移 ⾏ フ ェ ー ズ 25 最⾼ つらすぎて無理
© Unipos Inc. All Rights Reserved. 特に深い理由はないですが、github actions経由でdbt run実⾏してます dbt
cloudは使ってないです(dbt-coreのみ) 将来的に使うのは全然アリだと思ってます d b t 移 ⾏ フ ェ ー ズ 26 github action cloudbuild dbt run 実⾏ dbt test 実⾏ リリース完了! 押すだけ
© Unipos Inc. All Rights Reserved. 良かった点、運⽤上意識したこと 超 初 期
フ ェ ー ズ 27 良かった点 システムの仕様変更や分析の都合で、たびたび作り直した 経験から「どうせ変わるっしょ」という気持ちが強かった とりあえず50点を作って後から80点に改善する気持ち 満点のアーキテクチャ⽬指さなかった 重要 運⽤上意識したこと Lookerで参照してるテーブルにバグがあったり形式が変な データが⼊ると、分析メンバーが困ってしまう。 dbt移⾏作業してからしばらく期間を設けて、データ的に問 題無さそう!と判断してからLookerの参照先を変えた。 既存の基盤と並⾛してダウンタイムゼロへ 重要 ⼀番難しいテーブルから検証した 検証完了後の別テーブルへの展開作業が楽になるので、 移⾏作業がスムーズだった
© Unipos Inc. All Rights Reserved. ダブルメンテ状態にはなるがLooker⽅⾯への影響を気にせずdbt開発出来たのは良 かった。ミスってもterraform由来のヤツがあるし! d b
t 移 ⾏ フ ェ ー ズ 28 すべてのデータを BQへ集約 データマート データレイク データウェアハウス データマート
© Unipos Inc. All Rights Reserved. 並⾏運⽤は実際やりやすかったので、結果的に⼤正解 d b t
移 ⾏ フ ェ ー ズ 29
© Unipos Inc. All Rights Reserved. 品質担保フェーズ 30
© Unipos Inc. All Rights Reserved. データ基盤の保守運⽤コストを減らし、新しい発⾒や本当に欲しい情報はなんなのか? を探求する時間を増やしたい 品 質
担 保 フ ェ ー ズ 31 daily実⾏ テストコケたら slackへ
© Unipos Inc. All Rights Reserved. 品 質 担 保
フ ェ ー ズ 32 良かった点、課題感まとめ 良かった点 意図していない謎の重複やNULLが発⾒出来た! 仕⽅ないものに関しては、testを緩くする まずはtest厳しめに⽤意した 重要 課題 システム側の当たり前(uniqueですよ等)をデータ基盤で も⾒る必要あるのか? とりあえずNULLチェックしてるけどカラムによって重要度 が違う。とりあえずテストでカバー状態。 データ基盤でカバーすべき内容が不明瞭
© Unipos Inc. All Rights Reserved. まとめ 33
© Unipos Inc. All Rights Reserved. これが現時点での答えだ! ま と め
34 stg層 mart層 すべてのデータを BQへ集約 データレイク データウェアハウス データマート
© Unipos Inc. All Rights Reserved. データレイクの概要。とりあえずBQにエクスポートされている状態を作る。 ま と め
35 database ⾏動ログ マイクロ サービス群 cloud logging すべてのデータを BQへ集約 GA to BQ export データレイク BQ export
© Unipos Inc. All Rights Reserved. データウェアハウスとデータマート概要。DWHはすべてdbtで実装。 プロダクトサイド都合はdbt、bizサイド(分析)都合はLookerという責務で分離 ま と
め 36 fctテーブル dimテーブル 集計テーブル すべてのデータを BQへ集約 データレイク データウェアハウス データマート
© Unipos Inc. All Rights Reserved. ま と め 37
github action cloudbuild dbt run 実⾏ dbt test 実⾏ テストコケたら slackへ
© Unipos Inc. All Rights Reserved. ま と め 38
lスピード重視時期は、⼩さく始めて後から改善する意識 l分析のためのデータ基盤なので、分析チームへの影響を最⼩限に l層を別けることで関⼼の分離が出来て保守コスト下がる 常に⼀番良い選択を続けたと思っている
© Unipos Inc. All Rights Reserved. ま と め 39
@gen_shun 趣味ブログ Meety Zenn (記事ないです)
© Unipos Inc. All Rights Reserved. +39pt Thank you! 40