Elegir la plataforma de datos en la nube adecuada para su organización implica una evaluación compleja de las características ofrecidas por los diferentes proveedores de software. Pero para muchas empresas que evalúan las principales opciones basadas en suscripción, una de las consideraciones más importantes es el coste. La transición a una plataforma de datos basada en la nube puede tener un impacto significativo en los presupuestos, especialmente si el gasto es difícil de planificar y controlar con precisión.
Snowflake es una plataforma de datos en la nube que ofrece un modelo único en lo que respecta a los precios de la capacidad y los recursos de la nube. En este artículo veremos cómo la plataforma usa la automatización para escalar el rendimiento y la capacidad de los recursos de la nube para que coincida con sus uso real, minimizando así el gasto excesivo.
Precios basados en la demanda
En cierto sentido, los modelos de precios ofrecidos por los proveedores de software en la nube se basan en un principio simple: usted paga por los recursos que necesita. A primera vista, esto parece justo. La mayoría de los proveedores le permiten escalar los recursos que paga de acuerdo con sus requisitos y ajustar su facturación en consecuencia.
Sin embargo, la flexibilidad ofrecida por muchos proveedores viene con una contrapartida. La responsabilidad de ajustar la cantidad de recursos que necesita durante un período determinado recae en usted y, en la mayoría de los casos, debe ajustarse hacia arriba o hacia abajo manualmente.
Esto requiere una sobrecarga administrativa importante por parte del cliente, para garantizar que los servicios se amplíen cuando sea necesario, y se reduzcan cuando no estén en uso, para evitar pagar por la capacidad no utilizada.
Snowflake ha cambiado completamente este paradigma con dos conceptos innovadores: suspensión automática y autoescalado. Vamos a explicar cómo funciona todo.
Auto suspensión
Con la suspensión automática activada, cualquier recurso computacional, denominado almacenes virtuales, quedará inactivo después de un período definido de inactividad, que usted puede configurar. Mientras esté inactivo, estos recursos no se facturarán.
Sin embargo, Snowflake también proporciona una configuración de reanudación automática que se puede aplicar a servicios específicos, lo que les permite reiniciarse según sea necesario, según la demanda. Esto sucede automáticamente, sin la necesidad de intervención manual, y desde una perspectiva operativa, sin demoras significativas o impacto comercial.
Por ejemplo, en la imagen de arriba puede ver una configuración de ejemplo para configurar este recurso computacional, o almacén, para que se suspenda automáticamente después de 5 minutos de inactividad, y luego se reanude automáticamente una vez que reciba una nueva solicitud. Por lo tanto, está reduciendo el período potencial de sobrefacturación a incrementos de solo 5 minutos a la vez, lo que significa que sus facturas están rastreando su uso real con un nivel de precisión extremadamente alto.
Escalamiento automático
Es posible que no siempre sea suficiente activar o desactivar un servicio definido según sea necesario. En algunos casos, la demanda puede ser mayor que la capacidad máxima que se definió originalmente. Para este escenario, Snowflake ofrece escalado automático.
Imaginemos un caso de uso en el que tiene horas pico, momentos específicos en los que necesita más particiones de lo habitual. En este caso, Snowflake le permite definir un clúster mínimo y máximo, dentro del cual se escala automáticamente horizontalmente. Esencialmente, el sistema duplica automáticamente un clúster base predefinido tantas veces como sea necesario para satisfacer la elevada demanda, hasta el tamaño máximo que haya configurado.
Esto permite un mayor rendimiento de procesamiento, particularmente en el número de consultas concurrentes que se pueden manejar. A medida que la demanda cae fuera de las horas pico, el sistema reduce automáticamente en tiempo real a la configuración mínima preconfigurada.
Pero espera ... no puedo suspender todo automáticamente. Tengo diferentes requisitos.
Por supuesto, este es un escenario común para muchas organizaciones. Expliquemos por qué este es el principal problema en la mayoría de las soluciones en la nube, y cómo el enfoque adoptado por Snowflake puede marcar la diferencia en su manejo de datos.
La mayoría de las organizaciones tienen una variedad de cargas de trabajo diferentes cuando se trata de trabajar con datos. Estos son solo algunos ejemplos:
Cargas de trabajo ETL
Carga de datos en el almacén de datos
Por ventanas, principalmente en horas no laborables
Datos intensivos
Científico de datos (Data scientist)
Ejecutar algoritmos sobre los datos
Activado bajo demanda
Computacionalmente intensivo
Informes departamentales
Programados en ventanas
Activados en plazos limitados, por ejemplo, durante el cierre mensual
Autoinforme
Activado bajo demanda
Require bajos recursos computacionales y de datos
Entonces, el problema principal es, ¿cómo puede escalar recursos para satisfacer las necesidades específicas de cargas de trabajo tan diferentes?
Cuando tiene una plataforma de datos que solo se escala verticalmente, el problema es que debe penalizar las cargas de trabajo computacionales e intensivas en datos (ETL y Científico de datos) porque los informes departamentales no requieren el mismo nivel de rendimiento.Por otro lado, si se escala para satisfacer las necesidades de las cargas de trabajo de ETL y Científico de datos, el sistema estará sobreescalado una vez que finalicen los procesos de ETL.
En el primer caso tiene un problema de rendimiento, en el segundo, un problema de sobrefacturación.
Con plataformas de datos que solo se escalan horizontalmente, el problema viene con la complejidad involucrada en la replicación y sincronización de datos entre diferentes pilas de datos. A la escala de un almacén de datos empresariales, se debe evitar un repositorio de datos horizontal, ya que la consistencia de los datos es clave para la empresa.
Entonces, ¿dónde entra Snowflake? Ofrece un enfoque híbrido: escala horizontal para recursos computacionales y escala vertical para recursos de datos. Con este enfoque, puede obtener lo mejor de ambos mundos: múltiples clústeres computacionales para manejar diferentes cargas de trabajo y una pila de datos única.
Esto proporciona una capacidad de facturación con precisión para satisfacer las diferentes necesidades de cada carga de trabajo, suministrando tantos nodos diferentes como sea necesario. Ninguna carga de trabajo está restringiendo a otra, ni está introduciendo redundancia innecesaria.
¿Qué proporciona Snowflake que otros proveedores no ofrecen?
Pongamos todas las piezas juntas. Con Snowflake, las organizaciones se benefician de un almacén de datos en la nube centralizado con todo lo que conlleva (acceso rápido, compatible con SQL, acceso ODBC / JDBC, seguridad empresarial y seguridad a nivel de filas) además de características únicas para su proyecto de análisis de datos:
Capacidad para crear diferentes recursos computacionales "almacén virtual" basados en diferentes roles (ETL, Data Scientist, departamento de Marketing, usuarios de autoinforme y más)
Escalar diferentes nodos computacionales de acuerdo con los requisitos (computacional o de uso intensivo de datos, dimensionamiento S / M / L / XL)
Habilite la suspensión automática y la reanudación automática para cada clúster computacional
Capacidad para escalar recursos automáticamente hacia arriba / abajo o encendido / apagado
Capacidad para asignar roles de negocio a nodos computacionales predefinidos
Basically, you are only paying for what you use - but importantly you are only using what you need.
Conozca más
Si esta publicación del blog le pareció interesante, no dude en compartirla con su propia comunidad. Aquí en Clariba, estamos más que interesados en ayudarlo a evaluar cómo Snowflake podría llevar su plataforma de datos al siguiente nivel, maximizando el rendimiento y minimizando los costes.