No history yet

Snowflake Architecture

A Different Blueprint

Traditional data warehouses often couple storage and compute resources together. This means if you need more processing power, you're forced to buy more storage, and vice versa. It’s like having to buy a whole new car just because you need bigger tires. Snowflake's architecture fundamentally breaks this model.

One of Snowflake’s foundational architectural principles is the separation of storage and compute.

This design is called a multi-cluster shared data architecture and it's built around three distinct, independently scalable layers: storage, compute, and cloud services. Each layer can grow or shrink on its own, providing flexibility that was previously unheard of in data warehousing. Let's break down each layer.

This visual separation is the key to understanding Snowflake's power.

The Three Layers

1. Data Storage Layer When you load data into Snowflake, it’s automatically optimized and stored in a compressed, columnar format. The data is organized into immutable micro-partitions, which are small, individually managed blocks of data. This structure is invisible to you as a user but is crucial for performance. It allows Snowflake to quickly prune unneeded data and scan only the relevant partitions for a given query.

All your data lives in this single, centralized storage layer, accessible by any compute resource you authorize. This eliminates data silos and the need to copy data between different systems for different tasks.

2. Compute Layer This is where the work happens. The compute resources in Snowflake are called . These are clusters of servers that execute your queries. Because they are separate from storage, you can have multiple warehouses of different sizes running simultaneously, all accessing the same data without competing for resources.

One team could be running a massive data loading job on a large warehouse, while another team runs business intelligence queries on a smaller one. They won't interfere with each other. You can also scale a warehouse up or down in seconds to match your workload, or even have it auto-suspend when idle to save costs.

For example, you might use an X-Small warehouse for simple queries, a Medium for your BI tool, and a 2X-Large for a complex data transformation job, all pointing to the same database.

3. Cloud Services Layer This is the brain of the operation. The Cloud Services layer is a collection of services that coordinate everything across the platform. It handles query optimization, metadata management, transaction management, and security. When you submit a query, this layer compiles it into an optimal execution plan and sends it to a virtual warehouse to be processed.

It's completely managed by Snowflake and runs on its own compute resources, so it doesn't consume credits from your virtual warehouses. This layer is what makes Snowflake feel like a single, cohesive system rather than a collection of separate parts.

The Benefits of Separation

This three-tiered architecture delivers several powerful advantages that directly address the pain points of traditional systems.

Scalability & Elasticity: Need more processing power for a month-end report? Spin up a larger warehouse in seconds and then shut it down when you're done. Storage and compute scale independently, so you only pay for what you use, when you use it.

Concurrency: Since different virtual warehouses don't compete for resources, you can run many different workloads at the same time without performance degradation. Data engineers, data scientists, and business analysts can all work on the same data simultaneously without getting in each other's way. This high level of is a game-changer for busy organizations.

Fault Tolerance: The architecture is inherently resilient. Because the layers are decoupled, a failure in one compute cluster doesn't affect the others or the underlying data.

Now that you understand the blueprint, you're ready to see how data moves in and out of the platform.

Let's test your understanding of these core architectural concepts.

Quiz Questions 1/5

What is the core architectural principle that distinguishes Snowflake from traditional data warehouses?

Quiz Questions 2/5

In Snowflake, the compute resources used to execute queries are called __________.

Understanding this architecture is the key to mastering everything else in Snowflake.