dbt is a transformation framework that compiles modular, version-controlled SQL models and runs them inside the warehouse, with testing, documentation, and lineage built in.
dbt Core is a free CLI: dbt run compiles Jinja-templated SQL into a dependency graph and executes it inside the target warehouse or engine, scheduled by cron, Airflow, or Dagster. The dbt platform adds a managed scheduler, IDE, CI runs, and APIs, billed per developer seat and per successful model built.
How dbt answers the questions Transformation turns on.
| How it works | |
| Model language | SQL with Jinja; Python models on supported platforms |
| Model kinds | Table, view, incremental, ephemeral and materialized view, with snapshots as a separate resource type and custom materializations if you write them; Python models get table and incremental only |
| Change detection | state:modified diffs the current manifest against a saved one, file-based rather than logical, so a changed macro marks every dependent modified and added tests can false-positive |
| Testing | Generic data tests (unique, not_null, accepted_values, relationships) plus singular SQL tests that return failing rows, and unit tests that assert on model logic rather than data |
| Lineage | A model-level DAG in the generated docs; Fusion's SQL comprehension adds column-level lineage across projects |
| Semantic layer | MetricFlow is Apache-2.0 and runs from dbt Core 1.6 up; the hosted Semantic Layer that BI tools query is the paid platform |
| Running it | |
| Environments | Targets separate dev from prod by schema; defer is the reuse mechanism, resolving ref() to production models rather than rebuilding them, opt-in per invocation and the basis of Slim CI |
| Scheduling | dbt run from cron, Airflow or any orchestrator; the dbt platform adds scheduled jobs, CI runs and API triggers |
| Connections | |
| Engines | Broad adapters: Snowflake, BigQuery, Databricks, Redshift, Postgres, Trino |
| Cost | |
| Billing unit | Per developer seat and per successful model built, $100 a seat each month on Starter with 15,000 models, and a free Developer tier of one seat and 3,000 |
vs dbt: Go
vs dbt: Commercial · Managed
vs dbt: Free · TypeScript