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.3k
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
550
タイミーにおけるデータ活用の未来
ttccddtoki
0
76
急成長する組織を支えるデータ基盤のこれまで、これから
ttccddtoki
6
730
アジリティの高いデータ基盤を目指して
ttccddtoki
4
1.6k
DMBOKを参考にしたデータマネジメントの取り組み
ttccddtoki
6
2.6k
データ品質を重視したデータ基盤プロダクト開発
ttccddtoki
8
2.3k
タイミーの未来を支えるデータ基盤プロダクト
ttccddtoki
1
780
datatech-jp Casual Talks #3
ttccddtoki
0
1k
Lookerとdbtの共存
ttccddtoki
1
1.4k
Other Decks in Programming
See All in Programming
Formの複雑さに立ち向かう
bmthd
1
890
CI改善もDatadogとともに
taumu
0
170
Writing documentation can be fun with plugin system
okuramasafumi
0
120
AWS Organizations で実現する、 マルチ AWS アカウントのルートユーザー管理からの脱却
atpons
0
150
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
380
法律の脱レガシーに学ぶフロントエンド刷新
oguemon
5
740
PHP ステートレス VS ステートフル 状態管理と並行性 / php-stateless-stateful
ytake
0
110
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
760
GAEログのコスト削減
mot_techtalk
0
120
もう僕は OpenAPI を書きたくない
sgash708
5
1.8k
バッチを作らなきゃとなったときに考えること
irof
1
420
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
180
Featured
See All Featured
Navigating Team Friction
lara
183
15k
Designing for humans not robots
tammielis
250
25k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
How to train your dragon (web standard)
notwaldorf
91
5.8k
Designing for Performance
lara
604
68k
Docker and Python
trallard
44
3.3k
For a Future-Friendly Web
brad_frost
176
9.5k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Scaling GitHub
holman
459
140k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Agile that works and the tools we love
rasmusluckow
328
21k
Unsuck your backbone
ammeep
669
57k
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 積極的に採用中です!!!