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.4k
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
タイミーのデータ活用を支えるdbt Cloud導入とこれから
ttccddtoki
2
720
タイミーにおけるデータ活用の未来
ttccddtoki
0
130
急成長する組織を支えるデータ基盤のこれまで、これから
ttccddtoki
6
750
アジリティの高いデータ基盤を目指して
ttccddtoki
4
1.6k
DMBOKを参考にしたデータマネジメントの取り組み
ttccddtoki
6
2.7k
データ品質を重視したデータ基盤プロダクト開発
ttccddtoki
8
2.4k
タイミーの未来を支えるデータ基盤プロダクト
ttccddtoki
1
860
datatech-jp Casual Talks #3
ttccddtoki
0
1.1k
Lookerとdbtの共存
ttccddtoki
1
1.4k
Other Decks in Programming
See All in Programming
Fiber Scheduler vs. General-Purpose Parallel Client
hayaokimura
1
280
Bedrock×MCPで社内ブログ執筆文化を育てたい!
har1101
7
1.4k
ウォンテッドリーの「ココロオドル」モバイル開発 / Wantedly's "kokoro odoru" mobile development
kubode
1
250
RuboCop: Modularity and AST Insights
koic
2
2.3k
Jakarta EE Meets AI
ivargrimstad
0
750
The New Developer Workflow: How AI Transforms Ideas into Code
danielsogl
0
100
Golangci-lint v2爆誕: 君たちはどうすべきか
logica0419
1
230
カウシェで Four Keys の改善を試みた理由
ike002jp
1
120
複雑なフォームの jotai 設計 / Designing jotai(state) for Complex Forms #layerx_frontend
izumin5210
6
1.5k
State of Namespace
tagomoris
5
2.4k
Road to RubyKaigi: Making Tinny Chiptunes with Ruby
makicamel
4
530
エンジニア向けCursor勉強会 @ SmartHR
yukisnow1823
3
12k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
512
110k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
550
Raft: Consensus for Rubyists
vanstee
137
6.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Git: the NoSQL Database
bkeepers
PRO
430
65k
The Language of Interfaces
destraynor
157
25k
Building Adaptive Systems
keathley
41
2.5k
Optimizing for Happiness
mojombo
378
70k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.3k
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 積極的に採用中です!!!