A medida que las organizaciones aumentan su uso de Snowflake, una de las preguntas más frecuentes que surge entre administradores, Data Engineers y responsables financieros es muy sencilla:
¿Dónde se están consumiendo realmente los recursos?
Snowflake ofrece una enorme flexibilidad para escalar capacidad de procesamiento según las necesidades del negocio. Sin embargo, esa misma flexibilidad hace que sea fundamental supervisar el uso de la plataforma para comprender cómo se están utilizando los créditos, qué procesos consumen más recursos y dónde existen oportunidades de optimización.
Afortunadamente, Snowflake proporciona múltiples mecanismos para consultar el historial de uso, analizar patrones de consumo y mejorar la eficiencia operativa.
En este artículo veremos cómo acceder a esta información y cómo utilizarla para tomar mejores decisiones sobre rendimiento y costes.
¿Por qué es importante analizar el historial de uso?
En cualquier plataforma cloud, la observabilidad es una parte esencial de la gestión.
Sin visibilidad resulta difícil responder preguntas como:
- ¿Qué usuarios consumen más recursos?
- ¿Qué warehouses generan más costes?
- ¿Qué consultas son las más pesadas?
- ¿Existen procesos ineficientes?
- ¿Estamos utilizando correctamente la infraestructura?
Responder a estas cuestiones permite:
- Optimizar costes.
- Mejorar el rendimiento.
- Detectar problemas.
- Planificar capacidad.
- Aplicar estrategias FinOps.
Por este motivo, el análisis del historial de uso debería formar parte de cualquier estrategia de gobierno del dato.
El modelo de consumo de Snowflake
Antes de analizar el historial es importante recordar cómo funciona Snowflake.
El consumo se basa principalmente en créditos asociados a:
- Virtual Warehouses.
- Procesamiento de consultas.
- Servicios automáticos.
- Funcionalidades avanzadas.
Cuanto más tiempo permanezcan activos los recursos computacionales y mayor sea la carga de trabajo, mayor será el consumo acumulado.
Por ello resulta fundamental conocer exactamente qué está ocurriendo dentro de la plataforma.
Fuentes de información disponibles
Snowflake proporciona distintas vistas y tablas para consultar información histórica.
Entre las más utilizadas se encuentran:
- QUERY_HISTORY
- WAREHOUSE_METERING_HISTORY
- LOGIN_HISTORY
- ACCESS_HISTORY
- DATABASE_STORAGE_USAGE_HISTORY
Estas vistas permiten analizar diferentes aspectos del comportamiento de la plataforma.
Consultar el historial de consultas
Una de las primeras fuentes de información que suelen revisar los administradores es el historial de consultas.
Por ejemplo:
SELECT *
FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY
ORDER BY START_TIME DESC;
Esta vista proporciona información detallada sobre:
- Usuario.
- Fecha de ejecución.
- Duración.
- Estado.
- Consulta ejecutada.
- Recursos utilizados.
Resulta extremadamente útil para identificar consultas problemáticas o ineficientes.
Qué información ofrece QUERY_HISTORY
La vista QUERY_HISTORY contiene una enorme cantidad de información útil.
Algunos campos especialmente relevantes son:
- QUERY_ID
- USER_NAME
- WAREHOUSE_NAME
- DATABASE_NAME
- START_TIME
- END_TIME
- EXECUTION_STATUS
- TOTAL_ELAPSED_TIME
Gracias a estos datos es posible reconstruir con gran detalle la actividad realizada en la plataforma.
Analizar el consumo por warehouse
Los Virtual Warehouses son el principal origen del consumo computacional en Snowflake.
Para analizar su utilización podemos utilizar:
SELECT *
FROM SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_METERING_HISTORY;
Esta vista permite conocer:
- Créditos consumidos.
- Periodos de actividad.
- Uso histórico.
- Tendencias de crecimiento.
La información resulta especialmente valiosa para equipos de administración y FinOps.
Identificar warehouses infrautilizados
Uno de los problemas más habituales consiste en mantener warehouses sobredimensionados.
Por ejemplo:
- Warehouse XL para cargas pequeñas.
- Recursos activos durante largos periodos sin uso.
- Entornos de desarrollo olvidados.
Analizar el historial permite detectar estas situaciones y reducir costes innecesarios.
Consultar actividad de usuarios
También es posible analizar el comportamiento de los usuarios.
Por ejemplo:
SELECT
USER_NAME,
COUNT(*) AS total_queries
FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY
GROUP BY USER_NAME
ORDER BY total_queries DESC;
Esto ayuda a comprender:
- Quién utiliza más la plataforma.
- Qué equipos generan más actividad.
- Qué usuarios podrían requerir soporte adicional.
Supervisar accesos
Snowflake proporciona información detallada sobre autenticaciones y accesos.
Por ejemplo:
SELECT *
FROM SNOWFLAKE.ACCOUNT_USAGE.LOGIN_HISTORY;
Esta información resulta útil para:
- Auditorías.
- Seguridad.
- Cumplimiento normativo.
- Investigación de incidencias.
La visibilidad sobre los accesos forma parte esencial de cualquier estrategia de gobierno.
Analizar almacenamiento utilizado
Aunque el procesamiento suele ser el principal componente de coste, también resulta importante controlar el almacenamiento.
Snowflake permite consultar esta información mediante:
SELECT *
FROM SNOWFLAKE.ACCOUNT_USAGE.DATABASE_STORAGE_USAGE_HISTORY;
Esto facilita:
- Planificación de capacidad.
- Identificación de crecimiento acelerado.
- Optimización de datos históricos.
Casos de uso habituales
La consulta del historial de uso aparece constantemente en proyectos empresariales.
Optimización de costes
Identificar recursos que consumen más créditos de los necesarios.
Diagnóstico de rendimiento
Detectar consultas lentas o procesos ineficientes.
Auditorías
Revisar actividad realizada por usuarios específicos.
Gobierno del dato
Supervisar accesos y utilización de información crítica.
Planificación de infraestructura
Anticipar futuras necesidades de capacidad.
Resource Monitors y uso histórico
Una funcionalidad que complementa perfectamente el análisis histórico son los Resource Monitors.
Mientras el historial permite comprender qué ocurrió, los Resource Monitors ayudan a controlar el consumo futuro mediante:
- Alertas.
- Límites.
- Suspensiones automáticas.
La combinación de ambas herramientas proporciona un control mucho más completo sobre la plataforma.
Identificar consultas costosas
Una práctica muy recomendable consiste en analizar las consultas que más tiempo consumen.
Por ejemplo:
SELECT
QUERY_ID,
USER_NAME,
TOTAL_ELAPSED_TIME
FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY
ORDER BY TOTAL_ELAPSED_TIME DESC;
Estas consultas suelen representar oportunidades claras de optimización.
Pequeñas mejoras pueden generar importantes reducciones de costes cuando se ejecutan repetidamente.
Relación con FinOps
FinOps se ha convertido en una disciplina clave para organizaciones que trabajan con infraestructuras cloud.
Su objetivo es maximizar el valor obtenido de los recursos tecnológicos mediante:
- Visibilidad.
- Control.
- Responsabilidad compartida.
- Optimización continua.
El historial de uso de Snowflake constituye una de las principales fuentes de información para implementar este enfoque.
Buenas prácticas para analizar el historial
Existen algunas recomendaciones ampliamente utilizadas por equipos experimentados.
Revisar periódicamente el consumo
No esperar a que aparezcan problemas.
Monitorizar warehouses críticos
Especialmente aquellos asociados a procesos productivos.
Identificar consultas repetitivas
Muchas veces los mayores consumos provienen de ejecuciones frecuentes.
Documentar cambios importantes
Facilita comprender variaciones en el comportamiento de la plataforma.
Combinar métricas técnicas y financieras
El objetivo final no es únicamente mejorar rendimiento, sino optimizar el valor generado.
Herramientas complementarias
Además de las vistas nativas, muchas organizaciones construyen dashboards específicos utilizando:
- Power BI.
- Tableau.
- Looker.
- Streamlit.
- Grafana.
Estos cuadros de mando permiten visualizar tendencias y facilitar el seguimiento continuo del consumo.
Por ejemplo:
- Créditos por departamento.
- Consumo por warehouse.
- Evolución mensual.
- Costes por proyecto.
Beneficios de analizar el historial de uso
La supervisión adecuada aporta ventajas muy importantes.
Mayor control financiero
Permite comprender mejor el consumo de recursos.
Mejor rendimiento
Facilita la identificación de cuellos de botella.
Mayor seguridad
Ayuda a monitorizar accesos y actividad.
Optimización continua
Los datos históricos permiten detectar oportunidades de mejora.
Mejor planificación
Facilita la toma de decisiones sobre capacidad futura.
El futuro de la observabilidad en plataformas de datos
Las plataformas cloud modernas generan cada vez más información sobre su propio funcionamiento.
La tendencia apunta hacia sistemas capaces de:
- Detectar anomalías automáticamente.
- Recomendar optimizaciones.
- Anticipar problemas.
- Ajustar recursos dinámicamente.
Snowflake continúa ampliando sus capacidades en esta dirección, proporcionando cada vez más herramientas para mejorar la visibilidad y el control sobre los entornos de datos.
Conclusión
Analizar el historial de uso en Snowflake es una práctica esencial para cualquier organización que quiera optimizar costes, mejorar el rendimiento y mantener una adecuada gobernanza de sus datos.
Las vistas proporcionadas por Snowflake permiten obtener una visión detallada sobre consultas, usuarios, warehouses, almacenamiento y consumo de recursos, facilitando la toma de decisiones basadas en información real.
En un entorno donde la eficiencia operativa y el control financiero son cada vez más importantes, comprender cómo se utiliza la plataforma constituye uno de los pilares fundamentales para construir arquitecturas de datos sostenibles, escalables y preparadas para el crecimiento futuro.




