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
ゲンシュン
November 22, 2022
Technology
47
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 ゲンシュン
みん強のこれまでとこれから
genshun9
1
850
本が全く読めなかった過去の自分へ
genshun9
0
1.4k
dbtで家計簿アプリ作ってみた
genshun9
1
240
再現性のある成果を出すデータエンジニアになりたい
genshun9
0
46
2023年のしくじりと学び
genshun9
0
26
Other Decks in Technology
See All in Technology
Claude Code の Sandbox 機能を Anthropic Sandbox Runtime(srt) で試そう!/lets-play-anthropic-sandbox-runtime
tomoki10
1
330
データ基盤をDataformで整えた話 〜 開発環境を添えて 〜
takapy
0
130
Agentic Web
dynamis
1
190
もりもり新機能を一挙紹介! AgentCoreに入門して、AWS上にAIエージェントを構築しよう
minorun365
PRO
6
870
ABEMA の Datadog × OTel 基盤、 中から見るか? 外から見るか?
tetsuya28
0
110
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
3
370
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.8k
Agentic ERPをどう設計するか ー 受発注エージェントを動かす、現場の知見と設計思想ー
recerqainc
1
2k
2026.06.13_AI時代に事業会社が「SIer出身エンジニア」を求める理由 / Why Businesses Seek Engineers with a System Integrator Background in the AI Era
jumtech
0
960
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
0
210
Amazon Bedrock AgentCore ワークショップ JAWS UG TOHOKU / amazon-bedrock-agentcore-workshop-jawsug-tohoku-2026
gawa
9
510
探して_入れて_作って_使う_Agent_Skills___LT.pdf
peintangos
2
180
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
12k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
280
Prompt Engineering for Job Search
mfonobong
0
340
We Have a Design System, Now What?
morganepeng
55
8.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
Technical Leadership for Architectural Decision Making
baasie
3
400
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
360
A Tale of Four Properties
chriscoyier
163
24k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
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