At a glance
How close your Databricks SQL warehouse is to its concurrency ceiling, expressed as a percentage. A SQL warehouse can serve a finite number of concurrent queries before new ones start queuing; saturation measures how full that pipe is right now. At 40% there is plenty of headroom; at 90% queries are about to queue, and once they queue, latency rises sharply and dashboards feel slow. For a platform team this is the gauge that tells you whether to scale out (add clusters to the warehouse), and the alert at 90% is the line where action becomes urgent rather than optional.
Calculation
A Databricks SQL warehouse runs one or more clusters, and each cluster admits a bounded number of concurrent queries (the platform targets roughly ten running queries per cluster before it considers scaling). Saturation is the live occupancy of that capacity:Worked example
A platform team runs a SQL warehouse (size Medium, autoscaling 1 to 4 clusters) that powers internal BI dashboards plus an embedded analytics layer on a storefront. Snapshot taken on 18 Apr 26 between 09:00 and 09:30 UTC, the morning reporting peak.
The gauge flags red at 09:21 when saturation holds at 95% across several samples while the warehouse is on 2 of its 4 allowed clusters. The platform engineer drills in.
- Confirm autoscaling is doing its job. It is, by 09:24 a third cluster is up and saturation falls to 70%. The 95% window was the autoscaler’s reaction lag, not a hard ceiling. The user-visible pain lasted about three minutes.
- Reduce the reaction lag. Raising the warehouse’s minimum cluster count from 1 to 2 during business hours means the morning peak starts with more headroom and the first burst does not hit 100%. This trades a small steady-state cost for smoother peaks.
- Check whether the load is queries or one heavy query. Here it was many concurrent dashboard refreshes, a true concurrency problem that scaling out solves. If it had been one giant query holding a slot, scaling out would not have helped, and the fix would live in Top 10 Slowest SQL Queries instead.
- Saturation is the cause; latency is the effect. The latency rise on SQL Query Latency p95 (ms) at 09:21 and this gauge hitting 95% are the same event. Watch saturation to act before latency degrades.
- A warehouse pinned at max clusters and still saturated is a different problem. When there is no headroom left to autoscale into, sustained high saturation means the warehouse is genuinely too small for its peak, and the answer is a larger warehouse size or a higher max-cluster ceiling, not patience.
Sibling cards
Reconciling against the source
Where to look in Databricks:
Open SQL → SQL Warehouses → (your warehouse) → Monitoring. The live charts show Running queries, Queued queries, and Cluster count over time; saturation is running queries against slot capacity.
Query SELECT * FROM system.compute.warehouse_events WHERE warehouse_id = '...' (where the system schema is enabled) for scale-up / scale-down events that change the denominator.
The Query History view, filtered to the warehouse, shows per-query queue time, the direct symptom of saturation.
Why our number may legitimately differ from the Databricks UI:
Cross-connector reconciliation: