100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Programming

Multi-Cluster Warehouses

Understand how multi-cluster warehouses handle high concurrency by automatically adding and removing compute clusters.

Compute & ScalingIntermediate9 min readJul 10, 2026
Analogies

The Concurrency Problem

A single virtual warehouse has a finite queue capacity: once enough concurrent queries are submitted, later queries start queuing behind earlier ones, waiting for compute slots to free up. This matters most for BI and dashboarding workloads, where dozens or hundreds of analysts might hit the same warehouse simultaneously during peak hours, for example at 9am when everyone opens their Tableau dashboards at once. A single, larger warehouse can help a bit by processing each query faster, but it doesn't fundamentally solve a queuing problem caused by too many simultaneous requests.

🏏

Cricket analogy: It's like a single ticket counter at a stadium gate before an India-Pakistan match: even a faster clerk can only process one fan at a time, so when thousands arrive at once, a queue forms regardless of how quick that one counter is.

How Multi-Cluster Warehouses Scale Out

A multi-cluster warehouse solves this by allowing Snowflake to automatically start additional clusters of the same size when queuing is detected, and shut them down again when demand drops. You configure MIN_CLUSTER_COUNT and MAX_CLUSTER_COUNT; for example, a warehouse with MIN_CLUSTER_COUNT=1 and MAX_CLUSTER_COUNT=4 normally runs one cluster but can burst up to four identical clusters during a concurrency spike, each cluster capable of independently serving queries, effectively adding parallel query-processing lanes rather than making any single query run faster.

🏏

Cricket analogy: It's like a stadium opening additional ticket gates as the queue grows before a big match, going from two gates to eight during peak arrival and closing the extra gates once the rush subsides.

Scaling Policies: Standard vs. Economy

Snowflake offers two scaling policies for multi-cluster warehouses. The Standard policy favors starting additional clusters quickly, aiming to minimize query queuing even if it means starting a cluster that only runs briefly; it starts a new cluster as soon as it detects that queries are queuing or that current clusters can't absorb the load. The Economy policy is more conservative: it only starts additional clusters when it estimates there is enough queued workload to keep a new cluster busy for at least six minutes, trading a bit more queuing risk for lower credit consumption.

🏏

Cricket analogy: Standard is like a captain who brings on an extra fielder the instant a gap appears in the field, even for one over, while Economy is like waiting to see if the batter is clearly targeting that gap for several overs before committing the fielder.

sql
-- Create a multi-cluster warehouse that can burst from 1 to 4 clusters
CREATE WAREHOUSE bi_dashboard_wh
  WAREHOUSE_SIZE = 'MEDIUM'
  MIN_CLUSTER_COUNT = 1
  MAX_CLUSTER_COUNT = 4
  SCALING_POLICY = 'STANDARD'
  AUTO_SUSPEND = 300
  AUTO_RESUME = TRUE;

-- Inspect current cluster activity
SELECT *
FROM TABLE(INFORMATION_SCHEMA.WAREHOUSE_LOAD_HISTORY(
  WAREHOUSE_NAME => 'BI_DASHBOARD_WH',
  DATE_RANGE_START => DATEADD('hour', -1, CURRENT_TIMESTAMP())
));

Setting MIN_CLUSTER_COUNT equal to MAX_CLUSTER_COUNT creates what's effectively a fixed-size multi-cluster warehouse that always runs that many clusters, useful for guaranteeing headroom during known-heavy periods like month-end reporting without waiting on scale-out latency.

Multi-cluster warehouses solve concurrency (many simultaneous queries), not the speed of any single query. If one individual query is slow because it's poorly written or scanning too much data, adding more clusters won't make that particular query run faster; you need to address it via warehouse size, clustering, or query tuning instead.

  • A single warehouse has finite queue capacity; too many concurrent queries cause queuing regardless of warehouse size.
  • Multi-cluster warehouses automatically start and stop additional identical clusters to absorb concurrency spikes.
  • MIN_CLUSTER_COUNT and MAX_CLUSTER_COUNT define the burst range Snowflake can scale within.
  • Standard scaling policy starts new clusters aggressively to minimize queuing.
  • Economy scaling policy is more conservative, starting new clusters only when sustained demand is likely.
  • Multi-cluster scaling addresses concurrency, not the speed of any individual slow query.
  • Setting MIN and MAX equal creates a fixed-size cluster pool for predictable heavy-load periods.

Practice what you learned

Was this page helpful?

Topics covered

#Programming#SnowflakeStudyNotes#MultiClusterWarehouses#Multi#Cluster#Warehouses#Concurrency#StudyNotes#SkillVeris#ExamPrep