In our previous post, we briefly introduced dbt and an emerging role on modern data teams called an analytics engineer. If you’ve had a chance to dig into dbt, you’ve likely asked the questions, “What is dbt Core?” and “What is dbt Cloud?”. In this post, we hope to add some clarity to these questions and give you a few recommendations on each option can be leveraged in your data team.
The Difference in Functionality: dbt Core and Cloud
The fundamental difference between dbt Core and dbt Cloud is how you approach working with each. In the simplest terms, dbt Core is a command-line interface (CLI), and dbt Cloud is an integrated development environment (IDE). Keep that in mind as you read, weigh the tradeoffs and consider how your team would be best served.
It might be helpful to think of each product as standing alone from the other while sharing a common operational model: executing SQL with the help of a SQL engine. To contrast with a product like Tableau, dbt Core is not the Tableau Desktop to dbt Cloud’s Tableau Server. Each can be used entirely separately without sharing any dependency on the other. dbt Labs, the maker of dbt, uses as its business model a concept called “Open-core.” To spare you a search. here is what Wikipedia has to say:
The open-core model is a business model for the monetization of commercially produced open-source software… the open-core model primarily involves offering a “core” or feature-limited version of a software product as free and open-source software, while offering “commercial” versions or add-ons as proprietary software.
In the next sections, we’ll differentiate dbt Core and dbt Cloud along those lines—free and open source, commercial and proprietary.
How Much Does Each Option Cost?
Let’s begin with cost. This is typically one of the first questions our clients ask when we introduce or recommend any of our modern data stack solutions.
It’s understandable to want to classify different tools along monetary lines. However, the actual answer is a bit more nuanced depending on the organization. $0 doesn’t really mean there isn’t a cost, in either money or time. You surely wouldn’t look at the sticker price on a new car and think that’s all you’ll ever have to pay for that vehicle. It’s the same when choosing software tools.
dbt Core is free to use. Seriously. Go try it. But before you start rolling it out to the team, note that they should be very comfortable working in a text editor and at a command prompt, securely managing credentials and understanding and handling version control, software deployment and orchestration concepts at a minimum. Since dbt Core is open source, anyone can modify the code to add new features or functionality, for example. If that sounds like your team, dbt Core is likely a great fit.
On the other hand, while dbt Cloud isn’t free – at least for teams – it does provide more out of the box. This includes a browser-based IDE for development, job scheduling, job logging, monitoring and alerting, job documentation, version-control integration, single sign-on, role-based access controls and access to an API. But because it’s proprietary, you will be unable to modify the product with feature enhancements or alter functionality.
Choosing the Best dbt Option for Your Team
We discussed some of the basic parameters of each product – CLI vs. IDE, free vs. paid – but which dbt option you choose will depend on many factors. As with any technology, there are trade-offs, and it’s worth spending time understanding those trade-offs by one choice or the other.
In general, dbt Cloud will have a shorter time to value because your team can quickly onboard and be productive. However, dbt Core will be more flexible and customizable because your team will fully manage how you develop and deploy it.
Both options have numerous features that can benefit you. If you need help deciding which is the best fit for your team, please reach out so we can help your team make the right first step on your dbt journey.