Snowflake: Qué es y características

Qué es Snowflake

Snowflake es una plataforma analítica de datos que se adquiere como un servicio en la nube, es decir, un software como servicio (SaaS). Se usa para la carga y consolidación de repositorios de información de múltiples orígenes en un destino centralizado, para el procesamiento, análisis y consulta de los datos (Business Intelligence).

Brinda soporte a la administración, mantenimiento y actualización de su infraestructura y los componentes del servicio, puesto que no cuenta con paquetes de instalación para que los usuarios lo ejecuten. Tampoco puede ser ejecutada en nubes privadas (locales), por lo que su infraestructura funciona sobre la nube pública, convirtiéndola en una plataforma multi cloud, lo cual significa que es posible la selección de cualquier proveedor cloud para trabajar, como Azure, AWS y Google Cloud Platform.

En los últimos años, esta plataforma se ha ido posicionando en el mercado de las soluciones para el almacenamiento de datos, el desarrollo de aplicaciones para el intercambio y extracción de datos, junto a plataformas similares como BigQuery, Redshift y Synapse.

Características principales de Snowflake

Entre las características principales de esta plataforma, podemos destacar las siguientes:

  • Está diseñada con un motor de consultas SQL exclusivo (que no está basado en las tecnologías comúnmente utilizadas en otras plataformas).
  • Ofrece a sus usuarios el acceso a una nube de almacenes de datos compartidos (Snowflake Data Marketplace) para consultar e intercambiar datos de manera segura dentro de su Data Cloud.
  • Facilita la consulta de múltiples usuarios a una misma copia de los datos sin afectar su rendimiento.
  • Flexibiliza la consulta de los datos al soportar el lenguaje SQL.
  • Consta de un gran número de conectores para acceder a su servicio.
  • Agiliza su utilización, ya que el servicio se gestiona por completo en la nube.
  • Reduce la gestión del procesamiento de los datos a través de los almacenes virtuales.

Arquitectura de Snowflake

La arquitectura de Snowflake es nativa de la nube y es una combinación entre “shared-disk” y “shared-nothing architecture”. Está diseñada para optimizar el rendimiento individual de sus tres grandes capas:

  1. Capa de almacenamiento de base de datos: Como he mencionado, Snowflake posee un motor de consultas propio, por lo cual los datos almacenados en esta capa no están disponibles para consultas fuera de la interfaz de Snowflake. Adicionalmente, los componentes del almacenamiento de los datos, como la información de los metadatos, formato, tamaño, organización, están optimizados y gestionados por el servicio.

  2. Capa de procesamiento de consultas: Su procesamiento relacional es compatible con transacciones ACID y soporta ficheros XML, JSON, ORC (columnas de fila optimizadas), Parquet, entre otros. Snowflake procesa las consultas de datos en un almacén virtual que consiste en un clúster que tiene un conjunto de nodos asignados, pero dado que no comparte recursos con el resto de almacenes virtuales, tiene un rendimiento consistente, dando como resultado que los usuarios tengan una experiencia fluida. Un usuario puede activar todos los almacenes virtuales que necesite y paralelizar el rendimiento de las consultas.

  3. Capa de servicios en la nube: Es una capa de coordinación de tareas de Snowflake, las cuales se procesan como servicios administrados en el proveedor de la nube que se haya seleccionado. Estos servicios se encargan de las tareas de seguridad (autenticación y control de acceso), mantenimiento (gestión de infraestructuras y metadatos) y distribución de recursos (análisis y optimización de consultas).

El costo del servicio de Snowflake se calcula con base en el tiempo de uso de los recursos de cómputo (tarifa por segundo de ejecución). Para el almacenamiento de datos, ofrece varias tarifas a elegir según el tipo de datos, volumen, proveedor de la nube y la región geográfica.

Interfaz web Snowsight

Snowflake proporciona una interfaz web donde los clientes pueden conectarse al servicio para acceder a las opciones de administración y comenzar a usarla.

A través de la interfaz, podemos explorar por el Data cloud y realizar tareas como:

  1. Navegar por el Snowflake Marketplace y consultar datos compartidos.
  2. Monitorear el rendimiento de los clústeres.
  3. Gestionar la creación de usuarios y accesos.
  4. Crear almacenes virtuales.
  5. Actualizar las bases de datos y compartirlas con otras cuentas.
  6. Cargar datos en las bases de datos.

Para la conexión a otras plataformas y servicios de Big data, Snowflake tiene un amplio ecosistema de conectores para permitir la integración a fuentes de datos externas de forma gobernada y segura.

Imagen 0 en Snowflake: Qué es y características

Snowflake Cloud Data

Se trata de un ecosistema de data warehouses unificados y compartidos entre diferentes proveedores y empresas a nivel global. El mayor beneficio que genera es dar solución a los silos de información y eliminar la complejidad al consultar datos de terceros.

Es por esto que, Snowflake Cloud Data representa un componente que aporta mucho valor no solo para las empresas, sino para toda la comunidad de usuarios que, de un modo u otro, nos beneficiamos de la potencia de esta nube de datos, y la flexibilidad de movilizar datos a gran velocidad y escala, a precios compatibles al consumo del servicio.

Comparativa de Snowflake con otras plataformas

Algunas características de Snowflake la asemejan a otras plataformas conocidas, por lo que a continuación veamos algunas comparaciones:

Snowflake vs Amazon Redshift

Snowflake y Redshift tienen en común, características como las consultas basadas en SQL, las opciones de recuperación e intercambio de datos. A diferencia de Snowflake, Redshift es un servicio de almacenamiento de datos administrado por Amazon Cloud disponible como una plataforma como servicio (PaaS). Visita este enlace y conoce en detalle todo sobre IaaS vs PaaS vs SaaS: Qué son y cuál utilizar.

Redshift es un servicio nativo de la nube de AWS por lo que se integra nativamente a los servicios de dicha cloud, lo cual puede ser un beneficio frente a las opciones de integración de Snowflake. Sin embargo, los usuarios deben optimizar la plataforma acorde a sus necesidades para obtener el máximo rendimiento de la misma, es decir, encargarse de configurar la infraestructura y recursos necesarios antes de comenzar a usarla. Lo anterior puede ser una desventaja frente a Snowflake que es un servicio totalmente administrado y, por tanto, se puede empezar a trabajar de inmediato.

Redshift tiene más tiempo en el mercado que Snowflake, con lo cual, siendo Snowflake, una plataforma de datos más moderna, puede ser más fácil de utilizar y aprender.

Dependiendo del caso de uso, una plataforma puede tener ventaja sobre la otra al manejar el rendimiento de los recursos, por ejemplo: la ejecución de rutinas de aprendizaje automático mediante Redshift con AWS Sage Maker será más eficiente.

Snowflake vs Azure Synapse Analytics

Similar a Redshift, Azure Synapse es una plataforma de almacenamiento de datos PaaS, con la diferencia de que se encuentra dentro del ecosistema Microsoft, lo que significa que solo se puede ejecutar en el Azure Cloud, específicamente como una capa de análisis sobre Azure Data Lake.

Al formar parte de la nube de Azure, Synapse tiene integraciones nativas de Azure DevOps, Azure Data Factory, Spark y Delta Lake y otros servicios como Power BI, etc. Estas integraciones le proveen ventaja, frente a las integraciones de Snowflake, en el manejo de múltiples cargas de trabajo, consulta de datos relacionales y no relacionales.

Como Snowflake, Azure Synapse también separa su capa de almacenamiento y la de procesamiento para mejorar el rendimiento de consultas. Sin embargo, Azure Synapse conforma “Grupos de SQL dedicados”, a diferencia de Snowflake que usa almacenes virtuales.

Snowflake vs Bigquery

Snowflake y BigQuery, comparten características similares como el procesamiento paralelo masivo (MPP - massively parallel processing), el almacenamiento en columnas y el escalado automático.

BigQuery consiste en un data warehouse sin servidor totalmente administrado desarrollado dentro de Google Cloud Platform, mientras que Snowflake trabaja con los principales proveedores cloud como hemos visto.

BigQuery se integra de forma nativa con otras herramientas como BigQuery GIS para realizar análisis de datos geoespaciales; con BigQuery ML para diseñar, rápidamente, modelos de machine learning a gran escala; y con BigQuery BI Engine para gestionar dashboards interactivos con datos en tiempo real. Dichas integraciones, no serían igual con Snowflake.

En cuanto a la administración del servicio, tanto BigQuery como Snowflake se encargan de realizarlo, facilitando así, la facilidad de uso a sus clientes. En última instancia, ambas plataformas son capaces de automáticamente escalar los recursos para manejar el incremento del volumen de carga actual.

Conclusiones

Podemos destacar que, Snowflake es una plataforma de datos que facilita a las empresas el acceso a datos consolidados dentro de su Data cloud para consultarlos y/o compartirlos con terceros. Adicional, Snowflake administra muy bien la simultaneidad de consultas, gracias a la arquitectura que separa los clústeres de almacenamiento y de procesamiento, garantizando un rendimiento óptimo a pesar de que una fuente de datos tenga muchas consultas en paralelo.

En comparación con plataformas parecidas, vimos que cada una ofrece características propias que serán determinantes al considerar entre uno u otra, dependiendo de las necesidades particulares de las empresas.

Una gran ventaja de Snowflake es que tiene una curva de aprendizaje corta porque la plataforma está diseñada para que los usuarios no tengan que preocuparse por administrar nada y puedan usarla desde el primer momento.

También te puede interesar...

Cloud Computing

Cloud Computing: Tipos de nubes, servicios y proveedores

22 Marzo 2021 Frankier Flores
Cloud Computing

Cloud Computing: Que és, características y ventajas

12 Marzo 2021 Frankier Flores
Introducción a Cloud Computing

Curso Online de introducción a Cloud Computing

7 horas y 56 minutos · curso

  • Cloud Computing

Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información.