Database / Snowflake Interview Questions
What is Snowflake's multi-cluster warehouse and how does it handle concurrency auto-scaling?
A multi-cluster warehouse is a Virtual Warehouse configured with a minimum and maximum cluster count. Instead of a single MPP cluster, Snowflake can dynamically spin up additional identical clusters to serve queued queries in parallel, eliminating the most common cause of poor concurrency performance: the query queue.
Two operating modes:
- Auto-scale mode (default) — Snowflake starts a new cluster only when the existing clusters have a queue forming. Once the queue clears and the added cluster has been idle for the Auto-Suspend period, it shuts down. This is credit-efficient for variable concurrency patterns.
- Maximized mode — all clusters in the range are always running, regardless of load. Use this when you have consistently high, predictable concurrency and cannot afford any queue latency.
Two scaling policies control how aggressively new clusters start:
- STANDARD (default) — starts a new cluster as soon as a single query is queued.
- ECONOMY — waits until at least 6 minutes of queue time accumulates before starting a new cluster. Saves credits at the cost of higher queue latency for occasional spikes.
Requires Enterprise edition. Each additional cluster counts as a full warehouse credit spend at the configured T-shirt size.
CREATE WAREHOUSE concurrent_wh
WAREHOUSE_SIZE = 'LARGE'
MIN_CLUSTER_COUNT = 1
MAX_CLUSTER_COUNT = 5
SCALING_POLICY = 'STANDARD'
AUTO_SUSPEND = 120
AUTO_RESUME = TRUE;
More Related questions...