What is Snowflake?
Snowflake is an analytic data warehouse provided as Software-as-a-Service (SaaS). Snowflake provides a data warehouse that is faster, easier to use, and far more flexible than traditional data warehouse offerings.
Snowflake’s data warehouse is not built on an existing database or “big data” software platform such as Hadoop. The Snowflake data warehouse uses a new SQL database engine with a unique architecture designed for the cloud. To the user, Snowflake has many similarities to other enterprise data warehouses, but also has additional functionality and unique capabilities.
Data Warehouse as a Cloud Service:
Snowflake’s data warehouse is a true SaaS offering. More specifically:
- There is no hardware (virtual or physical) for you to select, install, configure, or manage.
- There is no software for you to install, configure, or manage.
- Ongoing maintenance, management, and tuning is handled by Snowflake.
Snowflake runs completely on cloud infrastructure. All components of Snowflake’s service (other than an optional command line client), run in a public cloud infrastructure.
Snowflake uses virtual compute instances for its compute needs and a storage service for persistent storage of data. Snowflake cannot be run on private cloud infrastructures (on-premises or hosted).
Snowflake is not a packaged software offering that can be installed by a user. Snowflake manages all aspects of software installation and updates.
Snowflake’s architecture is a hybrid of traditional shared-disk database architectures and shared-nothing database architectures. Similar to shared-disk architectures, Snowflake uses a central data repository for persisted data that is accessible from all compute nodes in the data warehouse. But similar to shared-nothing architectures, Snowflake processes queries using MPP (massively parallel processing) compute clusters where each node in the cluster stores a portion of the entire data set locally. This approach offers the data management simplicity of a shared-disk architecture, but with the performance and scale-out benefits of a shared-nothing architecture.
Connecting to Snowflake:
Snowflake supports multiple ways of connecting to the service:
- A web-based user interface from which all aspects of managing and using Snowflake can be accessed.
- Command line clients (e.g. SnowSQL) which can also access all aspects of managing and using Snowflake.
- ODBC and JDBC drivers that can be used by other applications (e.g. Tableau) to connect to Snowflake.
- Native connectors (e.g. Python) that can be used to develop applications for connecting to Snowflake.
- Third-party connectors that can be used to connect applications such as ETL tools (e.g. Informatica) and BI tools to Snowflake.
- Why cloud computing?
- What is data warehouse?
- What is Snowflake DWH?
- Snowflake Architecture.
- Virtual Warehouse & Scalability.
- Snowflake Pricing.
Section 1: Snowflake Getting Started
- Snowflake Web Sign Up
- Snowflake Introduction & Architecture
Section 2: Loading Data from Multiple Sources in Snowflake
- Different Data Loading Options in Snowflake
- Bulk Loading Using the COPY Command
- Load Data from S3 Bucket
- Loading JSON Data in Snowflake
- Snow pipe: Load data fast, analyze even faster
Section 3: Snowflake Time Travel and Some Other features
- Snowflake Querying Historical Data using Time travel.
- Zero Copy Clone
- Copy Clone with Time Travel
- Dropping and Restoring Objects
Section 4: Snowflake Data Sharing
- Snowflake Data Sharing
- Snowflake Secure Views
- Data sharing with Non-Snowflake Users
- Data Sharing using Web UI
Section 5: Snowflake SQL: DDL AND DML Commands
- Create database and table, Insert and Select Statement in SQL
- Truncate, Delete and Drop command
- Update command in SQL
- Alter Table Command in SQL
Section 6: Snowflake SQL: String & Date Time Functions
- Left, Right, Char index and Substring Function in SQL
- Concat, Repeat and Replace Function in SQL
- Date and Time Functions Part-01
- Date and Time Functions Part-02
Section 7: Snowflake SQL: Operators in SQL
- Basic Overview of Operators
- AND Operator
- OR Operator
- IN Operator
- Between Operator
- Like Operator
Section 8: Snowflake SQL: aggregate Functions
- Overview of Aggregate Function
- Group by Statement Explanation
- Having Clause
- Example of Aggregate Functions
Section 9: Snowflake SQL: Joins
- Inner Join
- Examples of Inner Join
- Outer Join
- Examples of Outer Joins
- Cartesian Product
Section 10: Snowflake SQL: Subquery
- Subquery Introduction
- Subquery with Select, From and Where Clause
- Subquery with INSERT, UPDATE, and DELETE
- Correlated Subquery
Section 11: Snowflake SQL: Analytical Functions
- Row Number
- Rank and Dense Rank Functions
- Rank and Dense Rank Example Part-01
- Rank and Dense Rank Example Part-02
- Cumulative Sum and Moving Average
- . Examples Cumulative Sum, Moving Average and Moving Count
Section 12: Snowflake SQL: Advanced Concepts
- Case statement
- Coalesce Function