← コースに戻る
未ログインのため、この講座の進捗は記録されません。ログインすると記録が残るようになります。
モデルレイヤーの設計(staging/marts)
実務のdbtプロジェクトでは、モデルを「生データに近い層」から「ビジネス的な意味を持つ層」へ段階的に変換していく設計が推奨されている。代表的な構成は次の3層。
- staging(ステージング)層: ソースの生データを、リネーム・型変換など最小限の整形だけ行った「モジュールの最小単位」を作る層。命名規則はstg_[source名](例: stg_orders.sql)
- intermediate(中間)層: staging層のモデルを、特定の目的を持つロジックで組み合わせていく層。複雑な変換を1つの巨大なモデルに詰め込まず、段階的に分割する
- marts(マート)層: intermediate/staging層の部品を組み合わせ、ビジネス上意味のあるエンティティ(顧客・注文など)を表現する最終層。命名規則はcustomers.sqlのようなシンプルな名詞形
この設計の核となる考え方は、「source-conformed(ソースの形に合わせたデータ)」から「business-conformed(ビジネスの意味に合わせたデータ)」へと段階的に変換していくことである。各層で変換ロジックを1箇所にまとめることで、後から見たときにデータの流れを追いやすくなる。