A Virtual Warehouse is an independent compute cluster that makes up the Compute Layer of Snowflake's three-layer architecture. Every compute operation — SQL query execution, data loading, data transformation — runs on a Virtual Warehouse. It is completely decoupled from the Storage Layer, so you can create, size, and manage multiple Warehouses independently for different workloads.
A Virtual Warehouse is a set of compute resources dynamically provisioned on a cloud provider (AWS/Azure/GCP). Each Warehouse is fully isolated, so load on one Warehouse never affects another.
Warehouses come in 8 sizes. Each step up roughly doubles the compute resources — and the credit consumption.
| Size | Credits/hour | Node count (relative) | Recommended workload |
|---|---|---|---|
| X-Small(XS) | 1 | 1 | Development, testing, lightweight analytics, SnowSQL operations |
| Small(S) | 2 | 2 | Mid-size analytics, small ETL jobs |
| Medium(M) | 4 | 4 | Mid-to-large analytics, BI tool connections |
| Large(L) | 8 | 8 | Large-scale ETL, reporting |
| X-Large(XL) | 16 | 16 | Large-scale batch processing |
| 2X-Large(2XL) | 32 | 32 | Very large batch jobs, complex JOINs |
| 3X-Large(3XL) | 64 | 64 | Enterprise-scale data processing |
| 4X-Large〜6X-Large | 128〜512 | 128〜512 | Extremely large data processing (specialized use cases) |
Billing starts at a 60-second minimum, after which it shifts to per-second billing. Note that even if you suspend a Warehouse immediately after resuming it, you are still charged for a full 60 seconds of credits.
-- Create a Warehouse
CREATE OR REPLACE WAREHOUSE analytics_wh
WAREHOUSE_SIZE = 'MEDIUM'
AUTO_SUSPEND = 120
AUTO_RESUME = TRUE
MIN_CLUSTER_COUNT = 1
MAX_CLUSTER_COUNT = 1
INITIALLY_SUSPENDED = TRUE
COMMENT = 'Analytics Warehouse for analysts';
-- Resize (effective immediately, no downtime)
ALTER WAREHOUSE analytics_wh
SET WAREHOUSE_SIZE = 'LARGE';
-- Change Auto-suspend setting
ALTER WAREHOUSE analytics_wh
SET AUTO_SUSPEND = 60;
-- Manual suspend / resume
ALTER WAREHOUSE analytics_wh SUSPEND;
ALTER WAREHOUSE analytics_wh RESUME;Auto-suspend and Auto-resume are the most fundamental — and most effective — settings for Warehouse cost management.
When a Warehouse stays idle for the specified number of seconds, it is automatically suspended. While suspended, it consumes zero credits. The default is 600 seconds (10 minutes).
When a query is submitted to a suspended Warehouse, it automatically resumes. This is enabled by default. Resuming takes a few seconds to tens of seconds, so for latency-sensitive workloads consider keeping the Warehouse always on.
| Workload | Recommended Auto-suspend | Reason |
|---|---|---|
| Ad-hoc analytics | 60-120 sec | Intermittent query patterns; a short setting reduces cost |
| Dashboards / BI | 300-600 sec | Queries arrive continuously; avoid frequent resume/suspend cycles |
| ETL batch | 60 sec | Suspend immediately after the job finishes |
| Snowpipe integration | (Snowpipe is serverless) | No Warehouse required |
While running, a Warehouse caches micro-partitions read from the Storage Layer onto local SSD. Subsequent reads of the same data are served quickly from this cache.
A Multi-cluster Warehouse runs multiple compute clusters in parallel under the same Warehouse. It is available on Enterprise Edition or higher and prevents queuing when concurrent query volume grows.
| Approach | Method | Effect | Use case |
|---|---|---|---|
| Scale-up | Increase Warehouse size (e.g. M to L) | Boosts the processing power of individual queries | Complex queries, large data scans |
| Scale-out | Increase cluster count via Multi-cluster | Raises the cap on concurrent queries | Many users accessing concurrently |
-- Multi-cluster Warehouse (up to 3 clusters, Standard policy)
CREATE OR REPLACE WAREHOUSE dashboard_wh
WAREHOUSE_SIZE = 'MEDIUM'
MIN_CLUSTER_COUNT = 1
MAX_CLUSTER_COUNT = 3
SCALING_POLICY = 'STANDARD'
AUTO_SUSPEND = 300
AUTO_RESUME = TRUE;
-- Switch to Economy policy
ALTER WAREHOUSE dashboard_wh
SET SCALING_POLICY = 'ECONOMY';| Policy | When to add clusters | Priority |
|---|---|---|
| Standard (default) | Added as soon as queries start queuing | Performance first |
| Economy | Added only after existing clusters become heavily utilized | Cost first |
-- ETL (larger size, short Auto-suspend)
CREATE WAREHOUSE etl_wh
WAREHOUSE_SIZE = 'LARGE'
AUTO_SUSPEND = 60
AUTO_RESUME = TRUE;
-- Analytics (medium size, moderate Auto-suspend)
CREATE WAREHOUSE analytics_wh
WAREHOUSE_SIZE = 'MEDIUM'
AUTO_SUSPEND = 300
AUTO_RESUME = TRUE;
-- Development (smallest, short Auto-suspend)
CREATE WAREHOUSE dev_wh
WAREHOUSE_SIZE = 'XSMALL'
AUTO_SUSPEND = 60
AUTO_RESUME = TRUE;-- Create a resource monitor
CREATE RESOURCE MONITOR monthly_budget
WITH CREDIT_QUOTA = 500
FREQUENCY = MONTHLY
START_TIMESTAMP = IMMEDIATELY
TRIGGERS
ON 75 PERCENT DO NOTIFY
ON 90 PERCENT DO SUSPEND
ON 100 PERCENT DO SUSPEND_IMMEDIATE;
-- Apply the resource monitor to a Warehouse
ALTER WAREHOUSE analytics_wh
SET RESOURCE_MONITOR = monthly_budget;-- Credit consumption per Warehouse over the last 30 days
SELECT
warehouse_name,
SUM(credits_used) AS total_credits,
SUM(credits_used_compute) AS compute_credits,
SUM(credits_used_cloud_services) AS cs_credits
FROM SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_METERING_HISTORY
WHERE start_time >= DATEADD(DAY, -30, CURRENT_TIMESTAMP())
GROUP BY warehouse_name
ORDER BY total_credits DESC;Virtual Warehouse
問題 1
100 analysts are running queries concurrently from a BI dashboard, and queuing is happening frequently. Each query is lightweight, and increasing the Warehouse size does not relieve the queuing. Which is the most appropriate response?
正解: B
Queuing happens when concurrent query volume exceeds the Warehouse's capacity. When each query is lightweight and scaling up doesn't help, raising MAX_CLUSTER_COUNT on the Multi-cluster Warehouse scales out the cluster count, increasing the number of queries that can run simultaneously and clearing the queue. AUTO_SUSPEND = 0 does not mean 'never suspend' — it means 'suspend immediately when idle.' Result Cache helps with repeated identical queries but does not relieve queuing across different queries.
Does resizing a Virtual Warehouse cause any downtime?
No, resizing a Virtual Warehouse incurs no downtime. ALTER WAREHOUSE SET WAREHOUSE_SIZE takes effect immediately. If queries are already running, the new size applies to subsequent queries (you can control this with the WAIT_FOR_COMPLETION option). The Warehouse Cache (local disk cache) is preserved during a resize, but newly added nodes start with an empty cache, so you may see more cache misses for the first few queries after resizing.
When should I choose Standard vs. Economy scaling policy on a Multi-cluster Warehouse?
The Standard policy adds clusters as soon as queries start queuing, prioritizing performance. It suits latency-sensitive workloads like interactive dashboards. The Economy policy delays adding clusters until existing ones are fully utilized, prioritizing cost. It suits workloads such as batch processing where some queuing is acceptable.
What happens if I set Auto-suspend to 0 seconds?
AUTO_SUSPEND = 0 does not mean the Warehouse never auto-suspends; it means it suspends immediately the moment it goes idle. In other words, suspension starts the instant a query finishes. Because the minimum billing unit is 60 seconds, if another query arrives within that window the Warehouse resumes and you are billed for another full 60 seconds. For intermittent query patterns, 60-300 seconds is usually more cost-efficient.
Practice with certification-focused question sets
無料で問題を解いてみるNicheeLab Editorial Team
NicheeLab editorial team focused on data engineering and cloud certification learning. Content is structured around practical study needs and official exam domains.
Snowflake Certifications: All 11 Exams Explained (2026)
Every SnowPro certification — Associate, Core, Specialty, Ad...
Snowflake Exam Difficulty Ranking: All 11 Certs Compared (2026)
All 11 SnowPro exams ranked by difficulty with study-time es...
Snowflake Study Guide: Fastest Pass Route by Exam (2026)
How to pass SnowPro certifications efficiently — official ma...
SnowPro Core (COF-C03): Complete Exam Guide (2026)
Pass the SnowPro Core exam — six domains, scope, sample ques...
SnowPro Associate Platform (SOL-C01): Complete Guide (2026)
The entry-level SnowPro Associate exam — scope, weighting, s...