Cloud Architecture Guide

Snowflake Architecture Guide

Snowflake's three-layer architecture (storage, compute, services) changed how teams think about data platforms. This guide covers design patterns, warehouse sizing, cost optimization, and real implementation strategies.

20 min readFor Data Engineers & Architects

See it as a diagram

Everything below, as a diagram you can edit. Describe yours and see it in seconds.

107/20003 credits left
Try:

No account needed · Editable canvas, not a picture

1. Three-Layer Architecture

Snowflake's architecture separates storage, compute, and services into independent layers. This is the key innovation — each layer scales independently without affecting the others.

Storage Layer

Compressed columnar storage in S3/Azure Blob/GCS. You pay for data stored, not for compute. Automatic micro-partitioning.

Compute Layer

Virtual warehouses (clusters) that spin up/down independently. Each warehouse has its own cache and resources.

Cloud Services

Query parsing, optimization, metadata, security, RBAC, and result caching. Always running, minimal cost.

2. Virtual Warehouse Design

Common Mistake: One Warehouse For Everything

Don't run ETL and BI queries on the same warehouse. Heavy transformations will slow analyst dashboards. Separate by workload.

WarehouseSizeAuto-SuspendUse Case
ETL_WHLarge / XL1 mindbt models, Airflow jobs
BI_WHMedium5 minLooker, Tableau, Metabase
ADHOC_WHSmall1 minAnalyst exploration
ML_WHXL (Snowpark)1 minML training, feature engineering

3. Data Sharing

Snowflake Data Sharing is a game-changer: share live, read-only data with other accounts without copying or ETL. The consumer queries the provider's storage directly.

Secure Data Sharing

Share specific databases/schemas with named accounts. No data movement, always fresh, zero-copy.

Data Marketplace

List datasets on Snowflake Marketplace for external consumption. Monetize your data assets.

Cross-Region Replication

Replicate databases across regions for disaster recovery and low-latency access in multiple geographies.

Reader Accounts

Share data with non-Snowflake customers via managed reader accounts. You pay their compute.

4. Cost Optimization

1

Right-size warehouses — start small, scale up based on queue depth

2

Auto-suspend warehouses after 1-5 min of inactivity

3

Set resource monitors with credit alerts at 80%

4

Use clustering keys for tables > 1TB with predictable filters

5

Separate ETL and BI into different warehouses

6

Leverage result caching (free re-execution within 24h)

7

Monitor queries with QUERY_HISTORY and WAREHOUSE_METERING_HISTORY

8

Use Snowpipe for continuous ingestion (cheaper than batch)

5. Common Design Patterns

Medallion Architecture

Bronze → Silver → Gold layers in Snowflake databases. Raw ingestion, cleaned/conformed, and business-ready datasets.

Hub-and-Spoke

Central data team manages shared datasets. Domain teams have their own schemas/warehouses for domain-specific models.

Data Mesh on Snowflake

Each domain gets their own database/schema with cross-database sharing. Federated governance via roles and policies.

Real-Time + Batch Hybrid

Snowpipe for streaming ingestion, dbt for batch transformations. Combine near-real-time and scheduled processing.

6. FAQ

What is Snowflake architecture?
A hybrid architecture with three independent layers: Storage (cloud object stores), Compute (virtual warehouses), and Cloud Services (query optimization, security). Each scales independently.
How do you optimize Snowflake costs?
Right-size warehouses, auto-suspend after 1-5 min, set resource monitors, use clustering keys for large tables, separate workloads, and leverage result caching.
What is Snowflake Data Sharing?
Zero-copy data sharing between Snowflake accounts. Consumers query the provider's storage directly — no ETL, no data movement, always fresh data.

Diagram your Snowflake architecture

AI-powered architecture diagrams with Snowflake icons. Map warehouses, databases, pipelines, and data flows.

Try Datadef Free