π‘ Understanding Databricks Compute Options: Serverless, Pro, Classic & SQL Warehouses
As more teams migrate data workloads to Databricks Unity Catalog, one question frequently arises:
“Whatβs the difference between Serverless, Pro, Classic, and SQL Warehouses β and how are they billed?”
This post breaks it all down with simple explanations, pricing clarity, and best-practice guidance.
π What Is a SQL Warehouse in Databricks?
A SQL Warehouse is a compute resource optimized for executing SQL queries. It’s commonly used for:
- Running queries in the SQL Editor
- Connecting to BI tools like Power BI or Tableau
- Creating dashboards and visualizations
- Executing JDBC/ODBC workloads
π§ Types of Databricks Compute
Databricks offers several compute options, each with different purposes and cost models.
| Compute Type | Best For | Description |
|---|---|---|
| Serverless SQL Warehouse | SQL queries & dashboards | Fully managed, scales instantly, only billed when in use |
| Pro SQL Warehouse | Persistent SQL workloads | You manage the size; billed when running |
| Classic SQL Warehouse | Legacy workloads | Older compute engine; less efficient |
| Serverless Job Compute | Scheduled jobs & Python notebooks | Best for quick, automated workflows |
| Job Clusters (Pro) | Heavier notebooks or ETL | Custom size and settings for each job |
| All-Purpose Clusters | Interactive development | Shared, manually managed clusters; expensive if idle |
π° Databricks Pricing Model: What Are You Billed For?
Databricks charges based on DBUs (Databricks Units) plus underlying cloud infrastructure (VM cost). Here’s how the billing works:
| Tier | Typical Use | Cost Range* | Notes |
|---|---|---|---|
| Serverless | SQL & Jobs | ~$0.40β$0.55 per DBU/hr | Auto-scales, auto-pause, low idle cost |
| Pro | Customizable workloads | ~$0.55β$0.70 per DBU/hr | Full control, good for consistent jobs |
| Classic | Older clusters | ~$0.65+ per DBU/hr | Use only if required for legacy compatibility |
π *Actual cost depends on region and workspace plan
β Serverless vs Pro vs Classic β When to Use What?
| Use Case | Best Option | Why |
|---|---|---|
| Ad-hoc SQL queries | Serverless SQL Warehouse | Auto-starts & pauses; pay per query time |
| Scheduled ETL jobs | Serverless Job Compute | No idle cost; fast startup |
| Advanced pipelines | Job Cluster (Pro) | Full control of resources |
| Heavy real-time dev | All-purpose Cluster | Not cost-efficient, but great for collaboration |
| Legacy notebooks | Classic (if required) | Use only when needed for compatibility |
π‘οΈ Cost Optimization Tips
To keep your Databricks bills in check:
- β Use Serverless SQL Warehouse for dashboards or quick analysis
- β±οΈ Enable auto-stop (e.g., after 10 minutes idle) for Pro SQL Warehouses
- π Schedule jobs to run at off-peak hours
- π Prefer Job Clusters or Serverless Jobs for automated tasks
- π« Avoid leaving All-purpose clusters running overnight
π Example Cost Scenarios
πΉ SQL Warehouse (Serverless)
- Query runs for 30 seconds = ~$0.01
- No billing if warehouse is idle and paused
πΉ Serverless Job
- Python job runs for 3 minutes on a small config
- ~2 DBUs Γ 3 mins = ~$0.02 per job run
π§ͺ Conclusion
Databricks offers flexible compute options tailored to different workloads, but understanding the billing model is key to avoiding unnecessary costs.
Serverless is the go-to for simplicity and efficiency.
Pro clusters are great for advanced control.
Classic is slowly being phased out and should be avoided when possible.