Bird
Raised Fist0
Snowflakecloud~10 mins

What is Snowflake - Visual Explanation

Choose your learning style10 modes available

Start learning this pattern below

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 - What is Snowflake
User wants to store data
User uploads data to Snowflake
Snowflake stores data in cloud storage
User runs queries on data
Snowflake processes queries using compute resources
Results returned to user
Snowflake lets users upload data to the cloud, stores it safely, and runs queries quickly using separate compute power.
Execution Sample
Snowflake
CREATE TABLE users (id INT, name STRING);
INSERT INTO users VALUES (1, 'Alice');
SELECT * FROM users;
Creates a table, adds one user, then retrieves all users.
Process Table
StepActionEvaluationResult
1Create table 'users'Table does not existTable 'users' created with columns id and name
2Insert row (1, 'Alice')Table 'users' existsRow added to 'users'
3Select all from 'users'Table 'users' has 1 rowReturns [(1, 'Alice')]
4End of commandsNo more commandsExecution stops
💡 All commands executed successfully
Status Tracker
VariableStartAfter Step 1After Step 2After Step 3
users tabledoes not existexists emptyexists with 1 rowexists with 1 row
Key Moments - 2 Insights
Why does Snowflake separate storage and compute?
Snowflake stores data separately from compute so queries can run fast without affecting storage. See execution_table steps 3 and 4 where query runs independently.
Is data stored inside Snowflake or outside?
Data is stored in cloud storage outside Snowflake's compute layer, but Snowflake manages it. This is shown in the concept_flow step where data is uploaded and stored in cloud storage.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the result after step 2?
AReturns [(1, 'Alice')]
BTable 'users' created with columns id and name
CRow added to 'users'
DExecution stops
💡 Hint
Check the 'Result' column for step 2 in execution_table
At which step does Snowflake return query results?
AStep 3
BStep 2
CStep 1
DStep 4
💡 Hint
Look at the 'Action' and 'Result' columns in execution_table
If we add more rows before step 3, how does it affect the result at step 3?
AQuery will fail because table is too big
BMore rows will be returned in the query result
CNo change, only one row is returned
DTable will be deleted
💡 Hint
Refer to variable_tracker showing table rows after insertions
Concept Snapshot
Snowflake is a cloud data platform.
It separates storage and compute for speed and scalability.
Users upload data to cloud storage.
Compute resources run queries independently.
This allows fast, flexible data analysis.
Full Transcript
Snowflake is a cloud-based data platform that stores data separately from compute resources. Users upload data, which Snowflake stores in cloud storage. When users run queries, Snowflake uses compute resources to process them without affecting storage. This separation allows fast and scalable data handling. For example, creating a table, inserting data, and querying it shows how Snowflake manages data and compute independently.

Practice

(1/5)
1. What is Snowflake primarily used for?
easy
A. Managing network security
B. Creating mobile applications
C. Storing and analyzing data in the cloud
D. Designing websites

Solution

  1. Step 1: Understand Snowflake's main purpose

    Snowflake is a cloud service designed to store and analyze data easily.
  2. Step 2: Compare options with Snowflake's use

    Options B, C, and D relate to other fields like app development, security, and web design, not Snowflake.
  3. Final Answer:

    Storing and analyzing data in the cloud -> Option C
  4. Quick Check:

    Snowflake = Data storage and analysis [OK]
Hint: Snowflake = cloud data storage and analysis [OK]
Common Mistakes:
  • Confusing Snowflake with app or web development tools
  • Thinking Snowflake manages network security
  • Assuming Snowflake is for designing websites
2. Which of the following is the correct way to describe Snowflake's architecture?
easy
A. Snowflake uses databases to hold data and warehouses to run queries
B. Snowflake uses virtual machines to host websites
C. Snowflake is a peer-to-peer file sharing system
D. Snowflake is a blockchain platform

Solution

  1. Step 1: Identify Snowflake's architecture components

    Snowflake separates storage (databases) and compute (warehouses) for queries.
  2. Step 2: Eliminate unrelated options

    Options B, C, and D describe unrelated technologies like web hosting, file sharing, and blockchain.
  3. Final Answer:

    Snowflake uses databases to hold data and warehouses to run queries -> Option A
  4. Quick Check:

    Architecture = Databases + Warehouses [OK]
Hint: Snowflake splits storage and compute: databases and warehouses [OK]
Common Mistakes:
  • Mixing Snowflake with web hosting or blockchain
  • Confusing compute with storage roles
  • Thinking Snowflake is a file sharing system
3. Consider this Snowflake feature: You can increase or decrease resources anytime and pay only for what you use. What is this feature called?
medium
A. Fixed provisioning
B. Static allocation
C. Manual backup
D. Auto-scaling

Solution

  1. Step 1: Understand resource scaling in Snowflake

    Snowflake allows dynamic adjustment of compute resources based on demand.
  2. Step 2: Match feature to correct term

    Auto-scaling means resources adjust automatically; fixed provisioning and static allocation do not allow this flexibility.
  3. Final Answer:

    Auto-scaling -> Option D
  4. Quick Check:

    Dynamic resource adjustment = Auto-scaling [OK]
Hint: Dynamic resource changes = Auto-scaling [OK]
Common Mistakes:
  • Confusing auto-scaling with manual backup
  • Thinking fixed provisioning allows dynamic scaling
  • Mixing static allocation with pay-as-you-go
4. You wrote a query in Snowflake but it runs very slowly. Which of these is a likely cause?
medium
A. The warehouse size is too small for the query workload
B. Snowflake does not support SQL queries
C. Data is stored on your local computer
D. Snowflake requires manual server restarts before queries

Solution

  1. Step 1: Analyze query performance factors

    Warehouse size controls compute power; too small means slower queries.
  2. Step 2: Check incorrect statements

    Snowflake supports SQL, stores data in cloud, and does not need manual restarts.
  3. Final Answer:

    The warehouse size is too small for the query workload -> Option A
  4. Quick Check:

    Small warehouse = slow queries [OK]
Hint: Small warehouse slows queries; increase size [OK]
Common Mistakes:
  • Believing Snowflake lacks SQL support
  • Thinking data is stored locally
  • Assuming manual restarts are needed
5. You want to analyze a large dataset quickly but only pay for the time you use. How should you configure Snowflake to achieve this?
hard
A. Store data locally and run queries on your computer
B. Use a large warehouse and pause it when not running queries
C. Use a small warehouse and keep it running 24/7
D. Manually copy data to multiple warehouses

Solution

  1. Step 1: Choose warehouse size for fast analysis

    A large warehouse provides more compute power for quick queries.
  2. Step 2: Manage cost by pausing warehouse

    Pausing warehouse when idle stops billing, so you pay only for usage time.
  3. Final Answer:

    Use a large warehouse and pause it when not running queries -> Option B
  4. Quick Check:

    Large + pause = fast and cost-efficient [OK]
Hint: Big warehouse + pause = speed and pay only when used [OK]
Common Mistakes:
  • Keeping small warehouse always running wastes time
  • Storing data locally defeats cloud benefits
  • Copying data manually is inefficient and costly