dbt Cloud の Developer プランは、個人の学習用途に適した最小構成を素早く用意できます。Web IDE と Git 連携を中心に、DAG の実行・テスト・ドキュメント化まで一通り体験できます。
本稿では、Snowflake/BigQuery/Databricks いずれかの倉庫と接続し、最小権限で安全に学ぶためのポイント、ジョブや環境の切替、試験対策の要点までを実務目線で解説します。公式仕様は docs.getdbt.com と dbt 認定試験ガイドを前提に、バージョンに依存しない安定概念に寄せて説明します。
Developer(無料)プランは、1名の開発者が Web IDE 上でプロジェクトを編集し、Git と連携して変更をレビュー可能にする最小構成です。スケジューラや環境数など一部機能は制限されますが、学習や個人検証には十分です。詳細の提供範囲や制限は時期で変わる可能性があるため、最新の情報は dbt 公式ドキュメントを確認してください(https://docs.getdbt.com/ および認定試験ガイド https://www.getdbt.com/certifications/analytics-engineer-certification-exam)。
学習用のベースは、クラウドデータウェアハウス(Snowflake / BigQuery / Databricks など)、Git ホスティング(GitHub 等)、dbt Cloud の3点です。倉庫側では学習者専用のスキーマを用意し、最小権限で接続するのが安全です。
学習環境の信頼できる最小構成(論理アーキテクチャ)
dbt Cloud 側の接続は UI で行い、倉庫ごとに必要なパラメータと認証方式を選びます。学習では「専用ロール・専用スキーマ・専用ウェアハウス(もしくは同等の計算リソース)」を用意し、書込先を限定すると安全です。
BigQuery は OAuth(ユーザー権限)かサービスアカウントで接続可能です。Snowflake はアカウント識別子・ユーザー・ロール・ウェアハウス・DB・スキーマが基本です。Databricks はホスト、HTTP Path、トークン(Personal Access Token)と、接続先のカタログ/スキーマ/SQL Warehouse を指定します。無料または試用枠の具体的な提供は時期により変動するため、各公式ドキュメントで最新情報を確認してください。
| プラットフォーム | 認証方式(例) | 最小必須パラメータ | 無料/試用枠の補足 |
|---|---|---|---|
| Snowflake | ユーザー/パスワード, キーペア, SSO/SAML | Account, User, Role, Warehouse, Database, Schema | 試用クレジットや容量に制限。最新は Snowflake 公式を確認(https://docs.snowflake.com/) |
| BigQuery | OAuth(ユーザー) または サービスアカウント | Project, Dataset(=Schema相当), Location | Sandbox は無料枠とクォータ制限あり。最新は BigQuery 公式を確認(https://cloud.google.com/bigquery/docs/) |
| Databricks | Personal Access Token | Host, HTTP Path, SQL Warehouse, Catalog(あれば), Schema | 試用/無料枠の提供は時期により変動。最新は Databricks 公式を確認(https://docs.databricks.com/) |
dbt Cloud と GitHub を連携し、プロジェクトをリポジトリ管理します。Developer プランでは 1 名を前提とした軽量フローでも、main を保護し、feature ブランチで作業 → PR → CI 実行 → レビュー → マージという手順を守ると、試験で問われるチーム開発のベストプラクティスも体験できます。
PR 連動の CI を有効にすると、PR 作成時に dbt build が実行され、依存関係を含めたモデル・テスト・スナップショット・シードが検証されます。失敗時はログから原因(ソース未定義、テスト違反、モデルのコンパイルエラーなど)を特定し、コミットを積み重ねて修正します。
Cloud IDE では、モデル編集、コンパイル結果の確認、dbt run/test/build の実行、ログ閲覧、ドキュメントのプレビューが一通り可能です。学習ではまず IDE 上でモデル単体を run、次に build で依存も含めて検証、違反テストを直しながら進めると手戻りが減ります。
ローカルの dbt Core を併用すると、エディタや拡張機能を自由に使えます。Cloud と Core は dbt_project.yml とモデル資産を共有できるため、同一プロジェクトを両方で動かす構成も一般的です(接続情報は Cloud では UI、Core では profiles.yml)。試験では run/test/build の違い、ref()/source()、スキーマテストとデータテスト、ドキュメント生成の流れが頻出です。
最小プロジェクト例(dbt_project.yml / モデル / テスト)
# dbt_project.yml
name: my_dbt_tutorial
version: 1.0.0
config-version: 2
profile: my_profile
model-paths: ["models"]
models:
my_dbt_tutorial:
+materialized: view
# models/stg_orders.sql
with src as (
select * from {{ source('raw', 'orders') }}
)
select
order_id,
customer_id,
order_date::date as order_date,
total_amount::numeric as total_amount
from src
# models/schema.yml
version: 2
sources:
- name: raw
tables:
- name: orders
loaded_at_field: _ingested_at
freshness:
warn_after: {count: 24, period: hour}
error_after: {count: 48, period: hour}
models:
- name: stg_orders
columns:
- name: order_id
tests: [not_null, unique]
- name: customer_id
tests: [not_null]
- name: order_date
tests: [not_null]dbt Cloud の環境は、接続先やターゲットスキーマ、変数(vars)などを束ねる論理単位です。学習では開発用の単一環境で十分ですが、スキーマは個人専用に分けておくのが安全です。ジョブはコマンド(例: dbt build)とトリガー(手動実行や PR 連動など)を設定します。
Developer プランではジョブやスケジュール機能に制限があるため、学習では PR 連動の CI と手動実行を中心に回すのが現実的です。定期実行が必要なら 1 本の学習ジョブを作成し、限定的なスケジュールや手動トリガーで代替します(最新の可用機能は公式ドキュメントで確認)。
Cloud/CI を使ったブランチ運用で、dbt build による包括的検証、スキーマテストの設計、docs の活用を一通り体験しておくと、試験の設問に強くなります。DAG、ref()/source()、materialization(view/table/incremental/ephemeral)、スナップショット、シード、パッケージ、マクロ、Jinja の基礎は頻出です。
Cloud 固有では、環境とジョブの概念、PR ビルド、アーティファクト(run results、manifest、catalog)の役割を押さえます。Core との違いは「接続の持ち方」と「実行ホスト」程度で、プロジェクト構造やコマンドは同じです。
Analytics Engineer
問題 1
Developer(無料)プランで安全に変更を検証したい。feature ブランチで作業し PR を作成したとき、依存関係も含めてモデル・テスト・スナップショット・シードを一括で検証する最も適切な方法はどれか。
正解: A
PR 連動 CI で dbt build を実行すると、DAG に基づき seeds→models→tests→snapshots を包括的に検証できます。直接 main へコミットしたり、run のみや seed のみでは依存やテストが担保されず、安全性が不十分です。
Developer プランは何が学習に向いていますか?有料との差は?
個人の学習に必要な Web IDE、Git 連携、PR ビルドなどの基本体験をカバーします。一方でシート数、環境・ジョブ機能、SLA/SSO などは上位プラン向けです。具体的な制限は時期で変わる可能性があるため、最新の dbt Cloud 公式情報を確認してください。
BigQuery Sandbox や Snowflake 試用で注意すべき点は?
クォータやクレジットの上限に達すると実行が失敗するため、学習時は小さなサンプルデータで進め、不要なテーブルやスキーマを都度削除します。権限は学習用スキーマに限定し、誤って本番相当のデータに書き込まないようにします。
Cloud と Core を併用できますか?ドキュメント閲覧は?
同一プロジェクトを Cloud と Core の両方で実行できます(接続設定の持ち方が異なるだけです)。ドキュメントは dbt docs generate / serve でローカル閲覧が可能です。Cloud のホスト型ドキュメント機能はプランにより提供範囲が異なるため、必要に応じて公式情報を確認してください。
NicheeLab編集部
データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。
dbt Model の基礎: SQL で定義する変換の最小単位
Analytics Engineer 向けに、dbt Model の定義、マテリアライゼーション、依存関係、インクリメン...
dbt Analytics Engineer 試験ガイド: 出題範囲・配点・申込の実務視点
dbt Analytics Engineer 認定の出題範囲、配点の考え方、申込から受験までの流れを、公式ドキュメントの...
dbt Cloud と dbt Core の違いと選び方:Analytics Engineer 試験に効く要点
dbt Cloud と dbt Core の機能差を、実務と資格対策の両面から整理。スケジューリング、IDE、RBAC、...
dbt プロジェクト構造ガイド: models / seeds / macros の実務レイアウト
Analytics Engineer 向けに、dbt プロジェクトのディレクトリ構造と命名規約、dbt_project....
dbt_project.yml の読み方:主要設定と命名を最短で掴む
dbt_project.yml の必須キー、命名解決(database.schema.identifier)、設定優先度...