Snowflake Decoded - Fundamentals and hands on Training
4.4 (1,954 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
7,300 students enrolled

Snowflake Decoded - Fundamentals and hands on Training

Master the Fundamental Snowflake concepts & acquire the necessary skills to start implementing Snowflake based solutions
4.4 (1,954 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
7,293 students enrolled
Created by Hamid Qureshi
Last updated 6/2020
Current price: $20.99 Original price: $29.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 4.5 hours on-demand video
  • 32 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Snowflake Essentials, it's unique architecture & its differentiation
  • Scalability through the virtual warehouse compute clusters
  • Staging & Ingesting bulk & streaming data from cloud storage
  • Unique features such as zero copy clones, time travel
  • Snowflake value proposition through its pricing model
  • Secure data sharing with snowflake & non-snowflake users
  • Familiarity with database & data warehousing concepts
  • Familiarity with SQL

This course is not affiliated with Snowflake (the company).

This course provides Snowflake concepts & hands on expertise to help get you started on implementing solutions using Snowflake. This course reinforces the learning through hands on labs, assignments & quizzes.

At a high level we will go through the following topics

Introduction -  A bit of history about snowflake & its differentiation.

Getting Started with Snowflake - Sign up for a snowflake trial, setup the required tools and will create & load our first table into Snowflake

Architecture - A look into the snowflake concepts, how the snowflake decoupled architecture differs from the traditional database architectures. We will explore how Snowflake virtual warehouses allow scaling up and down of compute as per demand.

Getting data into Snowflake - We will explore the ingestion or loading methods available in Snowflake i.e. bulk copy & snowpipe. We will stage the data in an S3 bucket and load into Snowflake table using both bulk copy and snowpipe. We will also explore ways to load semi structured data like JSON into Snowflake.

Time Travel & Zero Copy Clones - Time travel & cloning is a very powerful feature unique to Snowflake. We will explore how time travel can help you recover data before a query was run or before a specific time. Combine time travel with cloning and you can create new tables which contain data back in time, and all that without incurring additional storage cost.

Secure Data Sharing - Snowflake based solutions can easily share data with other Snowflake users as well as non Snowflake users. We will explore ways on how to share your data and also how the sharing reuses existing storage.

Who this course is for:
  • Snowflake beginner to intermediate skills.
  • Basic knowledge of databases & data warehousing
Course content
Expand all 65 lectures 04:20:46
+ Getting Started with Snowflake
7 lectures 17:07

This lecture guides through the signup process for snowflake trial version on the Cloud platform of your choice.

Signup for Snowflake

How to download resources such as SQL used in practical lectures.

Downloading Resources for this course

Some students encounter lower quality of video in the video lecture based on the bandwidth available. This lecture lists down the actions you can take to improve the video quality.

What to do if you encounter low video quality in a lecture?

This hands on video guides you through creating our very first snowflake database & our first tables which we will use in the next lecture

Creating our first Database & Table

This hands on video demonstrates and guides you through loading a simple data set into a table

Load Data into our first table

This lecture describes at a highlevel Snowflake's innovative pricing strategy which charges the customer only for actual storage & compute used

Snowflake Pricing Overview

During this hands on lecture we will download and setup the snowflake tools & connectors that we will be using later during the lecture.

Setting up Required Snowflake tools
In this assignment you will create a table, load some data and query the table to count the number of rows loaded.
Create, load & query a table
1 question
+ Snowflake Concepts
5 lectures 33:55

In this optional lecture we will explore the concept of a data warehouse and how it is structured & the concept of stage. If you are already aware of the concepts please feel free to skip this lecture.

Optional: What is a data warehouse?

In this optional lecture we will explore the concept of a cloud computing, why it was needed and the advantages it brings. We will also look at the various flavours of offerings i.e. On-Premise, IaaS, PaaS, SaaS etc.. If you are already aware of the concepts please feel free to skip this lecture.

Optional: Why cloud computing?

This lecture describes the unique architecture that snowflake utilises, which enables a per second pricing and allows a snowflake to scale independent of storage

Preview 09:12

In this lecture we will explore the concept of multiple virtual warehouses and how it can help with the scalability. We will also create a new virtual warehouse as an example.

Virtual Warehouse & Scalability

A more detailed view of the snow flake pricing strategy explaining the storage pricing, the concept of snowflake credit & their relation with virtual warehouses.

Snowflake Pricing
Quiz - Snowflake Concepts
7 questions
+ Getting data into Snowflake
10 lectures 41:22

In this lecture we will learn about various ingestion methods that Snowflake supports including  methods such as copy into & snow pipe as well as external tables

Ingestion / Loading Methods

In this lecture we will explore the high level steps usually required for managing successful & ongoing data loads into Snowflake

4 Steps to Managing Loads

In this lecture we will go through the recommended practices for preparing your files for load. We will also generate a sample data set for loading into Snowflake.

Preparing your data

In this lecture we will upload our sample file to an S3 bucket and create a stage on top of the S3 bucket

Staging your data
Loading from an S3 stage

There are 4 or 5 high level steps that are required to process and load JSON data successfully in Snowflake. In this lecture we will go through those high level steps and follow that up with hands on lab.

Loading JSON data - high level steps

We are going to load a sample JSON file into a Snowflake table in this hands on lecture, following the 5 high level steps that we specified in the previous lecture,

Loading JSON data - hands on lab
In this assignment you will load JSON data into a Snowflake table
Load JSON data from an S3 bucket
2 questions

Near real time & streaming data is now becoming the norm in data warehouse implementations. Snowpipe is a serverless component that enables loading of such data in a near real time manner. In this lecture we will go through an introduction of Snowpipe.

What is Snowpipe?

Loading streaming data via Snowpipe is almost as simple as using the COPY command with a few additional steps. In this lecture we will look at the high level steps that we must undertake to setup a functioning Snowpipe

Loading data via Snowpipe - high level steps

Let's create a new snow pipe, configure event notification on an S3 bucket and see real time data flow into the table.

Loading data via Snowpipe - hands on lab
Quiz - Data Ingestion Quiz
4 questions
+ Performance Optimisation
10 lectures 47:39

Snowflake provides some very simple yet effective approaches to improving performance of queries. In this lecture we will look at 5 ways through which performance can be improved.

Performance Optimisation in Snowflake

Allocating dedicated virtual warehouse is a simple yet effective method to immediately improve performance.  In this lecture we will explore how?

Using Dedicated Virtual Warehouses

Let's define some dedicated virtual warehouses and see the the concept in action through this hands on lecture.

Lab: Using Dedicated Virtual Warehouses

Up-sizing your virtual warehouse when faced with peak demand is a cost effective way of ensuring top performance. In this lecture we will explore scaling up & down of virtual warehouses to incorporate changing demands.

Scale up/down the virtual warehouse

What-if snowflake would take care of increasing & decreasing the virtual warehouses in your system. Meet "Multi-cluster virtual warehouses", through which you can set your snowflake system to scale out and scale back "automagically" in response to changing demands.

Multi-cluster virtual warehouse or Scaling Out

Let's define a multi-cluster virtual warehouse and see the scaling up and down in action.

Lab: Multi-cluster virtual warehouse

Query result caching is an effective way of ensuring performance without incurring extra costs. In this lecture we will look at what query caching is and how we can design to take advantage of it.

Maximise Cache usage

In this brief lab, we will see how Snowflake can return results without running a query through query caching.

Lab: Query Caching in Action

When tables become very large, you would usually want some control on their partitioning. Clustering keys is the way to define the partitioning schemes in Snowflake. In this lecture we will look at what clustering keys are and how do they improve performance

Preview 05:08

Let's define cluster keys for a very large table and see how does it impact the performance and the amount of data Snowflake has to scan for your queries.

Lab: Cluster keys for large tables
Performance Optimisation Quiz
5 questions
+ Time Travel, Failsafe & Zero Copy Clones
7 lectures 32:00

This lecture introduces the students to the concept of time travel in Snowflake, which enables users  to see their data as it was on a specific date/time or as it was before a query was executed.

Preview 02:18

This hands on lecture demonstrates time travel to a specific date & time as well as time travel to a state of data before a specific query was executed.

Travel to a specific time or before a query

This hands on lecture explains and demonstrates the unique undrop capability, which allows un-dropping databases, schemas & tables

Undrop databases, schema & tables
In this assignment you will test drive time travel features of Snowflake by going back in time before an accidental update query was run
Test drive the time travel
4 questions

Let's explore the fail safe feature unique to Snowflake, which provides protection against accidental data loss.

Failsafe in Snowflake

In this hands on lecture we will explore how we can view the storage used by fail safe

Lab: View storage used by Fail-safe
We will create a permanent and a transient table and load with data. Once the data is loaded we will delete all rows & see what the table, time travel & fail-safe storage usage is for each table after 1 day & after 2 days. This assignment needs waiting 24 hrs & then another 24 hrs to review storage.
Understanding storage used by Fail-safe
5 questions

This lecture introduces & demonstrates the concept of zero copy cloning of data in Snowflake.

Zero Copy Clone

This hands on lecture combines the concept of time travel and zero copy clone to create copies of data as at a specific date/time.

Cloning with Time Travel

This quiz tests the concepts learnt in the section on zero copy cloning & time travel

Quiz - Time Travel, Zero Copy Clones
5 questions
+ Secure Data Sharing
10 lectures 43:11

In this series of lectures we will explore the unique data sharing capabilities provided by Snowflake which enables easy, least effort sharing of data with other snowflake customers & even with non-snowflake users.

Preview 03:36

In this hands-on lecture we will share a simple table with another snowflake user. We will go through the process of defining & adding tables to a share, sharing it with another account and finally consuming the share using the target account.

Sharing with other Snowflake users

Demonstrating who's compute is used when the shared data is queried by the consumer

Sharing - who's compute is used?

Demonstrating that the shared data is always up to date for the consumer

Sharing - Data always up-todate

Having already performed hands on with sharing, lets explore a bit more on what comprises a snowflake share and what type of objects can be added to a share

What is a Share?

In this  lecture we will look at the concept of sharing data with non snowflake users and the high level steps required to shared data with non snowflake users

Sharing with non Snowflake Users

In this hands-on lecture we will share data with a non-snowflake user. We will go through the process of defining reader accounts, sharing data to those reader accounts and finally configuring and preparing the reader account for use by non-snowflake users.

Lab: Sharing with non Snowflake Users

In this hands on lecture we will go through the steps of sharing entire schemas and entire databases.

Lab: Sharing entire schemas & databases

Sharing views is just a little bit different from sharing ordinary tables. In this lecture we will go through hands on activities to share a view.

Lab: Sharing views

Throughout this section we have used SQL to make configuration changes related to sharing. We can also perform all those activities through the web user interface. In this lecture we will demonstrate some of the sharing actions done using the Web UI.

Using the Web UI to share
Quiz - Secure Data Sharing
5 questions
+ Snowflake Access Management
13 lectures 40:56

We will explore Snowflake's approach to Access control i.e. RBAC & DAC and will also understand key concepts such as User, Role, Privileges & Secureable Objects

Snowflake Approach to Access Control & Key Concepts

Snowflake provides certain out of the box roles that come with every Snowflake instance. We will review and understand the significance of these roles in this lecture.

Out of the Box Snowflake Roles

The out of the box roles as well as the custom roles are organised in a role hierarchy to simplify management and access for administrative functions. In this lecture we will investigate how the role hierarchy works.

Role Hierarchy in Snowflake

The most powerful role in a Snowflake instance is the ACCOUNTADMIN role. In this lecture we will look at what are the privileges available to this role and the Do's and Dont's of this role


The hands on activities for this section are organised such that they all link together. In this lecture we will look at the outline of the activities that we will perform in the coming lectures.

Outline of the IAM hands on lectures

In this hands on lecture we will test drive the ACCOUNTADMIN role demonstrating the functions that only an ACCOUNTADMIN role can perform

Lab: Demonstrating ACCOUNTADMIN role

The SECURITYADMIN role is mainly used for user & role management. In this lecture we will discuss the privileges available to the SECURITYADMIN role.


In this hands on lecture we will test drive the SECURITYADMIN role demonstrating the functions that a SECURITYADMIN role can perform. We will also create a set of users & roles which will be used further in this section.

Lab: Demonstrating SECURITYADMIN role

The SYSADMIN role is used to manage objects such as databases, tables, virtual warehouse.


In this hands on lecture we will test drive the SYSADMIN role demonstrating the functions that a SYSADMIN role can perform. We will create database & warehouse objects & grant access to custom roles

Lab: Demonstrating SYSADMIN role

Let's use some of the custom roles that we have previously created and investigate how does the access & privileges work with custom roles.

Lab: Demonstrating use of the Custom Roles

We have already created some custom roles in the hands on lectures. What are some of the characteristics of custom roles? Let's find out.

Custom roles

The role that is available to every user in a Snowflake system, PUBLIC. We will briefly look at what is the PUBLIC role and how we can use it to manage security & privileges.

In this assignment, students will create a new custom role and assign it appropriate privileges as well as set it up correctly in the role hierarchy. The custom role will need to be made the default role for a new user.
Assign privileges through a new custom role
2 questions
Quiz - Snowflake Access Management
5 questions
+ Conclusion & Mega Quiz
1 lecture 00:27

This quiz tests the Snowflake concepts learnt through this course

Mega Quiz
15 questions