Snowflake is a Software as a Service (SaaS) platform that enables data storage and processing. There is no hardware or software to install or manage. You simply use the software as it is provided to you. An advantage of using this SaaS offering means Snowflake handles all the ongoing maintenance and upgrades which leaves you free to focus on your workload.
There are 3 layers to Snowflake’s architecture:
Database Storage – This is where all the loaded data is held in cloud storage. Snowflake reorganizes the data and handles all aspects of storage including the file size, structure, and metadata. This allows for optimization.
Query Processing – This is often referred to as the compute layer. It consists of virtual warehouses. These virtual warehouses are massively parallel processing (MPP) compute clusters. Without delving too far into MPP, the computer nodes divide the workload between units which allows for query results to be very fast. As each data warehouse is an independent compute cluster, organisations can also have several teams or individuals working on the same data without a lag, queue, or strain on resources.
Cloud Services – This is a collection of services that coordinate activities through SQL to process user requests. The services managed in this layer include authentication, infrastructure management, and query parsing.
These layers come together to allow you to use Snowflake to store huge quantities of data, manage data pipelines to transform and optimize data for analysis, run simple to complex queries and more.