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
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
170
Storage Browser for Amazon S3
miu_crescent
1
140
フロントエンド設計にモブ設計を導入してみた / 20241212_cloudsign_TechFrontMeetup
bengo4com
0
1.9k
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
530
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
190
権威ドキュメントで振り返る2024 #年忘れセキュリティ2024
hirotomotaguchi
2
740
DUSt3R, MASt3R, MASt3R-SfM にみる3D基盤モデル
spatial_ai_network
2
100
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
2
340
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
260
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
480
UI State設計とテスト方針
rmakiyama
2
550
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
88
5.7k
Scaling GitHub
holman
458
140k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Optimizing for Happiness
mojombo
376
70k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Rails Girls Zürich Keynote
gr2m
94
13k
Embracing the Ebb and Flow
colly
84
4.5k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.3k
Designing for humans not robots
tammielis
250
25k
A Philosophy of Restraint
colly
203
16k
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