[ Raw Ingestion Source ] │ ▼ ┌─────────────────────────────────┐ │ STAGING LAYER │ <-- Raw tables, VARIANT JSON loads └─────────────────────────────────┘ │ ▼ ┌─────────────────────────────────┐ │ INTEGRATION LAYER │ <-- Data Vault 2.0 or 3NF (Historical Core) └─────────────────────────────────┘ │ ▼ ┌─────────────────────────────────┐ │ PRESENTATION LAYER │ <-- Star Schema / Dimensional Kimball Marts └─────────────────────────────────┘ │ ▼ [ BI Reporting / Data Science Tools ]
An elegant logical model can still run slowly if physical optimization strategies are ignored. Focus on these core pillars: 1. Leverage Search Optimization Service (SOS)
When it comes to data modeling with Snowflake, there are several best practices to keep in mind:
Manages metadata, security, access control, and query optimization.
Useful for highly normalized data, but can lead to complex joins that increase compute costs.
2. Choosing the Right Framework: Dimensional vs. Data Vault vs. One Big Table
Snowflake utilizes a disaggregated architecture consisting of three distinct layers:
Let Snowflake handle natural clustering first, and apply explicit clustering keys only when performance drops on multi-terabyte tables.