Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Process Flow - Why Snowflake separates compute from storage
Data Stored in Central Storage
↓
Compute Clusters Access Storage
↓
Cluster A
↓
Process Queries
↓
Results Returned
Snowflake stores data centrally and lets multiple compute clusters access it independently to run queries.
Execution Sample
Snowflake
CREATE WAREHOUSE WH1;
CREATE WAREHOUSE WH2;
USE WAREHOUSE WH1;
SELECT * FROM table;
USE WAREHOUSE WH2;
SELECT * FROM table;
Two compute warehouses run queries on the same central data storage independently.
Process Table
Step
Action
Compute Cluster
Storage Access
Result
1
Create Warehouse WH1
WH1 created
No data accessed
Ready to run queries
2
Create Warehouse WH2
WH2 created
No data accessed
Ready to run queries
3
Run query on WH1
WH1 active
Reads data from central storage
Query result from WH1
4
Run query on WH2
WH2 active
Reads data from central storage
Query result from WH2
5
WH1 and WH2 run independently
Both active
Shared storage accessed concurrently
Results returned separately
6
Stop WH1
WH1 stopped
No storage access
No queries run
7
WH2 continues
WH2 active
Reads data from storage
Query results continue
8
End
WH1 stopped, WH2 active
Storage remains intact
System stable
💡 Execution stops as warehouses are stopped or queries complete; storage remains separate and persistent.
Status Tracker
Variable
Start
After Step 1
After Step 2
After Step 3
After Step 4
After Step 6
Final
WH1 State
Not created
Created
Created
Active
Active
Stopped
Stopped
WH2 State
Not created
Not created
Created
Created
Active
Active
Active
Storage State
Data stored
Data stored
Data stored
Accessed
Accessed
Accessed
Accessed
Key Moments - 3 Insights
Why can WH1 and WH2 run queries at the same time without interfering?
Because both warehouses access the same central storage independently, as shown in steps 3 and 4, they do not block each other.
What happens to data when a compute warehouse stops?
Data remains safe and unchanged in central storage, as seen in step 6 where WH1 stops but storage is still accessed by WH2.
Why is separating compute and storage beneficial?
It allows multiple compute clusters to scale and run queries independently without duplicating data, demonstrated by WH1 and WH2 running separately.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the state of WH1 after step 6?
AActive
BStopped
CNot created
DPaused
💡 Hint
Check the 'WH1 State' in variable_tracker after step 6.
At which step do both WH1 and WH2 run queries concurrently?
AStep 3
BStep 4
CStep 5
DStep 6
💡 Hint
Look for the step where both warehouses are active and accessing storage.
If storage was not separated, what would happen when WH1 stops?
AWH2 would also lose access to data
BWH2 would continue normally
CData would be duplicated
DQueries would run faster
💡 Hint
Think about the benefit of separate storage shown in steps 6 and 7.
Concept Snapshot
Snowflake separates compute and storage.
Data is stored centrally and persistently.
Multiple compute warehouses access data independently.
Compute clusters can scale up/down without affecting storage.
This design improves concurrency and cost efficiency.
Full Transcript
Snowflake stores data in a central storage layer. Multiple compute warehouses can be created to run queries independently. Each warehouse accesses the same data without copying it. This separation allows warehouses to scale and run queries concurrently without blocking each other. When one warehouse stops, data remains safe and accessible by others. This design improves performance and cost by separating compute resources from storage.
Practice
(1/5)
1. Why does Snowflake separate compute from storage?
easy
A. To combine compute and storage for faster processing
B. To store data only on local machines
C. To allow independent scaling of compute and storage resources
D. To limit the number of users accessing data
Solution
Step 1: Understand Snowflake's architecture
Snowflake separates compute (processing power) and storage (data saved) so they can work independently.
Step 2: Identify the benefit of separation
This separation allows users to scale compute resources up or down without affecting stored data, improving flexibility and cost.
Final Answer:
To allow independent scaling of compute and storage resources -> Option C
Quick Check:
Separation means independent scaling = A [OK]
Hint: Think: compute and storage can grow separately [OK]
Common Mistakes:
Confusing separation with combining compute and storage
Thinking data is stored only locally
Believing separation limits user access
2. Which of the following is the correct way to describe Snowflake's compute and storage separation?
easy
A. Compute resources can be paused without affecting stored data
B. Storage automatically scales with compute usage
C. Compute and storage are tightly coupled in one system
D. Compute and storage must always scale together
Solution
Step 1: Review compute and storage behavior
Snowflake allows compute (warehouses) to be paused or resized without impacting stored data.
Step 2: Match the correct description
Compute resources can be paused without affecting stored data correctly states compute can be paused independently, which is a key feature.
Final Answer:
Compute resources can be paused without affecting stored data -> Option A
Quick Check:
Compute pause independent of storage = C [OK]
Hint: Remember: compute can pause, storage stays safe [OK]
Common Mistakes:
Thinking compute and storage are tightly linked
Assuming storage scales automatically with compute
Believing compute and storage must scale together
3. Consider this scenario: You run multiple queries on Snowflake using different virtual warehouses. What is the main advantage of Snowflake's compute-storage separation in this case?
medium
A. Queries run slower because compute and storage are separate
B. Each warehouse can scale independently without data duplication
C. Data must be copied for each warehouse to run queries
Snowflake allows multiple compute clusters (warehouses) to access the same storage without copying data.
Step 2: Understand the benefit of independent scaling
Each warehouse can scale or pause independently, improving performance and cost without duplicating data.
Final Answer:
Each warehouse can scale independently without data duplication -> Option B
Quick Check:
Independent scaling, no data copy = D [OK]
Hint: Multiple warehouses share storage, no copies needed [OK]
Common Mistakes:
Assuming data is copied for each warehouse
Thinking compute-storage separation slows queries
Believing storage costs rise with more warehouses
4. You notice your Snowflake compute warehouse is running slowly. You try to scale up compute but the performance does not improve. What could be a reason related to compute-storage separation?
medium
A. Compute and storage must be scaled together to improve speed
B. Compute warehouses cannot be resized after creation
C. Scaling compute automatically scales storage too
D. Storage is the bottleneck, not compute, since they are separate
Solution
Step 1: Understand compute-storage bottlenecks
Since compute and storage are separate, scaling compute won't help if storage speed limits performance.
Step 2: Identify the correct reason
Storage is the bottleneck, not compute, since they are separate correctly points out storage could be the bottleneck even if compute is scaled.
Final Answer:
Storage is the bottleneck, not compute, since they are separate -> Option D
Quick Check:
Separate storage bottleneck limits speed = B [OK]
Hint: Slow queries? Check storage bottleneck, not just compute [OK]
Common Mistakes:
Assuming compute and storage scale together
Believing compute cannot be resized
Thinking scaling compute always fixes performance
5. You want to optimize costs and performance in Snowflake by using multiple virtual warehouses for different teams. How does Snowflake's separation of compute and storage help you achieve this?
hard
A. You can pause or resize warehouses independently while sharing the same data storage
B. You must create separate copies of data for each warehouse to avoid conflicts
C. Storage costs increase with each warehouse you create
D. Compute and storage are combined, so scaling one scales the other automatically
Solution
Step 1: Understand cost and performance optimization
Using multiple warehouses allows teams to work independently without interfering with each other.
Step 2: Apply compute-storage separation benefits
Since compute and storage are separate, warehouses can be paused or resized independently while sharing the same data, saving costs.
Final Answer:
You can pause or resize warehouses independently while sharing the same data storage -> Option A
Quick Check:
Independent warehouse control with shared storage = A [OK]
Hint: Pause or resize warehouses without copying data [OK]
Common Mistakes:
Thinking data must be copied for each warehouse
Assuming storage costs rise with more warehouses
Believing compute and storage always scale together