Course · Data platforms
Snowflake
Snowflake is a cloud data warehouse that separates storage from compute. Learn virtual warehouses, micro-partitions, pruning, caching and cost control.
- Lessons
- 12
- Interview questions
- 2
- Projects & case studies
- 3
- Reading time
- ~3 h
About this course
Snowflake is a managed cloud data warehouse. Data is stored once in compressed columnar micro-partitions, and any number of independent compute clusters, called virtual warehouses, can query it. Most performance and cost questions come down to two things: how much data a query can skip, and how warehouses are sized and suspended.
Learn the three-layer architecture and virtual warehouses first, then micro-partitions, pruning and clustering.
Your progress
Saved in this browser onlyPractise
- InterviewSnowflake interview questionsThe full list with difficulty, type and a box to tick off each one.
- Cheat sheetSnowflake Cheat SheetA quick Snowflake reference: warehouses, loading data, time travel, cloning, clustering, query profiling and the habits that keep compute costs under control.
- InterviewAll interview questionsEvery question across all topics in one filterable list.
Course structure
Lessons
Work through the lessons in order. Completed lessons show a tick; lessons you have opened are outlined.
Start here
The complete overview of the course in one read.
Beginner
Core concepts you will use every day.
- Snowflake Architecture: Storage, Compute and Cloud ServicesHow Snowflake's storage, compute and cloud services layers fit together: micro-partitions, virtual warehouses, metadata, editions, credits and the three caches.
- Loading Data into Snowflake: Stages, COPY INTO and SnowpipeLoad files into Snowflake with file formats, internal and external stages and COPY INTO, then automate it with Snowpipe auto-ingest, the REST API and Snowpipe Streaming.
Intermediate
Patterns used in production pipelines.
- Snowflake Virtual Warehouses: Sizing, Scaling and ConcurrencySize Snowflake virtual warehouses, choose between scaling up and out, configure multi-cluster warehouses and auto-suspend, read queueing and set resource monitors.
- Snowflake Micro-Partitions, Clustering and Search OptimizationHow Snowflake micro-partitions and their metadata drive pruning, how to measure clustering depth, when clustering keys pay off, and when search optimization fits better.
- Snowflake Streams and Tasks: Change Data Capture and SchedulingUse Snowflake streams to capture inserts, updates and deletes, and tasks to process them on a schedule or trigger: offsets, staleness, task graphs and error handling.
- Snowflake Time Travel, Fail-safe and Zero-Copy CloningQuery and restore past data with Snowflake Time Travel, set retention by edition, understand the 7-day Fail-safe and use zero-copy clones safely.
- Snowflake Table Types and Semi-Structured Data: VARIANT, FLATTEN, Dynamic and Iceberg TablesChoose between permanent, transient, temporary, external, dynamic and Iceberg tables in Snowflake, and query JSON with VARIANT paths and FLATTEN.
- Snowflake vs Databricks: How to Compare ThemA neutral framework for comparing Snowflake and Databricks: workloads, data formats, governance, operations, skills and cost, instead of a winner-takes-all verdict.
Advanced
Performance, internals and edge cases.
- Snowflake Security: RBAC, Masking, Row Access Policies and Network PoliciesDesign Snowflake access control with roles and ownership, protect data with masking, row access policies and secure views, and lock down network access.
- Snowflake Cost Optimization: Credits, Right-Sizing and Storage CostsFind where Snowflake credits go with ACCOUNT_USAGE, right-size warehouses, tune auto-suspend, avoid spilling, and control storage and materialized view costs.
- Snowflake Data Sharing, Reader Accounts and the MarketplaceShare live Snowflake data without copying it: shares and grants, reader accounts, Marketplace listings, exchanges, and sharing across regions and clouds.
Projects and case studies
Apply what you learned and prepare material to discuss in interviews.
Projects
System design case studies
- AdvancedDesign a CDC Pipeline from an OLTP Database to the WarehouseReplicate inserts, updates and deletes from a production PostgreSQL (or MySQL) database into the analytics warehouse within minutes, keeping both a current-state copy and a change history, without adding query load to the source or losing a single change.
- IntermediateDesign a Cloud Data Warehouse PlatformDesign a cloud data warehouse that consolidates data from SaaS tools and operational databases so a mid-sized company can run trusted reporting and self-service analytics.
Resources
Cheat sheets
Related courses
- SQLSQL is the core language of data work: querying, transforming and modelling data in warehouses, lakehouses and Spark. Start here before any other tool.
- Data modelingData modeling and warehousing: star schemas and grain, fact and dimension design, SCDs, Data Vault and other methods, dbt, semantic layers and incremental models.
- ETL and ELTETL transforms data before loading it; ELT loads first and transforms inside the warehouse or lakehouse. Learn when each fits.