Una mañana no tan infrecuente.

Jane, una analista de datos y BI, se conecta ansiosamente a las 7:00 a.m. cada mañana. Todos los días a las 7:30 a.m., la herramienta de BI envía por correo electrónico el cuadro de mando de las operaciones diarias para sus reuniones matutinas a 100 analistas, gerentes, directores y vicepresidentes. Jane intenta mirar el cuadro de mando de las operaciones diarias y evitar que se envíe si es necesario. Su ansiedad aumenta cuando el informe no se abre. Sin saber qué hacer a continuación, hace la temida llamada a su jefe. 

¿Trabajas con datos? ¿Te suena esta historia de terror? Si es así, entonces Snowflake puede ser una buena opción para ti.

¿Cómo ha ocurrido esto?

Aquí hay un par de causas potenciales que son demasiado comunes en la vida de los profesionales de datos, cualquiera de las cuales podría haber contribuido al escenario anterior.

  • Alguien deja caer accidentalmente una tabla en prod. Restaurar esa tabla requeriría restaurar toda la base de datos en el escenario y encontrar la tabla. La restauración llevará de uno a tres días.
  • Alguien hace un cambio en un flujo de datos en prod, y abajo rellena una tabla diferente con datos incorrectos. No han trabajado fuera de dev o stage porque los datos no se han actualizado en meses.
  • Una redactora de informes no quiere esperar a que el equipo de DW construya una tabla, así que escribe su propio SQL. Crea este informe justo antes de que finalice el mes. Este informe es muy utilizado durante la primera semana del mes por el equipo de detección de fraudes de la empresa. Ella no se dio cuenta del fuerte impacto que tendría en el sistema, y la base de datos se ralentiza.

¿Qué funciones de Snowflake podrían ayudar?

UNDROP

La mayoría de los profesionales de los datos han tenido un momento de "oops" en el que han eliminado una tabla que no querían eliminar. Incluso, algunas pobres almas han eliminado esquemas o bases de datos enteras. Parte de la magia de Snowflake es que se puede utilizar la función UNDROP para recuperar los objetos perdidos que se han eliminado en las últimas 24 horas. La primera vez que mi equipo necesitó esta función, tardamos 15 minutos en restaurar unas cuantas tablas caídas. La mayor parte de ese tiempo lo pasamos leyendo la documentación por primera vez.

CLONE

Hacer copias de sus datos en los canales inferiores no podría ser más fácil. No es raro que la gente haga el trabajo de desarrollo en prod porque los canales inferiores están desactualizados. Esto conduce inevitablemente a errores. Snowflake le permite clonar una base de datos, un esquema o una tabla con un simple comando.

Lo mejor es que este proceso es increíblemente rápido. Tengo una tabla que tiene 1.500 millones de filas que cloné en 2,5 segundos. Uno de mis amigos trabaja en una empresa de IoT. Una vez a la semana, tienen programada la clonación de prod a stage, que sólo tarda 15 minutos en completarse.

Escalado dinámico

Debajo de las cubiertas, sus datos se asientan en S3 y utilizan un cluster(s) EC2 para manejar el procesamiento de las consultas. Esto facilita la adición de más potencia de procesamiento con un solo clic o la configuración de Snowflake para aumentar el número de clústeres EC2 en función de las necesidades. El mecanismo de Snowflake que controla este proceso se llama almacén virtual. Esto le permite adaptar sus necesidades de computación para casos de uso específicos.

Supongamos que tiene estos casos de uso

  • analistas y usuarios empresariales que crean/consultan informes en Tableau Server
  • científicos de datos que realizan experimentos
  • ingenieros de datos que transmiten datos a un lago de datos

Cada uno de estos casos de uso tiene diferentes necesidades en función de lo que están haciendo. Snowflake le permite configurar almacenes virtuales que adaptan los recursos informáticos a las necesidades.

Image
Table screenshot titled Create Warehouse

Esta configuración sólo encenderá el almacén virtual cuando la gente lo esté utilizando. Si no hay actividad durante 5 minutos, se apaga automáticamente. También se permite aumentar el número de clusters cuando las consultas empiezan a hacer cola.

La ventaja de esta configuración es que cuando los usuarios de Tableau no utilizan Snowflake los fines de semana, las vacaciones, las horas de la noche, etc., no estamos pagando por ello. Si un usuario de Tableau necesita ejecutar una consulta en Nochebuena a las 3:00 a.m., Snowflake se encenderá automáticamente para él y se apagará cuando haya terminado. También aumentará automáticamente el número de clústeres si un grupo de personas se conecta al servidor a la vez, como por ejemplo entre las 8:00 y las 9:00 de la mañana, cuando la gente llega a la oficina o durante las auditorías mensuales.

Image
Table screenshot titled Create Warehouse

Esta configuración también se encenderá cuando la gente lo esté usando y se apagará cuando no lo esté usando. Sin embargo, no agregará clusters si muchas consultas lo golpean a la vez. Las pocas consultas que procese se ejecutarán ocho veces más rápido que COMPUTE_TABLEAU_SERVER.

La ventaja de esta configuración es que permite a un pequeño equipo de científicos de datos ejecutar consultas masivas rápidamente sin afectar a otros grupos o procesos. Dado que la mayoría de las consultas se ejecutan sin problemas en un almacén x-pequeño, no hay necesidad de dar a otros casos de uso tamaños más grandes.

Image
Table screenshot titled Create Warehouse

Esta configuración hace que el almacén virtual esté siempre encendido y tenga dos clusters X-Small. La ventaja de esta configuración es que otros procesos no interrumpirán el flujo. Si de repente, 50 usuarios de Tableau decidieran saturar la base de datos con 200 consultas costosas, nuestro flujo no se vería afectado. Además, el almacén virtual nunca se apaga, por lo que siempre estará disponible para procesar datos rápidamente.

¡Mejores operaciones de datos para Jane!

Si Jane hubiera utilizado Snowflake, habría evitado cualquiera de los posibles escenarios que impedían la salida del cuadro de mando de las operaciones diarias. Cuando una tabla cayó accidentalmente, podría haber sido restaurada rápidamente. La gente no estaría desarrollando en prod porque stage y dev no se han actualizado en meses. Cuando el equipo de detección de fraudes hiciera sus auditorías mensuales, Snowflake se habría escalado automáticamente y luego se habría reducido una vez que hubieran terminado.

Snowflake es una herramienta increíble para el almacenamiento de datos. Snowflake soluciona muchos problemas de DW de maneras que otras bases de datos simplemente no pueden hacer.

 

Haga clic aquí para leer esto en inglés.

Autor: Jake Anderson, Científico de datos