Are you looking for an article on snowflake architecture? Are you also looking for the components of snowflake architecture? If so, then you reached the right place. In this article, we will explore database storage, Query processing, and cloud services in detail.
A) What is the Architecture of Snowflake?
Snowflake architecture is a hybrid of a shared-nothing database and shared disk.
1. Snowflake uses a central data repository which is similar to shared-disk architecture.
2. Snowflake processes queries using massively parallel processing compute clusters. In this kind of architecture each node in the cluster, stores a portion of the entire data set. This is similar to shared-nothing architecture.
B) What are the components of Snowflake Architecture?
The components of snowflake architecture are as below
1. Database Storage
2. Query Processing
3. Cloud Services
Let's understand each of these components one by one
1. Cloud Services
It is the topmost layer in snowflake architecture. It consists of a collection of services that coordinates various activities across the Snowflake platform. The cloud services join various components of a snowflake in order to fulfill requests such as login or giving a response back to the user.
Here is the list of services that are handled in this layer.
1. Authentication
2. Infrastructure Management
3. Metadata Management
4. Query Parsing
5. Query optimization
6. Access Control
2. Query Processing
In this layer, query execution is handled. It is the most common and widely used component of the snowflake. The queries are processed using a virtual warehouse. Each virtual warehouse is massively parallel processing compute cluster. It consists of multiple compute nodes provided by snowflake from the cloud provider.
3. Database Storage
It is cloud storage where optimized data is stored. What is optimized data? The optimized data is nothing but the data which is reorganized by snowflake into the compressed and columnar format.
What are aspects handled by snowflake related to data? here is a list which is taken care of by snowflake
1. File Size
2. Structure of the data
3. Compression of the data
4. Metadata
5. Statistics of the data
6. Organization of the data
The important thing here is the data stored by snowflake is not visible or accessible directly by customers. It can only be accessed using SQL query operations.
Learn more about snowflake here