dbt入門:実プロダクトで学ぶ Analytics Engineering
架空 EC ではなく DS Playground の分析プロジェクト を題材に、dbt Core で変更に強い Transform 層を読み解く入門カリキュラムです。
SQL・mermaid・schema YAML を読み、source → staging → intermediate → marts → BI の設計判断を追います。
学習マップ(5 Stage)
| Stage | テーマ | 身につくこと |
|---|---|---|
| 1 | dbt の全体像 | なぜ dbt / アーキテクチャ / project / source |
| 2 | Source と Staging | 正規化・派生列・schema / singular tests・seeds |
| 3 | Intermediate | イベント統合・mart 粒度・KPI proxy・incremental |
| 4 | Mart 設計 | current-state・engagement・survey・品質 mart |
| 5 | Tests・Docs・運用 | macros・snapshots / exposures・CI / docs |
前提:データアナリティクス入門 → データマネジメント入門 の順を推奨します。
Stage 1: dbt の全体像
- dbt で「信頼できる KPI 定義」を作る
- dbt はデータ可視化基盤のどこにいるのか
- dbt project 構成:フォルダと materialization
- source 定義:外部データとの契約を書く
Stage 2: Source と Staging のお作法
- staging:ソース意味を残す薄い変換
- 派生列と命名規約
- schema tests:列の契約を YAML で書く
- singular tests:ビジネスルールを SQL で断言
- seeds:参照マスタを repo で持つ
Stage 3: Intermediate で定義を固定する
- イベント統合:Active User の SSOT を intermediate に作る
- Mart 設計の基本:grain を決める
- KPI proxy:直接取れない指標をどう定義するか
- 集計 mart:日次 KPI を安定して返す
- incremental:速い更新と lookback の trade-off
Stage 4: Mart 設計
- current-state 分類:現在のプラン状態を intermediate に切り出す
- 利用深度 mart:スコア・tier・分布の設計
- semi-structured データ:multi-select を mart に載せる
- 品質管理 mart:seed を分母にレビュー対象を見つける