Integration & ETL Plane · Transformation & Modelling

dbt

SQL-based transformation framework with testing and documentation, plus a managed platform.

Overview

dbt is the tool that made analytics engineering a job title. You write SQL select statements and it handles materialisation, transactions, dependency order and schema changes, producing transformations that are safe to rerun and give the same answer each time.

The language is SQL plus Jinja templating, YAML configuration, tests and documentation, with Python models for work that SQL cannot express. Dependencies are declared explicitly with ref and source, and the graph is built from those.

Two things changed materially in 2026 and older descriptions are now wrong. dbt Core v2 is a Rust rewrite, the Fusion engine, and on 1 June 2026 that code was relicensed into the main repository under Apache 2.0. The original Python engine lives on as the 1.x line.

The Rust engine is not just faster; it understands SQL across dialects, so errors surface before they reach the warehouse, with autocomplete, go-to-definition and inline previews. It ships as a single binary needing no Python.

Be precise about free versus open source, because they differ here. The open-source subset is Apache 2.0; the full binary, including the proprietary SQL comprehension, is free with no user limits under a product licence, and all engine features work without logging in.

What you actually pay for is the platform: scheduling, continuous integration, hosted documentation, monitoring, the semantic layer API, the catalogue and state-aware runs.

Testing is the strongest in this category, covering generic and singular data tests, unit tests against static inputs, model contracts that check shape before materialising, and source freshness.

The corporate picture changed too. dbt Labs completed an all-stock merger with Fivetran on 1 June 2026, and Fivetran separately owns Tobiko Data, so dbt and SQLMesh now share a parent.

Platform support is narrower than the adapter era suggests: v2 builds in Snowflake, Databricks, Redshift, BigQuery and DuckDB, with Spark in beta and ClickHouse in private beta.

Key features and capabilities

The same headings are used for every transformation & modelling entry, so two tools can be read side by side.

How transformations are written
  • SQL select statements with Jinja templating and YAML configuration, plus Python models as DataFrames
  • Macros, seeds and snapshots are first-class resources, snapshots giving type 2 history over mutable sources
  • Dependencies are declared explicitly with ref and source, and the graph is derived from them
  • Version 2 adds a built-in linter, a language server and a project-standards check
  • Version 2 is stricter, failing at parse on misspelled configs, missing macros and undefined variables
Execution and materialisation
  • Materialisations of table, view, ephemeral, materialized view and incremental
  • Incremental strategies including merge on a unique key and microbatch for bounded time slices
  • All transformation compute runs on the warehouse; dbt compiles and dispatches the SQL
  • The Rust engine parses and statically analyses locally, and can run unit tests on DuckDB
  • State-aware runs through modified selectors and deferral, with dbt State reusing unchanged models
Testing and data quality
  • Generic and singular data tests, defined in YAML or as SQL
  • Unit tests validate model logic against small static inputs before anything is materialised
  • Model contracts check that a query returns the declared columns and types before it builds
  • Source freshness with warning and error thresholds, extended to models in version 2
  • Batch tests in version 2 cut test runtime by about 40% and queries by about 65% on dbt's own figures
Environments and change management
  • Development and deployment environments are distinct, and only deployment builds are metered
  • Model versions let several versions deploy together, so a shared model behaves like an API
  • Git-based version control with continuous integration jobs triggered by pull requests
  • dbt State reuses or clones unchanged models rather than rebuilding them
  • Virtual or blue-green environments are not published as a native concept
Documentation and lineage
  • Generated documentation, rebuilt on Parquet artefacts for faster loading and static hosting
  • A catalogue for discovery, supporting multi-project setups through dbt Mesh
  • Column-level lineage in the catalogue, and in documentation when strict static analysis is enabled
  • Exposures record how models are used downstream, with downstream exposures in preview
  • A semantic layer built on MetricFlow, defining metrics in YAML and generating the SQL
Platform coverage
  • Version 2 builds in Snowflake, Databricks, Redshift, BigQuery and DuckDB, all through Arrow connectivity
  • Spark is in beta and ClickHouse in private beta, both command-line only
  • Version 1 keeps the wider Python adapter framework, with trusted and community adapters
  • Iceberg catalogues are configured through a dedicated catalogues file
Where it runs and what it costs
  • A free self-contained command-line binary, plus a free editor extension
  • Multi-tenant hosted platform, defaulting to North American servers with EMEA and APAC on request
  • Single-tenant on dedicated infrastructure in a private network, on AWS, Azure or Google Cloud
  • Inbound private connectivity is single-tenant only
  • Billed per seat plus per successful model built, with no self-hosted paid platform

Pricing

SubscriptionFree Developer tier; Starter $100 a user

The engine is free with no user limits. The platform has a free Developer tier of one seat, 3,000 successful model builds a month and one project; Starter is $100 per user a month for up to five seats, 15,000 builds and 5,000 queried metrics; Enterprise and Enterprise+ are quote-only at 100,000 builds. Only models built successfully in a deployment environment count, and ephemeral models, tests, seeds and snapshots do not. Overage rates are not published. The trial runs 14 days fully featured.

Vendor pricing page →

Demos and videos

About dbt Labs

dbt Labs began in 2016 as Fishtown Analytics, a consultancy founded by Tristan Handy, rebranding alongside a $150m Series C at a $1.5bn valuation and raising a $222m Series D in February 2022 at $4.2bn. It acquired SDF Labs in January 2025, the source of the engine's SQL comprehension. In June 2026 it completed an all-stock merger with Fivetran, operating as Fivetran and dbt Labs from Oakland with George Fraser as chief executive and Handy as president, combined revenue approaching $600m and more than 100,000 data teams. The engine is free; the platform is paid.

Founded 2016 · Oakland, California · getdbt.com

Other transformation & modelling tools

Coalesce

Integration & ETL Plane · Transformation & Modelling

Visual, code-first data transformation platform for cloud data warehouses.

  • Commercial

Dataform

Integration & ETL Plane · Transformation & Modelling

Google Cloud service for developing and orchestrating SQL transformations in BigQuery.

  • Cloud service

SQLMesh

Integration & ETL Plane · Transformation & Modelling

Data transformation framework with virtual data environments and column-level lineage.

  • Open source

Drafted with AI assistance and checked against the vendor’s own documentation.