The modeling fundamentals (ref, tests, macros, snapshots, docs, artifacts) are identical either way, but the operations and collaboration experience differs dramatically.
This article walks through dbt Cloud vs dbt Core from the angles the exam tends to ask about, grounded in the stable official specs, and gives you the checkpoints you need to make a quick selection decision on the job.
dbt Core is an open-source CLI runtime. It compiles your models and dispatches SQL to a data warehouse (Snowflake, BigQuery, Databricks, Redshift, Postgres, etc.) via adapters. It does not include a scheduler, web UI, or RBAC.
dbt Cloud is the managed SaaS: web IDE, job scheduler, run logs, notifications, auth and RBAC, metadata visualization, and PR checks. In both cases the actual compute happens in the warehouse, and the SQL behaves the same.
| Aspect | dbt Cloud | dbt Core | Practitioner notes |
|---|---|---|---|
| Delivery model | SaaS (hosted) | OSS CLI (self-hosted) | Cloud ships a web IDE and jobs; Core runs locally or in containers |
| Execution location | Cloud's job workers submit SQL to the warehouse | Any execution environment submits SQL to the warehouse | Compute happens in the warehouse either way |
| Scheduler / run management | Built-in jobs, scheduler, notifications, retries | Not included. Use Airflow, GitHub Actions, cron, etc. | For small teams Cloud is faster to stand up |
| IDE / review | Web IDE, PR preview, debugging | Local IDE plus git workflow | Team conventions and branching strategy matter |
| Connections / credentials | Managed per environment in the UI (Dev/Prod, etc.) | Managed via profiles.yml and environment variables | Combine with Vault or similar for secret management |
| Auth / RBAC / audit | SSO/SAML, RBAC, audit logs (plan-dependent) | Not provided. Implement via surrounding platform | Cloud is easier when governance requirements are strong |
Core connection definition (profiles.yml example: Snowflake)
my_project:
target: dev
outputs:
dev:
type: snowflake
account: '{{ env_var('SNOWFLAKE_ACCOUNT') }}'
user: '{{ env_var('SNOWFLAKE_USER') }}'
password: '{{ env_var('SNOWFLAKE_PASSWORD') }}'
role: ANALYST
database: ANALYTICS
warehouse: TRANSFORMING
schema: dev_{{ env_var('USER') }}
threads: 8
client_session_keep_alive: trueCloud bundles job definitions and the scheduler, letting you set execution parameters, schedules, notifications, retries, and concurrency per environment (Development / Deployment). PR-based checks and incremental runs based on the previous artifacts (Slim CI) are also straightforward to configure.
Core has no scheduler, so teams reach for Airflow, Dagster, GitHub Actions, GitLab CI, Azure Pipelines, or cron. The standard pattern is to design incremental runs using state:modified+ together with artifacts (manifest.json, run_results.json).
Execution path (Core)
Execution path (Cloud)
Slim CI on Core (minimal GitHub Actions example)
name: dbt Core CI
on:
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: pip install dbt-snowflake
- name: Restore previous artifacts
run: |
mkdir -p ci_state
# 例: 前回の manifest.json をアーティファクトやストレージから取得して ci_state/ に配置
- run: dbt deps
- run: dbt build --select state:modified+ --state ci_state --profiles-dir . --target devCloud's web IDE covers connection setup, branch operations, model execution, log inspection, and documentation browsing from the browser. New members onboard quickly, and reviews are highly reproducible.
Core combines a local IDE (VS Code, etc.) with the CLI. The flexibility is great, but you need to design ops that smooth over Python and dependency versions, warehouse network access, secrets, and data sample handling.
Generate docs and view locally (Core)
dbt docs generate --target dev
# ローカルで一時サーバ起動
dbt docs serve --port 8080Cloud provides governance features such as SSO/SAML, RBAC, service tokens, and audit logs (availability depends on your plan). Connection info is isolated per environment and safely managed.
With Core you fill these gaps using surrounding infrastructure. Secrets are typically passed in via environment variables and managed in a cloud secrets manager or Vault. Permission control happens through warehouse role design and the orchestrator's execution permissions.
Safe connection via environment variables (profiles.yml excerpt)
outputs:
prod:
type: snowflake
account: '{{ env_var('SNOWFLAKE_ACCOUNT') }}'
user: '{{ env_var('SNOWFLAKE_USER') }}'
password: '{{ env_var('SNOWFLAKE_PASSWORD') }}'
role: '{{ env_var('SNOWFLAKE_ROLE', 'TRANSFORMER') }}'
database: '{{ env_var('SNOWFLAKE_DB') }}'
warehouse: '{{ env_var('SNOWFLAKE_WH') }}'
schema: analyticsCloud incurs a subscription fee but dramatically reduces ops load thanks to the scheduler, IDE, logs/notifications, and UI-based management. For small to mid-sized teams or organizations with strong governance requirements, TCO often comes out lower.
Core itself is free, but you design and maintain scheduling, monitoring, permissions, log retention, documentation publishing, and metadata visualization yourself. It fits organizations with a mature platform or those that need deep customization.
Install adapters with pinned versions (Snowflake / Databricks example)
pip install 'dbt-snowflake==1.8.*'
pip install 'dbt-databricks==1.8.*'
# 再現性のため requirements.txt / lock を活用On the Analytics Engineer exam, beyond the core dbt concepts, questions frequently come from the ops and collaboration angle of Cloud vs Core. Being able to instantly recall where Slim CI, environment separation, permissions, docs/lineage, and scheduling live translates directly into points.
In the field, selection is requirement-driven. Pick Cloud if you prioritize RBAC/SSO, audit, built-in scheduler, and fastest time-to-stand-up. Pick Core if you prioritize integration with an existing orchestrator, fine-grained dependency control, and strict adherence to infrastructure standards. In either case, artifact and state management design is the key to success.
Selection checklist (excerpt)
[ ] SSO/RBAC/監査が必須 → はい: Cloud 有力 / いいえ: Core も候補
[ ] 既存の統合オーケストレータに統合したい → はい: Core / いいえ: Cloud で内製省力
[ ] PR ごとの差分実行が必要 → 双方可(state 管理の容易さで比較)
[ ] ドキュメント/Lineage をすぐ可視化したい → Cloud 有利 / Core は自前ホスティング
[ ] 予算と運用体制 → TCO で試算(人件費+SaaS+DWH)Analytics Engineer
問題 1
A small data team needs to stand up production-scheduled runs and lineage/docs visualization quickly. Company-wide SSO access control and centralized run logs are also required, and there is no dedicated platform operator. Which choice is most appropriate?
正解: A
The requirements are scheduling, SSO/RBAC, log visibility, and quickly delivered lineage/docs. dbt Cloud provides exactly these as managed features, making it ideal for a small team standing things up quickly. Core can deliver the same outcome, but the surrounding design and operational cost is higher.
Are dbt Cloud and dbt Core artifacts compatible with each other?
Yes. Both use the same project structure, adapters, and artifact specification (manifest.json, etc.). Artifacts produced in Cloud can be reused by Core CI pipelines and vice versa.
Can dbt Core do Slim CI (incremental runs)?
Yes. Run dbt build --select state:modified+ with --state pointing at the previous artifacts. Cloud bakes this into its UI and settings, while with Core you design artifact storage and retrieval yourself (object storage or CI artifacts).
Can I run Cloud and Core side by side?
Yes. With Git as the single source of truth, you can combine Cloud-managed job execution with Core-based local development and parts of your CI. Just be careful to design environment separation and locking/execution windows so concurrent runs and connections don't collide.
Practice with certification-focused question sets
無料で問題を解いてみるNicheeLab Editorial Team
NicheeLab editorial team focused on data engineering and cloud certification learning. Content is structured around practical study needs and official exam domains.
dbt Models: SQL-Defined Transformation Units (2026)
Model fundamentals — SELECT-based definitions, naming, refs,...
dbt Analytics Engineering Exam: Complete Guide (2026)
Pass the AE Certification — scope, weighting, sample questio...
dbt Cloud vs dbt Core: Feature & Cost Comparison (2026)
Honest comparison of dbt Cloud vs. dbt Core — IDE, scheduler...
dbt Project Structure: models/seeds/macros Layout (2026)
Recommended dbt project layout — models, seeds, macros, snap...
dbt_project.yml Explained: Every Config (2026)
Every dbt_project.yml setting that matters — paths, vars, ma...