3 Snowflake+Architecture
3 Snowflake+Architecture
Database Storage:
• Whenever data loading into snowflake,
• Stores table data and query results
• Snowflake stores this optimized in cloud storage.
• The Snowflake reorganizes
the data into its internal optimized, compressed, columnar format.
Data will be stored in columnar format
Data will be stored in micro partitions
• The data objects stored by Snowflake are not directly visible nor accessible by customers.
• They are only accessible through SQL query operations run using Snowflake.
Snowflake manages all aspects of how this data is stored i.e.
the data organization,
file size,
structure,
compression,
metadata,
statistics
We can define cluster keys on large tables for better performance.
Query Processing:
Query execution is performed by Query processing layer.
Query processing queries using "virtual warehouses".
Warehouses are required for queries, as well as all DML operations,
including loading data into tables.
A warehouse is defined by its size.
Each virtual warehouse is composed of multiple compute nodes allocated by
Snowflake from a cloud provider.
• On AWS they are a group of EC2 instances and on AZURE a
group of Virtual Machines
• Compute cost will be calculated on the basis of query execution
time on virtual warehouses
• Virtual Warehouses are considered as the muscle of the system
Note:
• Snowflake is not charging if we are querying the Metadata information
• Snowflake is not charging DDL statements also
Connecting to Snowflake
• 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.
• Through native connectors available in ETL tools (e.g. Datastage, Informatica)
Thank you