What is dbt Fusion? Is dbt Core dead?
There’s a lot of buzz around dbt Fusion, the new engine announced by dbt Labs. In this post, I’ll break down what it really means, how it affects dbt Core, and share my honest take.
Everything written here is my personal opinion and doesn’t reflect my employer’s views.
dbt is a popular tool for transforming data in the warehouse using SQL and software engineering best practices. Recently, a new engine was announced, dbt Fusion, which promises to revolutionize how dbt runs.
What is dbt Fusion?
To explain it, let’s look at this image from Jason Ganz’s blog.
dbt is made of two parts: the Authoring Layer, which is your project (models, YAMLs, Jinja, etc), and the Engine, which runs that project.
With dbt Fusion, your project stays the same. What changes is how dbt understands and executes it.
Before fusion, dbt used the dbt Core Engine, created in 2016. It was written in Python, and didn't really understand SQL, it just compiled and sent it to the Data Warehouse to run it.
Fusion changes that. It is a new engine, written from scratch in Rust, with native SQL understanding, better performance, and instant error detection, before your code even runs.
According to dbt Labs benchmarks, Fusion can parse up to 30x faster than dbt Core, depending on project size and complexity. In my tests, I've got a 10x improvement.
—
TL;DR
It is a faster and smarter way of running dbt. Your project doesn't change, just how it runs under the hood.
Is dbt Fusion free? What about open-source?
Free? Yes. dbt Fusion is free to use.
You can install it via:
MacOS/Linux:
curl -fsSL https://public.cdn.getdbt.com/fs/install/install.sh | sh -s -- --update
Windows PowerShell:
irm https://public.cdn.getdbt.com/fs/install/install.ps1 | iex
Open source? Not exactly. It is source-available, not open-source.
That means: you can still download, use, inspect, and contribute to the code. But you can't use it commercially as part of your product (e.g., as part of a managed platform) without an agreement.
For example, Snowflake recently announced native dbt inside Snowflake. If they used dbt Core, they didn't need permission. But to use dbt Fusion, they had to sign an agreement with dbt Labs.
You can read more about the licenses here.
—
TL;DR
dbt Fusion is free, but not open-source. It’s source-available. Most users won’t notice the difference, unless you're embedding dbt into your product.
Is dbt Core dead?
No. dbt Core is still supported by dbt Labs.
But let’s be real, dbt Fusion is the future of dbt. When released in GA, it will offer more features than Core (thanks to its SQL understanding), and that gap will only grow.
Imho, I see most users migrating to Fusion, there's no reason to not do so. Unless your DW is not supported yet.
At the time of writing, Fusion supports Snowflake and Databricks, with others on the roadmap. Here you can see the updated list.
dbt Core won’t disappear, but over time, I believe it will have fewer users, and the features gap will be huge. I expect dbt Labs to put most of their energy into Fusion.
—
TL;DR
No, dbt Core isn’t dead. But dbt Fusion is the clear path forward.
What is the new VSCode extension? Is it free?
There’s an official VSCode extension that uses dbt Fusion’s capabilities to improve your developer experience. It includes:
Instant error feedback
Lineage & Column-level lineage
Instant code refactoring
Go-to-definition
CTE preview
and more
It delivers, locally, an even better experience than the dbt Platform (former dbt Cloud) IDE.
The extension is free up to 15 users. As Jason Ganz wrote in a LinkedIn comment, it is like a paid product with a generous free tier.
People asked me how they track the number of users, but I'm not sure. It doesn't seem too difficult either.
—
TL;DR
A powerful local IDE experience, which only works with dbt Fusion.
Free up to 15 users.
What do I think about all of this?
I’m excited. dbt just got a massive upgrade, and we, the users, benefit from it. The competition in this space clearly pushed dbt Labs to evolve, and that’s a win for all of us.
The most controversial part is the move away from open-source.
Ideally, yes, I’d prefer everything to stay open. But I get the business logic. dbt Labs supported the open-source community for years, and their work changed how we build data pipelines. Even major cloud providers began creating or acquiring dbt-like tools.
dbt got huge. And to be able to maintain and sustain their business, they had to find ways of making money. And I believe this is the natural path for companies that start with an open source solution. At some point, you need to offer paid premium features while maintaining part of it free. Otherwise, you will break.
The good thing here is that the way they found to make money out of Fusion provided a better experience and a big upgrade for free users. And, of course, even better for paid users.
The only ones affected negatively are companies selling dbt as part of their managed platforms. They’ll either stick to Core, or sign a deal, or change their tooling. But if you’re an individual or company using dbt for your own data stack, you’re winning.
Let me know your thoughts in the comments.
Useful links
https://docs.getdbt.com/docs/about-dbt-extension
https://docs.getdbt.com/docs/fusion/install-fusion
https://www.getdbt.com/licenses-faq
https://docs.getdbt.com/blog/dbt-fusion-engine-path-to-ga
Bruno Lima. Follow me on LinkedIn.
Want to go deeper with dbt? Check out my hands-on dbt courses at DataGym.io.
Need broader Data Engineering training? Visit DataExpert.io.
Looking for consulting? I work with phData, where we help companies succeed with dbt and the modern data stack.
Thanks for the post, really helpful!
Will the new VS Code extension work also with DBT Core?
Good post, This helped me clear my doubts between core and Fusion. Thank you