Bird
Raised Fist0
Snowflakecloud~10 mins

Warehouse sizes and scaling in Snowflake - Step-by-Step Execution

Choose your learning style10 modes available
Process Flow - Warehouse sizes and scaling
Start: Choose Warehouse Size
↓
Warehouse Size Options
↓
Warehouse Starts with Chosen Size
↓
Scaling Decision
↓
Scale Up
↓
Increase Size
↓
More Compute Power
↓
Warehouse Processes Queries
↓
Scale Down or Remove Clusters
↓
End
This flow shows how you pick a warehouse size, start it, then scale up by size or scale out by adding clusters to handle more work.
Execution Sample
Snowflake
CREATE WAREHOUSE mywh WITH WAREHOUSE_SIZE = 'SMALL' WAREHOUSE_TYPE = 'STANDARD';
ALTER WAREHOUSE mywh SET WAREHOUSE_SIZE = 'MEDIUM';
ALTER WAREHOUSE mywh SET MIN_CLUSTER_COUNT = 1 MAX_CLUSTER_COUNT = 3;
ALTER WAREHOUSE mywh RESUME;
This code creates a small warehouse, scales it up to medium size, enables multi-cluster scaling, and starts it.
Process Table
StepActionWarehouse SizeClustersResult
1Create warehouse with size SMALLSMALL1Warehouse created, ready to start
2Start warehouseSMALL1Warehouse running with 1 cluster
3Scale up warehouse size to MEDIUMMEDIUM1More compute power per cluster
4Enable multi-cluster scaling (min 1, max 3)MEDIUM1-3Warehouse can add clusters automatically
5Load increases, auto scale out adds 2 clustersMEDIUM33 clusters running in parallel
6Load decreases, auto scale in removes 2 clustersMEDIUM1Back to single cluster
7Pause warehouseMEDIUM0Warehouse stopped, no compute cost
💡 Warehouse paused, no clusters running, compute stopped
Status Tracker
VariableStartAfter Step 1After Step 3After Step 4After Step 5After Step 6Final
Warehouse SizeN/ASMALLMEDIUMMEDIUMMEDIUMMEDIUMMEDIUM
ClustersN/A111-3310
StateN/ACreatedCreatedCreatedRunningRunningPaused
Key Moments - 3 Insights
Why does the warehouse size change from SMALL to MEDIUM but clusters stay at 1 initially?
Because scaling up changes the power of each cluster, not the number of clusters. Clusters remain 1 until multi-cluster scaling is enabled (see step 3 and 4 in execution_table).
How does multi-cluster scaling affect the number of clusters?
It allows the warehouse to add or remove clusters automatically between the min and max cluster count based on load (see steps 4, 5, and 6).
What happens to compute cost when the warehouse is paused?
When paused, all clusters stop and no compute resources are used, so cost stops (see step 7).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the warehouse size after step 3?
ASMALL
BMEDIUM
CLARGE
DX-SMALL
💡 Hint
Check the 'Warehouse Size' column at step 3 in execution_table
At which step does the warehouse add more clusters due to load increase?
AStep 2
BStep 4
CStep 5
DStep 7
💡 Hint
Look for when clusters increase from 1 to 3 in execution_table
If the warehouse size was never changed from SMALL, how would step 3's 'Warehouse Size' value appear?
ASMALL
BMEDIUM
CLARGE
DX-LARGE
💡 Hint
Step 3 shows the size change; if no change, it stays as initial size
Concept Snapshot
Warehouse sizes define compute power per cluster (X-Small to X-Large).
Scaling up increases cluster size (more power per cluster).
Scaling out adds clusters (multi-cluster scaling) for parallel work.
Auto-scaling adjusts clusters based on load between min and max.
Pausing warehouse stops all clusters and compute cost.
Use ALTER commands to change size and scaling settings.
Full Transcript
This lesson shows how Snowflake warehouses start with a chosen size that sets compute power per cluster. You can scale up by increasing the warehouse size, which makes each cluster more powerful. You can also scale out by enabling multi-cluster scaling, which adds or removes clusters automatically based on workload. When load increases, more clusters run in parallel; when load decreases, clusters are removed. Pausing the warehouse stops all clusters and stops compute charges. The execution table traces creating a small warehouse, scaling it up to medium, enabling multi-cluster scaling, auto-scaling clusters, and pausing the warehouse.

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