By Tony Henein
Director of Analytics & Data Engineering


🚀 The Shift from ETL to ELT

For decades, organizations relied on ETL tools like Informatica, SSIS, and Talend to extract, transform, and load data. The process was simple, but the data was transformed before reaching the warehouse.

The new world of cloud computing flipped that logic. Today's data architecture follows an ELT pattern, Extract, Load, then Transform, where raw data first lands in a scalable warehouse such as Snowflake, BigQuery, Databricks, or Microsoft Fabric, and transformation happens within the warehouse.

This shift gave rise to one of the most influential tools in modern analytics: dbt (Data Build Tool) — and in 2025, dbt itself was reinvented with the launch of the dbt Fusion engine.


🧠 What Makes dbt Different

dbt doesn't extract or load data — it focuses entirely on the "T" (Transform) in ELT. It enables teams to transform raw data into trusted, analytics-ready tables using standard SQL while enforcing software engineering discipline.

Here's how dbt turns pipelines into software-grade systems.

1) SQL as Code

dbt models are written entirely in SQL, making transformation logic both accessible and scalable. Teams can clean, join, and aggregate datasets in simple, modular scripts:

-- models/stg_orders.sql
SELECT
    order_id,
    customer_id,
    CAST(total_amount AS DECIMAL(10,2)) AS total_amount
FROM {{ source('raw', 'orders') }}
WHERE order_status = 'completed';

Each file represents a logical step in your data flow, forming a directed acyclic graph (DAG) that dbt uses to manage dependencies.

2) Runs Inside Your Warehouse

dbt doesn't run on a separate compute engine. It executes directly inside your warehouse, leveraging the scalability, governance, and performance you already pay for. This keeps infrastructure simple and your data secure — no data leaves your warehouse.

3) Lineage, Testing, and Documentation Built In

With dbt, every model can include automated data tests and rich documentation:

version: 2
models:
  - name: stg_orders
    columns:
      - name: order_id
        tests:
          - not_null
          - unique

dbt automatically generates interactive documentation and lineage graphs, allowing anyone — from analysts to executives — to trace how every dataset or KPI is derived.

4) Version Control and CI/CD

dbt brings DevOps discipline into analytics. Every transformation script is versioned in Git, enabling teams to collaborate through pull requests, peer review, and automated testing before deployment. This means your analytics environment evolves predictably, with fewer errors and full auditability.


⚙️ The dbt Fusion Engine: A Ground-Up Rewrite (2025–2026)

In May 2025, dbt Labs unveiled the most significant change to dbt since its inception: the dbt Fusion engine, a complete rewrite of dbt Core in Rust. Fusion is engineered to address the scaling pains that mature analytics teams have hit with the original Python-based engine — slow parse times, weak SQL validation, and runaway warehouse spend.

What's actually new

  • Native SQL comprehension: Fusion parses and validates SQL before hitting the warehouse, catching errors at compile time instead of run time. This eliminates entire classes of failed runs.

  • Sub-second parsing: Projects with thousands of models that took minutes to parse in dbt-core now compile in seconds.

  • State-aware orchestration: Fusion knows what has already been built and what truly needs to be rebuilt — skipping redundant work across environments and CI runs.

  • AI-ready metadata: Fusion exposes a richer semantic graph designed for consumption by LLMs, copilots, and downstream agentic workflows.

Real-world impact

In a Feb 2026 engineering post, dbt Labs reported a 64% reduction in dbt-related warehouse compute costs on its own internal analytics platform after migrating to Fusion with state-aware orchestration. For enterprise teams running large dbt projects on Snowflake, BigQuery, or Databricks, this is the kind of structural improvement that changes the cost-to-serve of the entire analytics function.

Licensing — read this carefully

Fusion ships under the Elastic License v2 (ELv2), not Apache 2.0. The classic dbt Core remains Apache-licensed and continues to receive maintenance, but new innovation is concentrated in Fusion. Leaders evaluating long-term strategy should understand which engine their teams are standardizing on and the licensing implications for embedded or resold use cases.


🔌 Microsoft Fabric, Snowflake, Databricks, BigQuery — Fusion Everywhere

Throughout 2025, dbt Labs aggressively expanded the Fusion ecosystem. The Microsoft Fabric integration (announced November 2025) brought first-class Fusion support to Fabric's OneLake and Warehouse experiences, joining existing native integrations across Snowflake, Databricks, BigQuery, and Redshift.

The strategic message is clear: dbt is positioning itself as the universal transformation layer across every major cloud data platform — and the Fusion engine is the runtime that makes that promise credible.

Multi-engine lakehouse architecture showing dbt Fusion as the transformation control plane and Apache Iceberg as the storage control plane bridging Databricks and Snowflake across Bronze, Silver, and Gold layers
Figure: In a multi-engine lakehouse, dbt Fusion acts as the transformation control plane while Apache Iceberg (via Polaris, Unity Catalog, and Delta UniForm) acts as the storage control plane — letting Databricks and Snowflake operate on the same Silver tables without duplication.

🧱 Six Real-World Patterns: Where Bronze Lands and How dbt Builds Silver & Gold

The diagram above shows the shape of a multi-engine lakehouse. In practice, the architecture an enterprise actually deploys depends on a single upstream decision: where does Bronze land? Once that's settled, dbt's role in building the Silver and Gold layers — and which adapter does the work — falls into one of six recurring patterns.

🟫 Bronze in Databricks (Delta / Iceberg in Unity Catalog)

A1 · Pure Databricks path

Fivetran or Auto Loader drops raw data into bronze.raw_* as Delta tables. The dbt-databricks adapter connects to a Databricks SQL Warehouse and builds Silver models (typed, deduplicated, SCD-2) and Gold models (with OPTIMIZE + ZORDER post-hooks for BI). Orchestration via Databricks Workflows or dbt Cloud. Choose when: ML- and streaming-heavy org with Power BI or Tableau hitting Databricks directly.

A2 · Databricks Bronze → Snowflake Gold via UniForm

Bronze stays Delta in Databricks. Silver is built in Databricks with Delta UniForm enabled, exposing the same files as Iceberg. Snowflake reads those Silver tables through an external Iceberg catalog pointed at Unity Catalog's REST endpoint, and a second dbt project (dbt-snowflake) materializes Gold as native Snowflake tables for sub-second BI. Two dbt projects, one shared Iceberg contract — no copies. Choose when: Engineering and ML live in Databricks, governed business consumption lives in Snowflake.

A3 · One dbt project, dual-engine deployment

Bronze is written directly as managed Iceberg tables in Databricks. A single dbt project compiles Silver models on Databricks (heavy joins, Photon-accelerated) and Gold models on Snowflake (fast aggregations, semantic layer) — both reading the same Iceberg storage. dbt Fusion's engine-aware compilation handles dialect differences; target profiles route which models run where. One lineage graph, one CI pipeline. Choose when: Mature platform team committed to a true multi-engine strategy with a single source of transformation truth.

❄️ Bronze in Snowflake (native or Iceberg)

B1 · Pure Snowflake path

Snowpipe or Fivetran lands raw data in bronze.raw_* as native Snowflake tables. The dbt-snowflake adapter builds Silver as incremental merge models and Gold as dimensional tables — with Dynamic Tables for near-real-time gold metrics where SLAs demand it. Orchestrated via Snowflake Tasks or dbt Cloud. Choose when: Snowflake-first shop with no ML or streaming pressure and the smallest possible operational surface.

B2 · Snowflake Bronze → Databricks for ML via Polaris

Silver is built in Snowflake as Snowflake-managed Iceberg tables registered in Polaris Catalog. Databricks Unity Catalog federates Polaris, making Silver queryable from notebooks and MLflow without copying. Gold splits cleanly: BI-facing gold is built in Snowflake (native tables, fastest BI), while a small dbt-databricks project reads the same Silver Iceberg tables and materializes feature-store gold in Delta for MLflow. Choose when: Snowflake is the governed system of record but you need Databricks for ML without paying the egress and duplication tax.

B3 · Gold zone consolidated on Iceberg for vendor neutrality

Bronze and Silver remain in Snowflake (existing Snowpipe pipelines, native-table performance for transformation joins), but the curated Gold layer is materialized as Iceberg tables written to your own S3 or ADLS bucket via Snowflake's external Iceberg write support, registered in Polaris. Downstream consumers — Databricks, Trino, DuckDB, Athena, Microsoft Fabric — all read the same Gold Iceberg tables. dbt owns the table contracts via model.yml schemas and dbt-checkpoint enforcement. Choose when: Multi-cloud or M&A scenarios where you may need to swap query engines in 2–3 years without rebuilding Gold.

💡 The Pattern Behind the Patterns

Across all six scenarios, the same architectural truth holds: dbt is the transformation control plane and an open table format (Iceberg or Delta-as-Iceberg) is the storage control plane. Where Bronze lands is an ingestion decision; where Gold is consumed is a business decision; everything in between is a question of which adapter dbt should use to enforce the same contract. That's why standardizing on Iceberg — rather than picking a single warehouse — is the most defensible architectural bet leaders can make in 2026.


dbt is the build tool; the modeling methodology is a separate decision. Teams standardizing on dbt frequently implement Data Vault 2.0 patterns for auditable, scalable historization.

💡 Why This Matters for Analytics Leaders

Adopting dbt is more than a tooling choice — it's a cultural shift. It elevates data teams from report builders to data product engineers. Your pipelines become governed, testable, and reproducible, reducing technical debt and improving stakeholder confidence.

Business impact:

  • Agility: Faster iteration and deployment cycles.

  • Trust: Built-in testing and documentation improve data credibility.

  • Governance: Version control and lineage ensure traceability.

  • Efficiency: Warehouse-native execution and Fusion's state-aware orchestration dramatically reduce infrastructure costs.

  • AI-readiness: Fusion's semantic metadata is designed to feed LLM copilots and agentic analytics workflows.


⚖️ The Fivetran + dbt Merger: What We Now Know

The Fivetran + dbt Labs merger, first announced in late 2025, is now the largest deal in modern data infrastructure this decade. The combined entity controls both the dominant ingestion platform (Fivetran) and the dominant transformation framework (dbt) — an unprecedented concentration of the modern data stack under one roof.

Fivetran's pricing model — charging by Monthly Active Rows and reacting aggressively to schema changes — is widely viewed as expensive at scale. The community concern is that dbt Cloud and Fusion-based offerings could drift toward similar volume-based pricing, leading to higher costs, tighter restrictions, and deeper vendor lock-in.

The community's response has been pragmatic: continued investment in dbt Core, a surge of interest in SQLMesh, and active forks aimed at preserving open transformation tooling — what some have called the "dbt Fear Index."

Leader actions:

  • Decide deliberately between Core and Fusion: Don't drift into Fusion (and ELv2) without an architectural review.

  • Avoid over-consolidation: Don't tie ingestion, transformation, and orchestration to a single vendor — even if the bundle looks convenient.

  • Negotiate hard on contracts: Lock in pricing protections before you're deeply embedded.

  • Monitor alternatives: SQLMesh, Coalesce, Dataform, and Airbyte remain credible modular options.


🧭 Strategic Options for Data Leaders

The six patterns above can be summarized in one comparison view. Your choice of where Bronze lands — and which engine builds Silver and Gold — depends on existing investments, team skills, and whether you need to serve both Databricks and Snowflake from the same data. The principle remains: don't standardize on a vendor — standardize on a composable architecture built on open table formats and a shared catalog.

PatternBronzeSilver BuildGold BuildBest For
A1 · Pure DatabricksDatabricks (Delta)dbt-databricksdbt-databricksML/streaming-heavy orgs, BI on Databricks
A2 · Databricks → Snowflake (UniForm)Databricks (Delta)dbt-databricks (Iceberg via UniForm)dbt-snowflake (native)Engineering/ML in DB, governed BI in SF
A3 · Dual-engine, one dbt projectDatabricks (managed Iceberg)dbt on Databricks (Photon)dbt on Snowflake (semantic layer)Mature platform teams, true multi-engine
B1 · Pure SnowflakeSnowflake (native)dbt-snowflakedbt-snowflake (Dynamic Tables)Snowflake-first shops, minimal ops surface
B2 · Snowflake → Databricks (Polaris)Snowflake (Iceberg)dbt-snowflake (Polaris)SF native + dbt-databricks for ML goldSF as system of record, DB for ML
B3 · Gold on Iceberg (vendor-neutral)Snowflake (native)dbt-snowflake (native)dbt-snowflake → Iceberg (own bucket)Multi-cloud, M&A, future engine swaps
Six real-world Bronze–Silver–Gold patterns across Databricks and Snowflake. Pick the row that matches your current platform and future multi-engine needs.

⚡ When dbt Meets Scale: Choosing the Right Engine for the Job

As organizations expand beyond the traditional warehouse model, the question often arises:
"Can dbt handle large-scale ingestion or raw data preparation?"

The short answer: It shouldn't have to — even with Fusion's performance gains.

dbt excels at semantic transformations, testing, and lineage — but it isn't built for massive distributed compute or schema evolution. When teams push dbt to handle ingestion, complex deduplication, or CDC logic, performance and cost can quickly escalate. The limitation isn't in dbt's design — it's in using the wrong tool for the wrong layer.

🧩 Distributed Engines Built for Heavy Lifting

When raw data volume, schema drift, or complex joins enter the picture, a distributed processing engine should lead the way before dbt takes over. Modern choices include:

Framework / Service

Best Use Cases

Cloud Integration

PySpark / Databricks

Large-scale ingestion, deduplication, upserts, schema evolution, CDC

Azure Synapse Spark Pools, AWS Glue, Databricks on any cloud

Snowpark (Snowflake)

Pushdown transformations, ML integration, and distributed computing inside Snowflake

Fully managed in Snowflake

Microsoft Fabric (Spark + Warehouse)

Unified lakehouse + warehouse with dbt Fusion native support

Native to Azure / Microsoft Fabric

Google Cloud Dataflow (Apache Beam)

Stream and batch unification, ETL on Data Lake, and Pub/Sub

Native to GCP

Apache Flink

Real-time streaming, complex event processing

AWS Kinesis Data Analytics, GCP DataStream

Dask / Ray

Lightweight Python parallelism for data science workloads

Deployable on Kubernetes or any VM cluster

These engines provide predicate pushdown, partition pruning, schema evolution, and merge-on-read capabilities that dbt's SQL layer alone cannot efficiently perform.

🧠 The Symbiosis Model

The modern architecture isn't dbt or Spark — it's dbt and Spark. A healthy data pipeline layers tools by purpose:

Raw Ingestion  →  PySpark / Glue / Dataflow / Fabric Spark
Curated Layer  →  dbt (Core or Fusion) Transformations
Semantic Layer →  dbt + BI (Power BI, Looker, Tableau)

Each tier plays a distinct role:

  • Distributed engines prepare and optimize data at scale.

  • dbt defines business rules, ensures testing and lineage, and enforces transformation discipline.

  • BI & semantic tools deliver insights and metrics consistently across the organization.


🔭 The Road Ahead

dbt remains a cornerstone of the modern analytics stack — but the landscape is shifting fast. The Fusion engine dramatically raises the performance ceiling. The Fivetran merger raises real questions about openness and pricing. And the rise of AI copilots and agentic analytics is reshaping what a transformation layer is even for.

For analytics leaders, the message is clear:

Build systems that scale with your business — not systems that your business scales to pay for.

Choose openness deliberately. Evaluate Fusion on its merits, not its marketing. Encourage versioned, testable data. Treat your data like code.

That's how you future-proof your analytics ecosystem — and ensure your team remains in control of its own data destiny.