
Learn why traditional data warehouses required painful trade-offs between performance and cost, and why Snowflake's design eliminates them. You'll understand the core problem every data team faced before cloud-native warehouses existed.
Explore Snowflake's three layers: Cloud Services (authentication, metadata, query optimization), Virtual Compute (elastic processing), and Storage (infinite, decoupled object storage). You'll see how separation of compute and storage changes everything.
Discover how Snowflake automatically organizes data into 50–500MB compressed columnar micro-partitions, enabling automatic pruning that skips entire chunks of data without any indexes to maintain.
Compare Snowflake's four editions (Standard, Enterprise, Business Critical, VPS) and understand which features each unlocks. Learn the region and cloud provider decisions that affect latency, compliance, and cost.
Before starting any lab exercise in this course, run this one-time setup script in your Snowflake account.
The script creates the SNOWBRIX_LAB_1002 database with all tables and sample data used across every module — customers, orders, raw
events, JSON payloads, and more.
Steps:
1. Log in to your Snowflake account
2. Open a new worksheet
3. Download the attached snowflake_setup.sql file
4. Paste the full script into the worksheet
5. Set your role to ACCOUNTADMIN and run it
6. Setup takes approximately 30 seconds
Once complete, set this context before each lab:
USE ROLE LAB_STUDENT;
USE WAREHOUSE LAB_WH;
USE DATABASE SNOWBRIX_LAB_1002;
USE SCHEMA LAB;
You are now ready to run any lab exercise in the course.
Write your first CREATE WAREHOUSE statement with the four settings that matter: size, auto-suspend, auto-resume, and scaling policy. Learn why starting at XS and scaling up beats guessing big from the start.
Understand how multi-cluster warehouses automatically spin up additional clusters when query queues form, eliminating the Monday morning concurrency problem without any code changes.
Learn the production pattern of using separate warehouses for separate workloads — ETL, BI queries, ad-hoc exploration — so one runaway query never kills everyone else's dashboards.
Get a clear mental model of Snowflake's credit system: 1 XS warehouse = 1 credit/hour, with each size doubling. You'll be able to estimate compute cost before you build, not after the bill arrives.
Learn the three types of Snowflake stages (internal, external S3/Azure/GCS, and table stages) and how they act as the loading dock between your source files and your tables.
Write COPY INTO statements that load CSV, JSON, and Parquet files from stages with full control over file format, error handling, and partial load behavior. The command that handles 90% of real-world ingestion.
Automate file ingestion so every new file arriving in S3 or Azure Blob triggers a load within minutes — no cron jobs, no schedulers, no infrastructure to manage.
Store and query JSON, Avro, ORC, and Parquet natively using Snowflake's VARIANT column. Learn dot-notation and colon syntax to flatten nested structures without pre-defining a schema.
Replace nested subqueries with Common Table Expressions that read like a story. Learn how CTEs improve maintainability, enable reuse within a query, and how Snowflake optimizes them at execution time.
Master ROW_NUMBER, RANK, LAG, LEAD, and running totals using OVER() and PARTITION BY. Window functions let you compute across rows without collapsing them — the single skill that separates junior from senior analysts.
Use Snowflake's QUALIFY clause to filter window function results in a single query — eliminating the subquery wrapper that every other database requires. Deduplicate tables and find top-N records in half the SQL.
Read the Query Profile to identify bottlenecks — table scans, expensive joins, spills to disk. Learn how micro-partition pruning works, and when clustering keys improve performance on very large tables.
Create Streams that track every INSERT, UPDATE, and DELETE on any Snowflake table. Learn how METADATA$ACTION and METADATA$ISUPDATE let you process only changed rows — the foundation of efficient incremental pipelines.
Schedule any SQL statement — including MERGE operations — using Tasks with cron or interval schedules. Build multi-step pipelines using task DAGs without a single external dependency.
Define transformation logic once with a SELECT statement and let Snowflake handle the incremental refresh schedule automatically. Dynamic Tables are the declarative alternative to Streams + Tasks.
Compare all three CDC patterns side by side: Streams + Tasks (full control), Dynamic Tables (declarative), and Snowpipe (event-driven ingestion). Walk away with a framework to choose the right pattern for any pipeline.
Design a role hierarchy using USERADMIN, SYSADMIN, and custom roles. Learn how GRANT and REVOKE work, and why the functional role → data role → object privilege pattern prevents the "give everyone ACCOUNTADMIN" anti-pattern.
Mask PII columns dynamically based on the querying user's role — the same table returns real data to authorized users and masked data to everyone else. Add Row Access Policies to filter rows by user or role at query time.
Restrict Snowflake access to approved IP ranges using Network Policies. Learn MFA enforcement, SSO/SAML configuration, and the session policies that reduce exposure without disrupting workflows.
Query Snowflake's ACCESS_HISTORY view to answer any auditor's question: who accessed which columns, when, and from which role. Build the compliance report before the audit — not during it.
Recover from accidental deletes and drops using AT and BEFORE clauses to query or restore historical table states. Learn retention window configuration and the UNDROP command that brings back entire schemas.
Clone tables, schemas, and entire databases instantly using CLONE — no data is physically copied until modifications are made. The safest, fastest way to create dev and test environments from production.
Share live Snowflake data with partner organizations using Shares and the Data Marketplace — no extract, no transfer, no copy. Consumers query your data directly with their own compute, always seeing the latest version.
A decision matrix for all three operational features: when to use Time Travel vs. cloning vs. sharing, with the exact SQL syntax for each scenario. Use this as your daily reference.
Write Python DataFrames using the Snowpark API that execute as SQL inside Snowflake's compute engine — no data movement, no memory limits. The modern replacement for extracting data to pandas.
Call LLMs, run sentiment analysis, generate text summaries, and classify data using Snowflake Cortex functions — all in pure SQL, with no Python or model infrastructure required.
Use Snowflake Notebooks for collaborative Python + SQL development and Streamlit in Snowflake to build data apps — all inside the platform, with no deployment infrastructure.
The five patterns responsible for 80% of surprise Snowflake bills: always-on warehouses, missing auto-suspend, full table scans, over-sized warehouses, and runaway Snowpipe loops — and exactly how to fix each one.
A back-of-napkin framework to estimate your Snowflake costs before a project starts: storage + compute + Snowpipe + data transfer. Stop discovering costs in the finance review and start predicting them in design.
Snowflake Cortex ships pre-built LLM functions you call with plain SQL. COMPLETE generates text, SUMMARIZE condenses it, TRANSLATE converts languages. This lesson shows the syntax, the models available, and the cost model that determines whether Cortex saves you money or wastes it.
Cortex Search creates a fully managed vector search service over your Snowflake tables. No embedding pipelines, no vector databases, no infrastructure. This lesson shows you how to create a search service, query it, and use it as the retrieval layer for RAG.
Beyond generation and search, Cortex ships purpose-built functions for sentiment analysis, text classification, and structured extraction from documents. This lesson covers SENTIMENT, CLASSIFY_TEXT, and EXTRACT_ANSWER — the functions that turn unstructured text into queryable columns.
Retrieval-Augmented Generation combines search with generation. Instead of asking an LLM to hallucinate, you retrieve relevant documents and feed them as context. This lesson builds a complete RAG pipeline on Snowflake: chunk your documents, create a Cortex Search service, retrieve context, and generate grounded answers with COMPLETE.
Most Snowflake tutorials teach you how to run a SELECT. This course teaches you how Snowflake thinks — and that changes everything.
You will leave knowing why Snowflake's 3-layer architecture outperforms every traditional warehouse, how to size and cost-control
virtual warehouses before you build, and how to load millions of rows without writing a scheduler. You will implement Change Data
Capture with Streams and Dynamic Tables, lock down production data with RBAC and column masking, and recover from a midnight DELETE
in under 3 minutes using Time Travel.
Every lesson opens with a real incident. Every pattern is production-grade. Every anti-pattern comes from an actual mistake that
cost someone credits.
What you will learn:
- Snowflake architecture: Cloud Services, Virtual Warehouses, micro-partitions, and partition pruning
- Virtual Warehouses: sizing, auto-suspend, multi-cluster scaling, workload isolation, and the credit model
- Data loading: internal and external stages, COPY INTO, Snowpipe continuous ingestion, and VARIANT columns for semi-structured
JSON and Parquet data
- Advanced SQL: CTEs, window functions, the QUALIFY clause, and Query Profile optimization
- Pipelines: Streams for change data capture, Tasks for scheduling, and Dynamic Tables for declarative pipeline management
- Security and governance: RBAC role hierarchy, column masking policies, row access policies, network policies, and ACCESS_HISTORY
for compliance auditing
- Time Travel, zero-copy cloning, and native data sharing with no ETL
- Modern development: Snowpark Python, Cortex AI LLM functions, Streamlit in Snowflake, and Notebooks
- Cost optimization: the five anti-patterns that waste thousands of dollars, and napkin math for estimating costs before you build
What you will build:
- A multi-warehouse architecture with workload isolation and auto-suspend
- A Snowpipe continuous ingestion pipeline triggered by cloud events
- A CDC pipeline using Streams + Tasks + MERGE for upsert workloads
- A GDPR-compliant platform using Row Access Policies + Column Masking + Access History
- A cost model to estimate spend before you provision anything
- Streamlit dashboards running inside Snowflake with Cortex AI sentiment scoring
Included: a 45-question practice test — 5 scenario-based questions per module — to verify you can apply what you learned, not just
recall it.
This course is for data engineers moving to Snowflake, analytics engineers who want to understand what runs under their SQL, and
architects designing a new Snowflake deployment.
This is the course that takes you from Snowflake user to Snowflake engineer.