Cloud Computing: Tipos de nubes, servicios y proveedores
Tras el anterior artículo "Cloud Computing: Que és, características y ventajas", en este seguimos hablando sobre Cloud Computing, centrados en explicar los...
En este artículo profundizamos en Snowflake, explicando qué es, cuáles son sus características, su arquitectura y sus ventajas sobre otras plataformas.
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.
Entre las características principales de esta plataforma, podemos destacar las siguientes:
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:
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.
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.
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.
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:
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.
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.
Algunas características de Snowflake la asemejan a otras plataformas conocidas, por lo que a continuación veamos algunas comparaciones:
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.
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 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.
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
Tras el anterior artículo "Cloud Computing: Que és, características y ventajas", en este seguimos hablando sobre Cloud Computing, centrados en explicar los...
Conoce qué es Cloud Computing, para qué sirve, sus características y ventajas en este primer articulo de dos sobre fundamentos de la...
Descubre las tecnologías relacionadas con el Cloud Computing y el cambio de paradigma que se está produciendo