Is Your dbt Bill Growing in Seats, or in Engineers?
dbt Core is free to run and expensive to operate. dbt Cloud is easy to operate and priced per developer plus usage. Either way the transformation layer has a cost that grows with the team, and neither path is the one you chose for that reason.
Does this sound familiar?
- You run dbt Core, and one engineer's week is now Airflow, CI runners, artifact storage and state deferral, not models.
- You run dbt Cloud, and every new analyst is a seat, every busy month is a usage line, and the invoice is a conversation.
- The team argues about Core versus Cloud every budget cycle, and the argument never changes.
- Nobody can say what a model actually costs to keep alive: license, platform time, and warehouse compute live in three spreadsheets.
dbt, now one company with Fivetran, gave SQL the things software engineering had for years: version control, tests, modularity. That is why teams adopt it. The cost conversation arrives later, and it arrives on both of the paths dbt offers.
Why the layer costs more than the license
- dbt Core is free to download, not free to run. Somebody sets up the orchestrator, the CI pipeline, the artifact storage and the state deferral, then keeps them running. That somebody is an engineer who was hired to model data.
- dbt Cloud is priced per developer plus usage. Seats scale with the team, and usage metering means the bill moves with how often models are built. Predictable on a quiet month, less so on a busy one.
- Both paths pay warehouse compute on top. Every run executes in Snowflake, BigQuery or Databricks, and that bill is separate from either the seats or the salaries.
- Both paths own the support. dbt Core is community supported; dbt Cloud adds vendor support for the platform, not for the patterns in your project.
- Both paths own the patterns. When the database ships a new feature, somebody updates the macros, tests them, writes migration scripts for every existing structure and tests those too. That work has no line on either invoice, and over the life of a warehouse it is the largest maintenance cost of the layer.
- Openness is the advantage, and the cost. Every pattern and convention is yours to choose, which is the appeal, and yours to build, test and keep current, which is the bill.
- The choice is framed as one or the other. Either subscriptions or platform engineering. The option nobody presents is a transformation layer that needs less hand-written code in the first place.
Where the cost actually sits
- Most of a dbt project is the same pattern repeated. Staging models, key handling, deduplication and history logic are written per source and re-run per schedule.
- Repeated patterns are what generators are for. A model-driven platform derives that code from the model, so it is neither written nor maintained by hand.
- Custom logic is the small part. Business rules and metrics that genuinely need bespoke SQL are a fraction of the code base, and they are the part dbt is best at.
What changes with Datavault Builder
Datavault Builder generates the staging, raw vault and business vault layers from a visual model, with orchestration, deployment, documentation and lineage in the same platform.
- The generated part leaves the code base. No staging models to write, no incremental macros to maintain, no historization logic to test again for each source.
- Orchestration and CI come with it. Git and Gitflow support, deployment and rollback scripts, and lineage are part of the platform, not a second stack to run.
- So do pattern updates, database updates and support. New database features arrive as updated load patterns with the migration scripts for existing structures included, and support is part of the license rather than a forum.
- The delivery layer is model-driven too. Marts and data products are assembled by drag and drop on the semantic layer, with business rules managed and versioned in the platform, so business oriented people decide which data they need without a dbt developer in the loop.
- dbt is optional, not removed. Teams that want to keep operations in dbt get the dbt models generated from the same model. The process stays model-driven, and a change is a model update and a regeneration, not a hand edit.
- The cost is predictable. A server license in one of three sizes plus the number of developers, and nothing metered per run or per load. No orchestration cluster to operate, and no invoice line that moves with how often the models were built.
What to decide
Audit the project and count the models that exist only to stage, dedupe, key or historize a source. That share of the project is what you are paying for twice, once to write and once to run. It is the part a generator should own.
See It Running on One of Your Sources
Book a free demo and bring the connector that costs you the most, in money or in time.
Three Steps to a Pipeline You Control
-
Count what the layer really costs
Seats or salaries, plus the orchestration and CI around it, plus the compute it triggers. One number.
-
Move the generated part off the code base
Staging, historization and the raw vault are generated from a model in Datavault Builder, not written and re-run.
-
Decide what dbt is still for
Build the delivery layer in Datavault Builder, or keep dbt for operations and let the platform generate the dbt models.
How Datavault Builder Takes the Friction Out of Ingestion
-
Ingestion is built in
Batch, delta and CDC loads from databases, files, REST APIs, NoSQL and Python sources, with streams such as Kafka arriving as micro-batches. Same platform that generates the warehouse, no second invoice.
-
Your schema, not the vendor's
Source tables are mapped to a Data Vault 2.0 model you designed. A new column or a renamed table changes a mapping, not a chain of post-load scripts.
-
Only deltas move
Hubs, links and satellites load what changed. Full reloads stay in staging instead of being reprocessed downstream every night.
-
History is kept by design
Every change is retained as it arrives, so as-was reporting works even where the source overwrites its own rows.
-
Code you never hand-write
Loading, historization and lineage are generated from the model in real time and run natively on Snowflake, Databricks, BigQuery, SQL Server, Fabric, Oracle or PostgreSQL.
-
One platform, up to nine tools fewer
Modeling, ETL, CI/CD, documentation and lineage in one place. That is what makes 14.7 minutes from requirement to production possible.
Meet Our Expert
Twenty minutes with our Sales Director, and an honest answer on whether this fits your stack.
Matt Collett
Sales Director
Great, pick a time that works for you:
Other Problems This Series Covers
-
The dbt Trade-Off: Code Sprawl, Hidden TCO, and the Case for Automated Modeling
dbt brought software engineering to SQL, and teams are right to want that. The trade is a transformation layer that grows in code, in cost and in compute, on top of an ingestion tool that is still a separate product. A generated Data Vault takes that whole layer off the code base. It does not need dbt, but it can be combined with it.
-
Does dbt Still Leave You to Land the Data Yourself?
dbt is a transformation tool by design. It assumes the raw data is already in the warehouse, so the landing step is a second product with a second bill, even now that Fivetran and dbt Labs are one company. A warehouse platform that ingests and models in one place closes the gap without a second contract.
-
Is Your dbt Run Quietly Driving Up Warehouse Compute?
dbt executes everything in the warehouse, so a full refresh where an incremental would do, or a table materialization that rebuilds every night, shows up as credits, not as an error. Incremental logic is optional in dbt. In a generated Data Vault it is the only way loads are written.
Questions and Answers
- No. It is saying the cost of a transformation layer is real on both paths: subscriptions on one, platform engineering on the other. The question is how much of that layer needs to be hand-written code at all.
- It can replace dbt entirely: orchestration, deployment and lineage come with the platform, with Git and Gitflow built in, and the delivery layer is built by drag and drop on the semantic layer. If you want to keep running operations through dbt because it is already in use elsewhere, Datavault Builder generates the dbt models from the same model, so nothing is hand-written on either path.
- dbt Labs and Fivetran completed their merger on 2026-06-01. They remain two products with separate pricing today, and both companies have said tighter integration and bundled plans will follow over time. Nothing in this article depends on which way that goes.