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
dbtとLookerにたどり着いたデータ基盤 ~混ざり合う境界線を考える~
Search
tenajima
July 21, 2022
Technology
1
1k
dbtとLookerにたどり着いたデータ基盤 ~混ざり合う境界線を考える~
「Looker User Meetup Online #8」にて登壇した内容となっております
tenajima
July 21, 2022
Tweet
Share
More Decks by tenajima
See All by tenajima
仮名加工化の実践 データ分析基盤における挑戦と学び
tenajima
11
3.3k
dbtとLookerにたどり着いたデータ基盤 ~しくじり先生俺みたいになるなを添えて~
tenajima
2
1.2k
gokart導入のきっかけと運用の現状
tenajima
2
5.6k
VS codeとPyrightで始める型のある生活
tenajima
3
6.9k
Other Decks in Technology
See All in Technology
Snowflake女子会#3 Snowpipeの良さを5分で語るよ
lana2548
0
230
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
120
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
340
podman_update_2024-12
orimanabu
1
270
小学3年生夏休みの自由研究「夏休みに Copilot で遊んでみた」
taichinakamura
0
150
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
4
560
Amazon VPC Lattice 最新アップデート紹介 - PrivateLink も似たようなアップデートあったけど違いとは
bigmuramura
0
190
Wvlet: A New Flow-Style Query Language For Functional Data Modeling and Interactive Data Analysis - Trino Summit 2024
xerial
1
120
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
260
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
13
3.8k
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
3
2.3k
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
22
1.2k
It's Worth the Effort
3n
183
28k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Designing for humans not robots
tammielis
250
25k
RailsConf 2023
tenderlove
29
940
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Transcript
© Unipos Inc. All Rights Reserved. dbtとLookerにたどり着いたデータ基盤 ~混ざり合う境界線を考える~ Looker User
Meetup Online #8 2022/07/21 1 水谷 優斗
© Unipos Inc. All Rights Reserved. 自己紹介 speaker 2 •
水谷優斗 • インターネット 世界で @tenajima • Unipos 株式会社 ◦ 2018年新卒入社 • アナリティクスエンジニア ◦ (2018-2019)データサイエンティスト ◦ (2019-2020)データアナリスト • アイコン 妻が描いてくれました
© Unipos Inc. All Rights Reserved. Uniposについて speaker 4 •
Unipos と ピアボーナスを実現する Web サービ ス • 感謝や称賛、激励 メッセージに加えてポイントを添 えます、ポイント 金銭などに交換できます • 共感した投稿に対してワンクリックで称賛をすること ができます、拍手 ポイントとして投稿を送った人・ もらった人に送られます • 感情報酬を社会基盤に
© Unipos Inc. All Rights Reserved. Unipos データ基盤 現在地 5
© Unipos Inc. All Rights Reserved. Unipos社における前提 Unipos データ基盤 現在地
6 • 投稿 内容、及 メールアドレス、ユーザー名など取り扱いに注意が必要なデータがある ◦ そ ようなデータ 解約されて6ヶ月以上経過するとと削除される ◦ DWH で そ ようなデータを持たない方針をとっている • 取り扱っているデータ量 B オーダー • Looker 導入 2021年11月
© Unipos Inc. All Rights Reserved. 現在 設計 Unipos データ基盤
現在地 7 • Github Actions と Cloud Build 使って dbt をキックする • DWH に Big Query を用いる ◦ nipos が GCP ネイティブな で昔から Big Query を使う文化だった • データ アクセスに Looker を用いる ◦ 分析チームに分析依頼やデータ抽出依頼が殺到する を解消するため ◦ データガバナンスを効かせるため ◦ 導入 経緯 Google Cloud Japan Born Digital ummit で 話したも がある でよかった らご覧ください
© Unipos Inc. All Rights Reserved. 釈迦に説法コーナー Unipos データ基盤 現在地
8 • dbt と ◦ QL コンパイルと QL 実行を行ってくれるツール ◦ メリット ▪ コード 再利用性を上げてくれる ▪ テストが書きやすい、実行しやすい ▪ docs をコードとともに管理できる ◦ デメリット ▪ ど ように実行するか考える必要がある ▪ aa 版を使うとデメリット ほぼ全てが解消されるがお金がかかる
© Unipos Inc. All Rights Reserved. 混ざり合う境界線を考える 9
© Unipos Inc. All Rights Reserved. 今至っている結論 混ざり合う境界線を考える 10 •
ここまで DWH!ここから Looker!ってきれいに分けること 難しいんじゃないかなと思っていま す ◦ あまりそこまでしなくてもいい で ?とも思っています • ユーザーにど ようにデータにアクセスさせられるかをコントロールできる がLooker 良いところ だと思っています ◦ 直接 DWH をクエリする と比較して • ビジネス 事情、DWH 事情をいい感じに吸収してくれる良さが Looker 魅力だなと感じていま す
© Unipos Inc. All Rights Reserved. フェーズ1 : スケジュールクエリで作られる DWH
と Looker 混ざり合う境界線を考える 11 • 日毎 スケジュールクエリでDWHを作る • スケジュールクエリ 作成を terraform で管理する でコミット難易度 高めと感じていた ◦ データエンジニアが1人で頑張って作ってくれていた状態 ◦ 「使いやすい view をみんなで作ろうぜ」って話してたが、作られること なかった • DWH スナップショットをちゃんととっていく役割を担っていた • Looker データマートとして 役割と、分析都合 いろんなことを担当する役割を担っていた
© Unipos Inc. All Rights Reserved. フェーズ1を振り返って 混ざり合う境界線を考える 12 •
DWH 側で 自動テストを実行できる状態になっていなかった • マート層相当 Looker に任せるという 悪くない思想だなと 思っている ◦ クエリ キャッシュとか PD 戦略とか Looker 側でなんとかするんで!という思想 ◦ DWH 修正コストと LookML 修正コストを比べて軽い方を選べ 良いと感じている
© Unipos Inc. All Rights Reserved. フェーズ1を振り返って 混ざり合う境界線を考える 13 •
DWH で取り込み時間分割テーブルを使った 本当に間違いだった ◦ Looker 側でずっと _partitiondate と付き合い続ける めになってしまった ◦ タイムスタンプ カラム(ex. created_at )と _partitiondate をずっと二重管理し続けるとどんどん 気持ちが暗くなっていく ◦ なん モデルを作るときも「どこ 日付に合わせるか」を指定し続ける職人芸が必要とされた ◦ タイムスタンプ カラムを使ってパーティショニングしましょう
© Unipos Inc. All Rights Reserved. フェーズ2 : dbtで作られる DWH
と Looker (今) 混ざり合う境界線を考える 14 • まるっと dbt で管理 ◦ snapshot も dbt snapshot を使うことで変更分 み取り込めるようになってデータ量を99.9%削 減 ◦ 自動テストも書けるようになり、データ 品質も向上 • DWH と Looker 関係性 変わらず ◦ 今 フェーズ1 DWH と平行して運用しながら徐々に dbt に絞って フェーズ1 引退させる 予定
© Unipos Inc. All Rights Reserved. フェーズ3 : dbtで作られる DWH
と Looker (未来) 混ざり合う境界線を考える 15 • マート層 できるだけ DWH に寄せたい ◦ よく見る指標など DWH に寄せて管理したい ▪ LookMLで 結構頑張って実現しているも があるから ◦ LookML で 分析に必要な細々したこととデータガバナンスに集中できるようにしたい • Looker 側でもロジック テストをしっかりしていく
© Unipos Inc. All Rights Reserved. フェーズによらず変わらないも 混ざり合う境界線を考える 16 •
toB サービスをしているとどうしても C 経由で PII を取り扱う必要が出てくる • データ基盤に PII を取り込まないようにしている ◦ 解約後6ヶ月で削除するようにするなどを考えたくないから • Looker を用いて、実績データ データ基盤、PII プロダクト バックアップそ も を見るようにす る( joinして、よしなに取り扱う) ◦ プロダクト バックアップ 削除バッチが走る で、そこ データチームが担保しなくて良い • Looker に データガバナンス 役割を担ってもらうようにする
© Unipos Inc. All Rights Reserved. 図で表す 混ざり合う境界線を考える 17
© Unipos Inc. All Rights Reserved. 図で表す 混ざり合う境界線を考える 18
© Unipos Inc. All Rights Reserved. 図で表す 混ざり合う境界線を考える 19
© Unipos Inc. All Rights Reserved. 図で表す 混ざり合う境界線を考える 20
© Unipos Inc. All Rights Reserved. レバーが2つ存在する良さ 21
© Unipos Inc. All Rights Reserved. 一旦 LookML が引き受けてくれる(懐がある) レバーが2つある良さ
22 • ショットで見たいも 、今後も引き続き使うかわからない指標を DWH 側で実装する が重い場合 LookML でクエリ書いてバックアップを見ちゃう ◦ 結構使う指標だ ってなったら DWH 側に実装するようにして、 LookML 側 実装も修正する ▪ どんくらいこ モデルが使われているか、誰が使っている かをLookerで追いやすい ◦ dbt 導入で DWH 実装も軽くなった でここ もつ意味 徐々に減る
© Unipos Inc. All Rights Reserved. 一旦 LookML が引き受けてくれる(懐がある) レバーが2つある良さ
23 • DWH リファクタリング 際に、LookML が DWH 役割を一旦担ってくれる ◦ 大スナップショット時代から、dbt を用いたディメンジョナルモデリングへ お引越しをしていた 際とても助かりました ◦ 「これ 一旦 LookML だけで対応するようにします」ができる 、開発リソースがそれほどな いチームに かなり助かった
© Unipos Inc. All Rights Reserved. 最後に 24
© Unipos Inc. All Rights Reserved. 地雷をいっ い踏み抜いたけど 最後に 25
• 今で 、PO が新機能 評価分析を自分でするようになったり、C データ抽出依頼をほぼ無くす ことができたり、データが価値を持って使われ始めた • Looker アナリスト ことを、とても考えられて作られてるなって本当に感じる • Looker 良い!といっても、DWH という足腰が頑丈じゃないとどこかで辛くなる で、DWH も軽視した らアカンすよ! • dbt もとてもアナリスト 事を考えて作られてると感じる で、ぜ 触ってみてください
© Unipos Inc. All Rights Reserved. +39pt Thank you! 26