La plataforma Snowflake es arquitectónicamente diferente de la mayoría de los sistemas tradicionales de bases de datos y data warehouses en la nube. Esta herramienta tiene dos plataformas separadas de computación y almacenamiento de información, las cuales son altamente elásticas. Para mantener su alto performance y optimizar el uso de recursos, compartimos algunas de las mejores prácticas que le ayudarán.

Elasticidad de Snowflake y su manejo

Con Snowflake, ya no tiene que preocuparse por realizar una planificación avanzada de recursos, determinar los programas de carga de trabajo o evitar que se introduzcan nuevas cargas de trabajo en el sistema por temor a limitaciones de disco o CPU. Como plataforma de datos en la nube, Snowflake puede escalar rápidamente para satisfacer tanto el crecimiento planificado como el inesperado. Esto significa que en lugar de pagar por una cantidad fija y limitada de almacenamiento de información y computación, la cantidad de almacenamiento de información y computación crece y disminuye a medida que sus necesidades cambian con el tiempo.

Aprovechando un principio básico de elasticidad en la nube, el cómputo se puede escalar dinámicamente para satisfacer la demanda a medida que las necesidades de concurrencia o la potencia de cómputo bruta fluctúan a lo largo del día. Los requerimientos de almacenamiento de información variarán con el tiempo para bases de datos, tablas y metadatos. Por lo tanto, todos los administradores de cuentas de Snowflake deben realizar algunas optimizaciones para su huella informática y considerar métodos más avanzados a medida que crece su huella informática. Teniendo en cuenta que el cómputo y el almacenamiento de información ahora son independientes y elásticos, se debe monitorear el consumo, el crecimiento inesperado y la eficiencia de los recursos.

Las cuentas de Snowflake son prácticamente ilimitadas de forma predeterminada. Los administradores de cuentas pueden implementar restricciones menores para defenderse contra usuarios deshonestos o el uso subóptimo de recursos y créditos. Por ejemplo, pueden controlar proactivamente el cómputo a nivel individual de almacén virtual, usuario o cuenta y organización a través de monitores de recursos. Los usuarios, las bases de datos, las tablas, las consultas y las cargas de trabajo se pueden monitorear a través del esquema ACCOUNT_USAGE, que es compartido por todas las cuentas de Snowflake.

Con todo esto en mente, aquí hay 10 mejores prácticas que los administradores de cuentas de Snowflake deben seguir.

Mejores prácticas para optimizar los recursos en su nube

1. Habilitar el modo de suspensión automática

Asegúrese de que todos los almacenes virtuales estén configurados para la suspensión automática. De esta manera, cuando terminen de procesar consultas, se detendrá el consumo de crédito.

2. Habilitar la reanudación automática

Configure sus almacenes virtuales en Snowflake para que se reanuden automáticamente. Si está implementando la suspensión automática y estableciendo límites de tiempo de espera adecuados, habilitar la reanudación automática es esencial; de lo contrario, los usuarios no podrán acceder al sistema.

3. Establecer tiempos de espera adecuados para las cargas de trabajo

Todos los almacenes virtuales deben tener un tiempo de espera adecuado.

  • Para trabajos ETL/ELT, cargas de datos y almacenes, establezca el tiempo de espera para la suspensión inmediatamente después de la finalización.
  • Dirigido a los almacenes de consultas de BI y SELECT, establezca el tiempo de espera en 10 minutos en la mayoría de las situaciones para mantener calientes las memorias caché de datos para el acceso frecuente de los usuarios finales.
  • Para DevOps, DataOps y data science warehouses, establezca el tiempo de espera en 5 minutos, ya que tener una memoria caché en vivo no es tan importante para las consultas ad hoc y altamente exclusivas.

4. Establecer tiempos de espera para estados de cuenta

Utilice los parámetros STATEMENT_QUEUED_TIMEOUT_IN_SECONDS y STATEMENT_TIMEOUT_IN_SECONDS para detener automáticamente las consultas que tardan demasiado en ejecutarse, ya sea debido a un error del usuario o a un clúster congelado. Personalice las declaraciones de nivel de tiempo de espera del almacén, la cuenta, la sesión y el usuario de acuerdo con su estrategia de datos para consultas de larga duración.

5. Monitoree los almacenes que se acercan al umbral de facturación de servicios en la nube

En general, para una cuenta y fuera de las funciones sin servidor, Snowflake cobrará por los servicios en la nube solo si superan el 10% del consumo diario de crédito del almacén virtual. Las tareas de servicio en la nube son útiles para operaciones de metadatos, como consultas de descubrimiento de herramientas de BI, comandos SHOW, uso de caché y servidor, y otras funciones de optimización de servicios. Entonces, si usa 100 créditos de cómputo en un día pero usa 15 créditos adicionales de servicio en la nube, se le cobrarán 5 créditos adicionales por exceder la asignación del 10%. Esto significa que se le facturará un total de 105 créditos por día, proporcionando 10 créditos gratuitos de uso del servicio en la nube.

7. Eliminar tablas no utilizadas

Es posible que tenga tablas sin usar que sean candidatas para dejar de usar. Solo asegúrese de que nadie esté consultando estas tablas. De hecho, es posible que desee hacer obligatorio revisar todas las tablas antes de soltarlas. Esto es específico para el contexto de la base de datos, así que asegúrese de verificar las tablas en sus bases de datos. Además, tenga en cuenta las tablas que solo se utilizan en View DDL.

8. Depurar usuarios inactivos

Es una buena idea eliminar de tu cuenta a los usuarios inactivos o usuarios que nunca hayan iniciado sesión en Snowflake. Los administradores pueden monitorear reactivamente usuarios, bases de datos, tablas, consultas y cargas de trabajo a través del esquema ACCOUNT_USAGE compartido en todas las cuentas. Estos datos se utilizan comúnmente para pronosticar tendencias de uso y proporcionar contracargo y facturación de retorno para departamentos, equipos y cargas de trabajo. Las métricas de uso diario están integradas en la plataforma para usuarios individuales, administradores de cuentas y administradores de organizaciones.

9. Busque almacenes que no tengan monitores de recursos

Los monitores de recursos son una excelente manera de controlar proactivamente los presupuestos de carga de trabajo y evitar picos inesperados de recursos. Pueden ayudar a monitorear el uso de cuentas de usuario y servicio en Snowflake. Primero, debe tener bóvedas virtuales dedicadas para cada una de sus cargas de trabajo (ELT, BI, reporting y ciencia de datos), así como otras cargas de trabajo. Las cuentas y bóvedas pueden tener cuotas de crédito totales, anuales, mensuales, semanales y diarias.

10. Aplicar monitores de recursos

Puede utilizar la interfaz de usuario o SQL para aplicar una política de monitoreo de recursos. Dependiendo de la configuración de preferencias de su cuenta, los monitores de recursos pueden notificarle cuando el consumo alcanza un umbral más bajo. Luego, suspenda la bóveda o cuenta en un umbral más alto.

Con el modelo de facturación y computación por segundo altamente elástico de Snowflake, los gerentes de cuentas deben monitorear continuamente el uso, el crecimiento y la eficiencia de los recursos para garantizar que cumplan con los requerimientos y presupuestos de performance. Mientras que Snowflake puede ayudar a optimizar los recursos

More articles

Learn & grow with expert resources.

Creación de una arquitectura analítica preparada para el futuro con la pila de datos moderna

El Modern Data Stack proporciona flexibilidad y escalabilidad para crear arquitecturas analíticas a prueba de futuro, soportar casos de uso de IA y ML y adaptarse al crecimiento del negocio sin altos costos de infraestructura.

El papel de la automatización en la pila de datos moderna

La automatización está transformando la administración de datos al reducir el trabajo manual y garantizar la confiabilidad de los datos. Herramientas como Fivetran, dbt y Snowflake son esenciales para acelerar el análisis.

De la pila de datos heredada a la moderna: por qué las empresas están haciendo el cambio

Las organizaciones reconocen cada vez más las limitaciones de las arquitecturas de datos tradicionales. Los sistemas heredados tienen dificultades para satisfacer las demandas modernas, mientras que los Data Stacks modernos ofrecen soluciones de escalabilidad, integración y gobierno.

Dé el primer paso

Libere el potencial de sus datos con nuestra guía de expertos. ¡Programe su sesión hoy!