
Databricks pricing combines a platform charge with cloud infrastructure costs.
The platform charge is calculated from Databricks Units (DBUs), which measure compute consumption. Databricks bills for DBUs, and the cloud provider bills separately for the virtual machines and storage used on AWS, Azure, or GCP. Serverless products combine these charges into a higher DBU rate.
Compute type determines most of the DBU rate. Jobs compute is designed for scheduled pipelines and carries the lowest rate. All-Purpose compute supports interactive notebooks and costs several times more per DBU on AWS, with a smaller premium on Azure. SQL Warehouses are available as Classic, Pro, and Serverless products, with rates that increase as features are added. Serverless has the highest per-DBU rate but starts without a user-managed cluster. Lakeflow Declarative Pipelines (formerly Delta Live Tables) and Model Serving have separate rates.
DBU rates also vary by account tier, cloud, and region. The available tiers include Premium and Enterprise, along with the older Standard tier that Databricks is retiring. Tier selection is generally based on governance and security requirements, including Unity Catalog and customer-managed keys.
Classic compute produces a DBU charge from Databricks and a separate cloud infrastructure charge. Serverless includes the infrastructure cost in a higher DBU rate and does not require cluster management. Serverless costs less overall when the eliminated idle time and excess capacity are greater than the rate premium.
On-demand usage is billed at list price. A volume commitment reduces the DBU rate in exchange for an agreed level of consumption. The financial benefit depends on whether consumption reaches the committed baseline.
Idle clusters continue to consume DBUs while unused. Estimates based only on DBUs omit the cloud portion of classic compute. AI features such as Genie have their own DBU meters, and requests made through a service principal often receive no free allowance. Continuous quality monitors and background jobs also contribute to total usage.
The system.billing.usage and system.billing.list_prices tables can be joined to calculate DBU consumption and list-price cost by workload, team, and stock-keeping unit (SKU). Filtering for price_end_time is null selects the current list price. The system.lakeflow.job_run_timeline table can associate the resulting costs with specific jobs.
-- dbu cost by workload type, current list prices only
select u.sku_name,
sum(u.usage_quantity * p.pricing.default) as list_cost
from system.billing.usage u
join system.billing.list_prices p
on u.cloud = p.cloud and u.sku_name = p.sku_name
where p.price_end_time is null
group by u.sku_name
order by list_cost desc
The result lists cost by SKU in descending order.
How does Databricks pricing work overall?You pay DBUs, the Databricks platform fee, at a rate set by workload type, tier, cloud, and region, and on classic compute you add the cloud infrastructure underneath. Serverless folds that cloud cost into a higher DBU rate.
Why does All-Purpose compute cost so much more?All-Purpose, the interactive compute type, carries a DBU rate several times above Jobs compute on AWS, so running scheduled pipelines on it becomes a frequent source of overspend.
Does Serverless come out cheaper than classic?Per DBU it costs more. It can still lower total cost by cutting idle time, spin-up waste, and oversized clusters, and the gain shows up most on smaller or bursty workloads.
Where does my true Databricks spend show up?It shows up inside the system tables, system.billing.usage and system.billing.list_prices, which break spend down by workload, SKU, and tag.