Source of raw transaction files
Data / Knowledge library
Snowflake
cloud data warehouse, storage/compute separated
Why learn Snowflake?
Where enterprise analytics lives now. Understanding it (vs Postgres) teaches the OLTP/OLAP split — a core architecture concept.
Where it came from
Rebuilt the data warehouse for the cloud: storage and compute scale independently, billed by the second. Its 2020 IPO was the largest software IPO ever at the time.
Build your understanding
Work through these exercises in order. Try the task before opening a reference.
- Explain OLTP vs OLAP with examples.
- Describe virtual warehouses & auto-suspend.
- Load a CSV into a stage and query it.
- Explain time travel & zero-copy cloning.
- Design a cost-control strategy for a team.
Documentation and sources
- Official documentation / standards body (docs.snowflake.com)
Connect the ideas
Built on
Alternatives
Explore next
Real World Example
Decoupled Inventory Analytics for Global Retail
A global retail chain managing millions of SKU-level transactions across diverse regional markets.
The business problem
The company suffers from resource contention where heavy analytical reporting jobs interfere with real-time inventory updates, leading to stale data and operational bottlenecks.
How this topic solves it
Snowflake architecture decouples storage from compute, allowing the retail chain to assign independent virtual warehouses to ingestion pipelines and analytical workloads, ensuring that resource-heavy reporting does not impact data loading performance.
- Provision separate virtual warehouses for the ingestion layer and the reporting layer.
- Create a database schema to house raw transaction logs and refined analytical tables.
- Configure a COPY INTO command to load data from cloud storage into the raw ingestion table.
- Define a materialized view on the reporting warehouse to aggregate inventory levels for dashboard consumption.
- Grant usage privileges on specific warehouses to the respective service accounts for ingestion and analytics.
Shows how data flows from storage into isolated compute resources.
Dedicated compute for loading
Centralized persistent data layer
Dedicated compute for analytics
- Cloud Storage → COPY INTO → Ingestion Warehouse
- Ingestion Warehouse → Write → Snowflake Storage
- Snowflake Storage → Read → Reporting Warehouse
Implementation example
This code demonstrates the creation of isolated virtual warehouses to separate ingestion tasks from analytical reporting tasks, preventing resource contention.
-- Create separate compute resources for isolation
CREATE WAREHOUSE ingestion_wh WITH WAREHOUSE_SIZE = 'XSMALL';
CREATE WAREHOUSE reporting_wh WITH WAREHOUSE_SIZE = 'MEDIUM';
-- Load data using the ingestion warehouse
COPY INTO raw_inventory FROM @my_stage;
-- Aggregate data using the reporting warehouse
CREATE MATERIALIZED VIEW daily_stock AS SELECT sku, sum(qty) FROM raw_inventory GROUP BY sku;Expected business outcome
The retail chain achieves consistent data availability for dashboards without latency spikes during peak transaction ingestion periods.
Limitations and checks
Materialized views incur additional storage costs and background maintenance overhead; check the SYSTEM$CLUSTERING_INFORMATION function to monitor if the maintenance cost outweighs the query performance benefit.