Bird
Raised Fist0
Snowflakecloud~5 mins

Warehouse sizes and scaling in Snowflake - Commands & Configuration

Choose your learning style10 modes available
Introduction
When you run data queries, you need the right amount of computing power. Warehouse sizes let you choose how much power to use. Scaling helps you add or remove power automatically to handle more or less work.
When you want faster query results by using more computing power.
When your data workload changes during the day and you want to save money by using less power when idle.
When multiple users run queries at the same time and you want to avoid waiting.
When you want to control costs by choosing a warehouse size that fits your budget.
When you want your warehouse to automatically add or remove clusters based on demand.
Commands
This command creates a warehouse named 'my_warehouse' with medium size. It will automatically suspend after 5 minutes of inactivity and resume when a query runs.
Terminal
CREATE WAREHOUSE my_warehouse WITH WAREHOUSE_SIZE = 'MEDIUM' AUTO_SUSPEND = 300 AUTO_RESUME = TRUE;
Expected OutputExpected
Statement executed successfully.
→
WAREHOUSE_SIZE - Sets the size of the warehouse which controls compute power.
→
AUTO_SUSPEND - Automatically suspends the warehouse after inactivity to save costs.
→
AUTO_RESUME - Automatically resumes the warehouse when a query is submitted.
This command changes the warehouse size to large to increase computing power for faster queries.
Terminal
ALTER WAREHOUSE my_warehouse SET WAREHOUSE_SIZE = 'LARGE';
Expected OutputExpected
Statement executed successfully.
→
WAREHOUSE_SIZE - Adjusts the compute power by changing the warehouse size.
This command enables multi-cluster scaling. The warehouse will have at least 1 cluster and can scale up to 3 clusters automatically based on workload.
Terminal
ALTER WAREHOUSE my_warehouse SET MIN_CLUSTER_COUNT = 1 MAX_CLUSTER_COUNT = 3 SCALING_POLICY = 'STANDARD';
Expected OutputExpected
Statement executed successfully.
→
MIN_CLUSTER_COUNT - Minimum number of clusters to keep running.
→
MAX_CLUSTER_COUNT - Maximum number of clusters to scale up to.
→
SCALING_POLICY - Controls how clusters are added or removed.
This command shows the current configuration and status of the warehouse named 'my_warehouse'.
Terminal
SHOW WAREHOUSES LIKE 'my_warehouse';
Expected OutputExpected
name | state | size | min_cluster_count | max_cluster_count | scaling_policy | auto_suspend | auto_resume my_warehouse | RUNNING | LARGE | 1 | 3 | STANDARD | 300 | TRUE
Key Concept

If you remember nothing else from this pattern, remember: warehouse size controls power and scaling adjusts clusters automatically to match workload.

Common Mistakes
Setting warehouse size too small for workload
Queries run slowly because there is not enough compute power.
Choose a warehouse size that matches your query speed needs.
Not enabling auto_suspend
Warehouse keeps running and costs money even when idle.
Set AUTO_SUSPEND to a reasonable time to save costs.
Setting MAX_CLUSTER_COUNT lower than needed
Warehouse cannot scale up enough during peak demand, causing query delays.
Set MAX_CLUSTER_COUNT high enough to handle peak workloads.
Summary
Create a warehouse with a chosen size and auto suspend/resume settings.
Change warehouse size to increase or decrease compute power.
Enable multi-cluster scaling to automatically add or remove clusters based on workload.
Check warehouse status and configuration with SHOW WAREHOUSES command.

Practice

(1/5)
1. What does the size of a Snowflake warehouse primarily determine?
easy
A. The storage capacity for data
B. The amount of computing power available for queries
C. The number of users who can access the database
D. The network bandwidth for data transfer

Solution

  1. Step 1: Understand warehouse size meaning

    Warehouse size in Snowflake controls the compute resources allocated.
  2. Step 2: Differentiate from storage and network

    Storage and network bandwidth are managed separately, not by warehouse size.
  3. Final Answer:

    The amount of computing power available for queries -> Option B
  4. Quick Check:

    Warehouse size = compute power [OK]
Hint: Warehouse size means compute power, not storage or users [OK]
Common Mistakes:
  • Confusing warehouse size with storage capacity
  • Thinking warehouse size limits user access
  • Assuming network bandwidth depends on warehouse size
2. Which Snowflake warehouse size is correctly written in a SQL command to create a warehouse?
easy
A. CREATE WAREHOUSE mywh WAREHOUSE_SIZE = 'LARGE';
B. CREATE WAREHOUSE mywh WAREHOUSE_SIZE = 'medium';
C. CREATE WAREHOUSE mywh WITH WAREHOUSE_SIZE = 'XSMALL';
D. CREATE WAREHOUSE mywh SET SIZE = 'SMALL';

Solution

  1. Step 1: Check correct syntax for warehouse size

    The correct syntax uses WAREHOUSE_SIZE = 'SIZE' with uppercase size names.
  2. Step 2: Validate option correctness

    CREATE WAREHOUSE mywh WAREHOUSE_SIZE = 'LARGE'; uses correct syntax and valid size 'LARGE'. Others have syntax or size errors.
  3. Final Answer:

    CREATE WAREHOUSE mywh WAREHOUSE_SIZE = 'LARGE'; -> Option A
  4. Quick Check:

    Correct syntax uses WAREHOUSE_SIZE = 'SIZE' [OK]
Hint: Use WAREHOUSE_SIZE = 'SIZE' with uppercase size [OK]
Common Mistakes:
  • Using lowercase size names
  • Using WITH keyword
  • Using SET SIZE instead of WAREHOUSE_SIZE
3. Given a Snowflake warehouse set to size 'MEDIUM' with auto-suspend enabled at 5 minutes, what happens if no queries run for 6 minutes?
medium
A. The warehouse suspends automatically after 5 minutes of inactivity
B. The warehouse continues running indefinitely
C. The warehouse scales up to a larger size automatically
D. The warehouse deletes all cached data

Solution

  1. Step 1: Understand auto-suspend behavior

    Auto-suspend pauses the warehouse after the specified inactivity time to save costs.
  2. Step 2: Apply to given time

    Since no queries run for 6 minutes, which is more than 5 minutes, the warehouse suspends.
  3. Final Answer:

    The warehouse suspends automatically after 5 minutes of inactivity -> Option A
  4. Quick Check:

    Auto-suspend triggers after inactivity time [OK]
Hint: Auto-suspend pauses warehouse after set idle time [OK]
Common Mistakes:
  • Thinking warehouse keeps running without queries
  • Assuming warehouse scales automatically without manual setting
  • Confusing auto-suspend with cache clearing
4. You configured a multi-cluster warehouse with MIN_CLUSTER_COUNT=1 and MAX_CLUSTER_COUNT=3, but queries queue up during peak times. What is the likely cause?
medium
A. The warehouse is suspended manually
B. Warehouse size is too large causing delays
C. Auto-suspend is set to zero minutes
D. Auto-scaling is not enabled or configured incorrectly

Solution

  1. Step 1: Understand multi-cluster warehouse scaling

    Multi-cluster warehouses scale clusters between min and max counts automatically if auto-scaling is enabled.
  2. Step 2: Identify cause of query queuing

    If queries queue despite max clusters > 1, auto-scaling might be off or misconfigured, preventing cluster addition.
  3. Final Answer:

    Auto-scaling is not enabled or configured incorrectly -> Option D
  4. Quick Check:

    Multi-cluster needs auto-scaling enabled to add clusters [OK]
Hint: Check auto-scaling enabled for multi-cluster warehouses [OK]
Common Mistakes:
  • Assuming large warehouse size fixes queuing
  • Confusing auto-suspend with scaling
  • Not verifying if warehouse is suspended
5. A company wants to handle unpredictable spikes in query load without manual intervention. Which Snowflake warehouse configuration best supports this?
hard
A. Set warehouse size to X-LARGE and disable auto-suspend
B. Create multiple single-cluster warehouses and switch between them manually
C. Use a multi-cluster warehouse with auto-scaling enabled and set MIN_CLUSTER_COUNT=1, MAX_CLUSTER_COUNT=5
D. Set warehouse size to SMALL and rely on auto-resume only

Solution

  1. Step 1: Identify need for handling spikes automatically

    The company wants automatic scaling to handle unpredictable query spikes without manual steps.
  2. Step 2: Evaluate options for auto-scaling

    Multi-cluster warehouses with auto-scaling and a range of cluster counts allow dynamic scaling up and down.
  3. Step 3: Compare other options

    Set warehouse size to X-LARGE and disable auto-suspend wastes resources by disabling suspend; B requires manual switching; D is too small and lacks scaling.
  4. Final Answer:

    Use a multi-cluster warehouse with auto-scaling enabled and set MIN_CLUSTER_COUNT=1, MAX_CLUSTER_COUNT=5 -> Option C
  5. Quick Check:

    Multi-cluster auto-scaling handles spikes best [OK]
Hint: Multi-cluster with auto-scaling handles spikes automatically [OK]
Common Mistakes:
  • Choosing fixed large size wastes cost
  • Relying on manual warehouse switching
  • Ignoring cluster count settings
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard