Arquitectura de Snowflake
Separacion de almacenamiento, computo y cloud services; efectos practicos en escalado, cache y ejecucion.
Conceptos que debes poder reconocer y distinguir:
- Storage layer
- Query processing layer
- Cloud services layer
- Micro-partitions
- Separacion de storage y compute
- Caches por capa
Usa los enlaces oficiales de Snowflake de esta unidad para ampliar cada concepto y contrastar su comportamiento.
El manual base insiste en una idea central: Snowflake separa almacenamiento persistente, recursos de computo y servicios cloud. Esa separacion permite que distintos warehouses consulten los mismos datos sin competir por la misma CPU y sin duplicar tablas.
La storage layer guarda datos en micro-particiones columnares, comprimidas e inmutables. El usuario no administra archivos fisicos, particiones manuales ni indices B-tree tradicionales.
Modelo de tres capas
| Capa | Que hace | Pista de examen |
|---|---|---|
| Database Storage | Persistencia en almacenamiento cloud gestionado por Snowflake | Escala sin redimensionar el warehouse |
| Query Processing | CPU, memoria y almacenamiento temporal para consultas, DML y cargas | Un warehouse no guarda una copia permanente de la tabla |
| Cloud Services | Autenticacion, optimizacion, metadata, transacciones y coordinacion | Puede resolver ciertas operaciones sin volver a ejecutar el plan completo |
Consecuencias practicas
- Escalar un warehouse mejora la capacidad por cluster; anadir clusters mejora sobre todo la concurrencia.
- La cache local pertenece al warehouse y se pierde al suspenderlo.
- El result cache persistido no es lo mismo que la cache local del warehouse.
- Que almacenamiento y computo esten separados no significa que todas las operaciones sean serverless.