Slide 1

Slide 1 text

2023/08/22 土川稔生 dbt Cloudとdbt Core併用の試み @tvtg_24 データ基盤管理の考え方 〜dbtの極意〜 Lunch LT

Slide 2

Slide 2 text

データ基盤や開発チームの規模 によるdbt構成の事例

Slide 3

Slide 3 text

土川 稔生 (Tsuchikawa Toshiki) ● 株式会社タイミーに2020年入社 ● DRE (Data Reliability Engineering) チーム ○ データエンジニアとしてデータ基盤プロダク トを構築 ○ 現在はプロダクトオーナーとして、データ基 盤プロダクト作りに励む 3 自己紹介

Slide 4

Slide 4 text

目次 ● dbtの導入経緯 ● dbt Cloudとdbt Coreの併用

Slide 5

Slide 5 text

1 dbtの導入経緯

Slide 6

Slide 6 text

現在のデータ基盤概要

Slide 7

Slide 7 text

7 🔥 ETLのT処理のツール依存性、肥大化、不透明性 - データ量の増加に伴いマスキングなどの加工処理を 行っているembulk内のT処理コードの実行時間が肥大 化してきた - troccoなどのembulk以外のデータパイプラインの導入 があるが、T処理がembulkに依存している - embulkのコードを読まないと T処理の内容が把握でき ず、分析者からすると不透明な処理である 💡 dbt Cloudの導入によって期待すること - dbt Cloudを用いてembulkで行っていたT処理を代替 - データパイプラインに用いているツールに依存せずに、 BigQueryに収集したデータに対して様々な加工が可能 になる - SQL記述ができることによる DWH, DM開発メンバーの 増加 マスキングを含めた加工処理 ❌ dbtの導入理由

Slide 8

Slide 8 text

8 dbt Cloudの選定理由 要件 ● DAG構成で記述できる ● スケジューラ機能がある ● 事例が豊富である ● メンテ・導入コストが少ない ● 費用面での制約... など 比較したサービス ● Panoply ● cloud dataflow ● data fusion ● Dataform ● dbt Cloud 選定日時: 2021年9月 データ基盤チーム: 2人

Slide 9

Slide 9 text

9 dbt Cloudの選定理由 → 費用より事例の豊富さの方が要件として優先度が高いので、dbt Cloudに選定

Slide 10

Slide 10 text

2 dbt Cloudとdbt Coreの併用

Slide 11

Slide 11 text

dbt Cloudを導入して...! 導入前期待していたことはほとんど達成できた ● 加工処理をembulkから剥がすことで、スケーラブルなパイプラインを構築できた ● dbtのパッケージによりテストや品質チェックも楽になった ● インフラ準備する必要がないため、少人数チームでも問題なく運用ができた ● 加工処理が見やすく、開発効率が上がった ● 加工処理を開発できるメンバーが増えた (DWH, DM開発)

Slide 12

Slide 12 text

新しく出てきた課題 ● 他チームがみて加工処理がわかるほど単純ではなかった ● JobやEnvironmentはdbt Cloudではコード管理できなかった ● 開発チームが増えるにつれ、 dbt Cloudの金額コストが上がってきた ● dbt Cloudのインフラサイズだとメモリや CPUの強度が足りなくなってきた ● dbt Cloud以外のエディタで他のコマンドを用いながら開発したいという声がある 日時: 現在 dbtの開発人数: 約10人

Slide 13

Slide 13 text

dbt Core併用の試み dbt Cloud ● 対象ユーザー SQLを武器とする分析者 ● 利用用途 DWH, DMのモデリングが中心 ● 利用しない用途 Env、Jobの定義、スケジューラー dbt Core ● 対象ユーザー 誰でも ● 利用用途 dbt Cloudが担当しないJobなどのコード管理 含めて、全て 期待すること ● Jobなどのコード管理による開発における信頼性の向上 ● dbtを開発できる人数やチームの増加 など

Slide 14

Slide 14 text

まとめ これまで...! ● dbt Cloudを導入することで、ETL構成をELT構成に変更することができた ● それに加え、開発に参加する人も増え、 DWH, DM開発もスケールするようになった ● 一方でdbt Cloudだけの運用では特に品質面で問題が起こるようになり dbt Coreも併用して使お うとしている これから...! ● dbt Cloudとdbt Coreを併用していくことで、開発の参加者をさらにスケールさせつつ、開発効率、 データ品質の向上を目指す

Slide 15

Slide 15 text

まだまだ道半ばなのでお力を貸してください!!! https://hrmos.co/pages/timee/jobs/1682251404118319115 積極的に採用中です!!!