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.5k
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
3.2k
タイミーのデータ活用を支えるdbt Cloud導入とこれから
ttccddtoki
2
1.1k
タイミーにおけるデータ活用の未来
ttccddtoki
0
270
急成長する組織を支えるデータ基盤のこれまで、これから
ttccddtoki
6
810
アジリティの高いデータ基盤を目指して
ttccddtoki
4
1.7k
DMBOKを参考にしたデータマネジメントの取り組み
ttccddtoki
6
3k
データ品質を重視したデータ基盤プロダクト開発
ttccddtoki
8
2.5k
タイミーの未来を支えるデータ基盤プロダクト
ttccddtoki
1
980
datatech-jp Casual Talks #3
ttccddtoki
0
1.1k
Other Decks in Programming
See All in Programming
iOSでSVG画像を扱う
kishikawakatsumi
0
170
開発組織の戦略的な役割と 設計スキル向上の効果
masuda220
PRO
10
1.7k
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
12
7.2k
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
200
AI Agent 時代的開發者生存指南
eddie
4
2.2k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
680
CSC509 Lecture 07
javiergs
PRO
0
250
GC25 Recap: The Code You Reviewed is Not the Code You Built / #newt_gophercon_tour
mazrean
0
120
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
950
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
190
CSC305 Lecture 10
javiergs
PRO
0
290
Catch Up: Go Style Guide Update
andpad
0
260
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
173
15k
Thoughts on Productivity
jonyablonski
71
4.9k
Designing for humans not robots
tammielis
254
26k
The Invisible Side of Design
smashingmag
302
51k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
How GitHub (no longer) Works
holman
315
140k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
The Language of Interfaces
destraynor
162
25k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
BBQ
matthewcrist
89
9.9k
Music & Morning Musume
bryan
46
6.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 積極的に採用中です!!!