Snowflake: Por qué lo necesitas conocer, como Científico de Datos
El único data warehouse concebido y creado para la nube
Quizás esta sea la primera vez que escuches sobre esta compañía: Snowflake. Tal vez escuchaste ese nombre en alguna parte, pero aún no estás seguro de qué hace exactamente Snowflake como data warehouse, y qué lo hace diferente en comparación con otras plataformas.
Bien… ¿Adivina qué? Hace poco comencé a conocer más sobre Snowflake después de que Gartner lanzó su reporte Cuadrante Mágico 2019 : Soluciones de Gestión de Datos para Analitica y nombró a Snowflake uno de los líderes.
Snowflake reconocido como líder por Gartner en el Cuadrante Mágico
Esto me llamó la atención y comencé a investigar más al respecto. Si estás en el campo de la ciencia de datos y tu trabajo diario es escribir consultas SQL para obtener datos del data warehouse (o de bases de datos), entonces este artículo está escrito para ti desde la perspectiva de un científico de datos.
Al final de este artículo, sabrás más sobre Snowflake y algunas de sus características clave y cómo está cambiando lentamente el juego como un data warehouse.
¡Empecemos!
¿Qué es el Snowflake?
Introducción y demostración de Snowflake
Snowflake es un data warehouse SQL completo, creado desde cero para la nube. De hecho, su arquitectura es lo que lo diferencia de otras plataformas.
Ofrece la flexibilidad y la eficiencia que simplemente no es posible con un data warehouse tradicional o una plataforma de big data que se ha trasladado a la nube.
Si deseas saber más acerca de qué arquitectura tiene Snowflake y cómo combina el poder del almacenamiento de datos, la flexibilidad de las plataformas de big data y la elasticidad de la nube, a una fracción del costo de las soluciones tradicionales, te recomiendo que mires el siguiente vídeo.
Introducción a la arquitectura Snowflake en 90 segundos
Características principales de Snowflake
A estas alturas seguramente ya sabes que la arquitectura patentada de Snowflake se divide en tres capas: almacenamiento, computación y servicios. Esto es muy diferente en comparación con el almacenamiento de datos tradicional, que sufre de inflexibilidad y de modelado rígido de datos.
1. Capa de almacenamiento
Este es el lugar donde todos los datos se almacenan de manera centralizada. Snowflake administra todos los aspectos de cómo se almacenan estos datos: Snowflake maneja la organización, tamaño de archivos, estructura, compresión, metadatos, estadísticas y otros aspectos del almacenamiento de datos.
Los objetos de datos almacenados por Snowflake no son directamente visibles ni accesibles para los clientes. Sólo son accesibles a través de operaciones de consulta SQL ejecutadas con Snowflake.
Lo que es aún más sorprendente es que la capa de almacenamiento está diseñada para escalar de forma totalmente independiente a los recursos de cómputo. Lo que esto significa es que Snowflake tiene la capacidad de procesar la carga o descarga de datos, sin afectar las consultas en ejecución y otras cargas de trabajo.
2. Capa de computación
La capa de computación está diseñada para procesar enormes cantidades de datos con la máxima velocidad y eficiencia.
Todos los músculos y caballos de fuerza del procesamiento de datos dentro de Snowflake son realizados por warehouses (almacenes) virtuales - motores de computación - que son uno o más clusters (grupos) de recursos de cómputo.
Al realizar una consulta, los warehouses virtuales recuperan de la capa de almacenamiento, la cantidad mínima de datos necesaria para satisfacer las consultas.
A medida que se recuperan los datos, se almacenan en caché locamente con recursos de cómputo, junto con el almacenamiento en caché de los resultados de la consulta, para mejorar el rendimiento de futuras consultas.
Aún mejor, múltiples warehouses virtuales pueden operar simultáneamente con los mismos datos, a la vez que se cumple plenamente con la integridad transaccional de todo el sistema global, en total cumplimiento del concepto ACID.
3. Capa de servicios
Imagina que la capa de computación (de la que acabamos de hablar) es el músculo de Snowflake. Ahora, imagina la capa de servicios como el cerebro que controla la capa de computación.
La capa de servicios para Snowflake brinda autenticación a las sesiones de los usuarios, proporciona administración, ejecuta funciones de seguridad, realiza la compilación y optimización de consultas y coordina todas las transacciones.
La capa de servicios está construida con recursos informáticos sin estado, que se ejecuta en múltiples zonas de disponibilidad y utiliza un almacén de metadatos distribuidos de alta disponibilidad para la gestión global del estado.
Esencialmente, no necesitas preocuparte por que a tus consultas les vayan a ser despojados los recursos de cómputo, ya que la capa de servicios realiza la coordinación de transacciones en todos los warehouses virtuales.
Pensamientos Finales
Gracias por leerme. Lo que acabo de describir es simplemente una breve descripción de la arquitectura utilizada por Snowflake, que está concebido para la nube.
De hecho, hay muchas otras características clave interesantes que Snowflake ofrece como viaje en el tiempo, clonado rápido, optimización automática de consultas y muchas más.
A estas alturas espero que hayas aprendido más sobre Snowflake con algunas de sus características clave. Si estás interesado en aprender otras funciones clave (¡lo recomiendo encarecidamente!), ¡Visita su sitio web aquí!
Traducido y editado del articulo original por Admond Lee
Project Management, Business Intelligence and Analytics
5 añosJose Pablo Arias Soto
gracias tocayo😇
Helping you become the top 1% founder by learning from startup failures | 2x founder | 1 exit | Founder @ The Runway Ventures 🚀
5 añosThanks for translating Carlos Secada!
Gerente de Negocios Honda PanaAutos
5 añosGracias Carlos muy interesante!