Skip to main content

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.