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_Cloudとdbt_Core併用の試み
Search
Toshiki Tsuchikawa
August 22, 2023
Programming
3
1.2k
dbt_Cloudとdbt_Core併用の試み
https://findy.connpass.com/event/291767/
でのLTになります。
Toshiki Tsuchikawa
August 22, 2023
Tweet
Share
More Decks by Toshiki Tsuchikawa
See All by Toshiki Tsuchikawa
急成長する組織を支えるデータ基盤のこれまで、これから
ttccddtoki
6
630
アジリティの高いデータ基盤を目指して
ttccddtoki
4
1.4k
DMBOKを参考にしたデータマネジメントの取り組み
ttccddtoki
6
2.3k
データ品質を重視したデータ基盤プロダクト開発
ttccddtoki
8
2.2k
タイミーの未来を支えるデータ基盤プロダクト
ttccddtoki
1
670
datatech-jp Casual Talks #3
ttccddtoki
0
1k
Lookerとdbtの共存
ttccddtoki
1
1.4k
[輪読会]実践的データ基盤への処方箋
ttccddtoki
0
260
データ基盤品質向上のための一年
ttccddtoki
0
7.7k
Other Decks in Programming
See All in Programming
CSC509 Lecture 13
javiergs
PRO
0
110
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
1.1k
Click-free releases & the making of a CLI app
oheyadam
2
120
Realtime API 入門
riofujimon
0
150
Contemporary Test Cases
maaretp
0
140
GitHub Actionsのキャッシュと手を挙げることの大切さとそれに必要なこと
satoshi256kbyte
5
430
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
250
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
130
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Become a Pro
speakerdeck
PRO
25
5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Writing Fast Ruby
sferik
627
61k
Embracing the Ebb and Flow
colly
84
4.5k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Transcript
2023/08/22 土川稔生 dbt Cloudとdbt Core併用の試み @tvtg_24 データ基盤管理の考え方 〜dbtの極意〜 Lunch LT
データ基盤や開発チームの規模 によるdbt構成の事例
土川 稔生 (Tsuchikawa Toshiki) • 株式会社タイミーに2020年入社 • DRE (Data Reliability
Engineering) チーム ◦ データエンジニアとしてデータ基盤プロダク トを構築 ◦ 現在はプロダクトオーナーとして、データ基 盤プロダクト作りに励む 3 自己紹介
目次 • dbtの導入経緯 • dbt Cloudとdbt Coreの併用
1 dbtの導入経緯
現在のデータ基盤概要
7 🔥 ETLのT処理のツール依存性、肥大化、不透明性 - データ量の増加に伴いマスキングなどの加工処理を 行っているembulk内のT処理コードの実行時間が肥大 化してきた - troccoなどのembulk以外のデータパイプラインの導入 があるが、T処理がembulkに依存している
- embulkのコードを読まないと T処理の内容が把握でき ず、分析者からすると不透明な処理である 💡 dbt Cloudの導入によって期待すること - dbt Cloudを用いてembulkで行っていたT処理を代替 - データパイプラインに用いているツールに依存せずに、 BigQueryに収集したデータに対して様々な加工が可能 になる - SQL記述ができることによる DWH, DM開発メンバーの 増加 マスキングを含めた加工処理 ❌ dbtの導入理由
8 dbt Cloudの選定理由 要件 • DAG構成で記述できる • スケジューラ機能がある • 事例が豊富である
• メンテ・導入コストが少ない • 費用面での制約... など 比較したサービス • Panoply • cloud dataflow • data fusion • Dataform • dbt Cloud 選定日時: 2021年9月 データ基盤チーム: 2人
9 dbt Cloudの選定理由 → 費用より事例の豊富さの方が要件として優先度が高いので、dbt Cloudに選定
2 dbt Cloudとdbt Coreの併用
dbt Cloudを導入して...! 導入前期待していたことはほとんど達成できた • 加工処理をembulkから剥がすことで、スケーラブルなパイプラインを構築できた • dbtのパッケージによりテストや品質チェックも楽になった • インフラ準備する必要がないため、少人数チームでも問題なく運用ができた •
加工処理が見やすく、開発効率が上がった • 加工処理を開発できるメンバーが増えた (DWH, DM開発)
新しく出てきた課題 • 他チームがみて加工処理がわかるほど単純ではなかった • JobやEnvironmentはdbt Cloudではコード管理できなかった • 開発チームが増えるにつれ、 dbt Cloudの金額コストが上がってきた
• dbt Cloudのインフラサイズだとメモリや CPUの強度が足りなくなってきた • dbt Cloud以外のエディタで他のコマンドを用いながら開発したいという声がある 日時: 現在 dbtの開発人数: 約10人
dbt Core併用の試み dbt Cloud • 対象ユーザー SQLを武器とする分析者 • 利用用途 DWH,
DMのモデリングが中心 • 利用しない用途 Env、Jobの定義、スケジューラー dbt Core • 対象ユーザー 誰でも • 利用用途 dbt Cloudが担当しないJobなどのコード管理 含めて、全て 期待すること • Jobなどのコード管理による開発における信頼性の向上 • dbtを開発できる人数やチームの増加 など
まとめ これまで...! • dbt Cloudを導入することで、ETL構成をELT構成に変更することができた • それに加え、開発に参加する人も増え、 DWH, DM開発もスケールするようになった •
一方でdbt Cloudだけの運用では特に品質面で問題が起こるようになり dbt Coreも併用して使お うとしている これから...! • dbt Cloudとdbt Coreを併用していくことで、開発の参加者をさらにスケールさせつつ、開発効率、 データ品質の向上を目指す
まだまだ道半ばなのでお力を貸してください!!! https://hrmos.co/pages/timee/jobs/1682251404118319115 積極的に採用中です!!!