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.

Is Your dbt Bill Growing in Seats, or in Engineers?

The data warehouse automation solution trusted by data teams across industries

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

  1. Count what the layer really costs

    Seats or salaries, plus the orchestration and CI around it, plus the compute it triggers. One number.

  2. 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.

  3. 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.

Recognized by BARC in The Data Fabric Survey 26

Meet Our Expert

Twenty minutes with our Sales Director, and an honest answer on whether this fits your stack.

Matt Collett

Matt Collett

Sales Director

What are you looking for?

By submitting you agree to our Privacy Policy.

Other Problems This Series Covers

  • The dbt trade-off

    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.

  • Ingestion gap

    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.

  • Warehouse compute

    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