GlossaryData Transformation

    What is dbt (data build tool)?

    dbt (data build tool) is a tool that lets data teams transform data inside their warehouse using plain SQL — defining each transformation as a version-controlled, tested, documented model, and letting dbt work out the order to run them in.

    At a glance

    • The 'T' in ELT — transforms data after it's loaded into the warehouse.
    • Each transformation is a SQL 'model'; dbt builds the dependency order for you.
    • Adds software practices to analytics: version control, tests, and docs.
    • Commonly used to define the layers of a medallion architecture.

    What dbt actually does

    In a modern stack, raw data is first loaded into the warehouse (by a tool like Fivetran or Airbyte); dbt then handles the transformation. You write each transformation as a SELECT statement — a 'model' — and reference other models with a simple function. dbt reads those references to build a dependency graph and runs everything in the correct order.

    On top of that, dbt adds the practices software engineers take for granted: your SQL lives in version control, you write automated tests (e.g. 'this column is never null and is unique'), and documentation and data lineage are generated automatically.

    Why it caught on

    dbt gave rise to 'analytics engineering' — treating analytics transformations like real software. Instead of brittle, undocumented SQL scattered across tools, teams get a tested, reviewable, well-ordered transformation layer. It's a natural fit for building the Silver and Gold layers of a medallion architecture.

    Alternatives like SQLMesh push the model further (automatic column-level lineage, virtual data environments), which is why teams often weigh dbt against SQLMesh when standardizing their transformation layer.

    Frequently asked questions

    What does dbt do?

    dbt transforms data that's already been loaded into your warehouse. You define each transformation as a SQL model; dbt figures out the run order, runs them, and adds tests, documentation, and lineage.

    Is dbt an ETL tool?

    dbt handles the 'T' (transform) in the modern ELT pattern, not the extract or load. Data is first loaded raw by a tool like Fivetran or Airbyte, then dbt transforms it in the warehouse.

    What is a dbt model?

    A model is a single SQL SELECT statement that defines one transformation (typically producing one table or view). Models reference each other, and dbt uses those references to build and run them in dependency order.

    dbt vs SQLMesh — what's the difference?

    Both define SQL transformations as models. SQLMesh adds automatic column-level lineage (by parsing your SQL) and virtual data environments, while dbt has the larger ecosystem and community. Teams often evaluate them side by side.

    Putting dbt (data build tool) to work?

    We help data & AI teams design and ship this in production. Tell us what you're building and we'll point you at the shortest path.

    Talk to our team