Snowflake no es simplemente una base de datos en la nube. Es una plataforma diseñada desde cero para entornos cloud, con separación total entre almacenamiento y cómputo, escalabilidad horizontal y alta concurrencia.
En este artículo analizamos cómo funciona la arquitectura de Snowflake y por qué es clave para el rendimiento, coste y gobernanza.
Los tres pilares de la arquitectura de Snowflake
La arquitectura de Snowflake se basa en tres capas principales:
- Storage Layer
- Compute Layer
- Cloud Services Layer
Cada una cumple un rol específico dentro del sistema.
1️⃣ Storage Layer (Capa de almacenamiento)
Snowflake almacena los datos en almacenamiento cloud (S3, Azure Blob o GCS, según la nube).
Características principales:
- Datos organizados en micro-particiones
- Almacenamiento comprimido y columnar
- Gestión automática (sin índices manuales)
- Time Travel y Fail-safe integrados
- Separado completamente del cómputo
Los datos son inmutables. Cuando se modifican, Snowflake genera nuevas micro-particiones.
Esto permite:
- Escalabilidad automática
- Eliminación de tuning manual
- Alto rendimiento en consultas analíticas
2️⃣ Compute Layer (Virtual Warehouses)
La capa de cómputo está compuesta por Virtual Warehouses.
Un Virtual Warehouse es un clúster independiente de recursos de cómputo que:
- Ejecuta consultas
- No comparte recursos con otros warehouses
- Puede escalar vertical u horizontalmente
- Puede auto-suspenderse
Ejemplo de creación:
CREATE WAREHOUSE analytics_wh
WITH
WAREHOUSE_SIZE = ‘MEDIUM’
AUTO_SUSPEND = 300
AUTO_RESUME = TRUE;
Ventajas clave:
- Concurrencia sin bloqueos
- Aislamiento entre cargas de trabajo
- Escalabilidad independiente
- Pago por uso real
Este aislamiento es una diferencia fundamental frente a sistemas tradicionales.
3️⃣ Cloud Services Layer
Esta capa coordina toda la plataforma y gestiona:
- Autenticación
- Metadatos
- Optimización de consultas
- Control de acceso
- Seguridad
- Gestión de transacciones
Es la capa que permite que todo funcione de forma transparente.
El usuario no interactúa directamente con ella, pero es crítica para:
- Gobierno del dato
- Gestión de roles
- Políticas de seguridad
- Resource monitors
Separación entre Storage y Compute: el punto clave
En sistemas tradicionales, almacenamiento y cómputo están acoplados. Esto genera:
- Cuellos de botella
- Problemas de concurrencia
- Escalado complejo
- Tuning constante
En Snowflake:
- El almacenamiento es único y compartido
- El cómputo es independiente
- Múltiples warehouses pueden consultar los mismos datos
- No hay bloqueos por recursos compartidos
Esto permite que distintos equipos trabajen simultáneamente sin interferirse.




