Snowflake Overview & Key Concepts
Overview
Snowflake is a fully managed, cloud-native data platform provided as Software-as-a-Service (SaaS). For the SnowPro Core (COF-C03) exam, understanding Snowflake's fundamental architecture and value proposition is critical, as it forms the foundation for all other topics in Domain 1 (Snowflake AI Data Cloud Features & Architecture), which represents 31% of the exam.
Snowflake was built from the ground up for the cloud, differentiating itself from traditional on-premises data warehouses that were simply "lifted and shifted" to cloud infrastructure.
Key Concepts
Software as a Service (SaaS)
Snowflake is a true SaaS offering. This means:
- No Hardware to Install: There is no physical hardware to buy, configure, or manage.
- No Software to Install: There is no software to install, update, or patch. Snowflake handles all maintenance and upgrades transparently.
- Fully Managed: Snowflake manages the infrastructure, performance tuning, data protection, and availability.
Cloud-Agnostic
Snowflake can be deployed on any of the three major public clouds:
- Amazon Web Services (AWS)
- Microsoft Azure
- Google Cloud Platform (GCP)
This allows organizations to avoid vendor lock-in and adopt a multi-cloud strategy while maintaining a consistent data platform experience.
Multi-Cluster Shared Data Architecture
Snowflake's architecture is unique because it combines the best of two traditional architectures:
- Shared-Disk Architecture: Multiple nodes access the same centralized storage. Advantage: Single source of truth. Disadvantage: Contention when scaling compute.
- Shared-Nothing Architecture: Each node has its own local CPU and storage. Advantage: Scales out well. Disadvantage: Requires data redistribution (shuffling) when scaling.
Snowflake uses a hybrid approach: Multi-cluster shared data architecture. It has a central persistent storage layer (like shared-disk) that is accessed by multiple independent compute clusters (like shared-nothing).
How It Works
Snowflake's architecture is divided into three logically integrated but physically separated layers:
1. Storage Layer (Database Storage): A centralized repository for all data, stored in cloud object storage (e.g., Amazon S3, Azure Blob, GCS).
2. Compute Layer (Query Processing): Virtual Warehouses (MPP compute clusters) that execute queries against the data in the storage layer.
3. Cloud Services Layer: The "brain" that coordinates everything (authentication, metadata, query optimization, caching).
Separation of Storage and Compute
The most important architectural feature of Snowflake is the complete separation of compute and storage.
- They scale independently. You can add more compute without adding storage, and vice-versa.
- They are billed independently.
- Multiple compute clusters can access the same centralized storage simultaneously without contention.
SQL Examples
-- Check your current Snowflake version
SELECT CURRENT_VERSION();
-- Check the cloud region your account is hosted in
SELECT CURRENT_REGION();
-- View your current account name
SELECT CURRENT_ACCOUNT();
Exam Tips
⚠️ Crucial for COF-C03:
- Remember that Snowflake does not run on on-premises infrastructure. It is cloud-only.
- Understand the difference between Shared-Disk and Shared-Nothing, and how Snowflake is a hybrid.
- The phrase "Separation of Storage and Compute" is the answer to many architecture benefit questions (e.g., "Why can multiple teams run heavy queries without impacting each other?").
- Snowflake handles all maintenance, indexing (micro-partitioning), and tuning.
Key Takeaways
- Snowflake is a true SaaS data platform.
- It operates on AWS, Azure, and GCP.
- Its core innovation is the Multi-cluster Shared Data Architecture (hybrid of shared-disk and shared-nothing).
- Storage and compute are completely decoupled, scaling and billing independently.