Conoce Azure Synapse Analytics

Última actualización: 18/04/2021

En esta entrada vas a aprender en qué consiste Azure Synapse Analytics, el servicio de data warehouse en la nube de Azure. Explicaré brevemente su arquitectura, componentes principales y algunas de sus características más importantes para ayudarte a comprender su uso y las ventajas que aporta.

Azure Synapse Analytics

¿Qué es Azure Synapse Analytics?

Azure Synapse Analytics es una plataforma de analítica completa disponible como servicio en la nube de Azure. Anteriormente se llamaba SQL Data Warehouse.

Nos permite ingestar, preparar, transformar y servir los datos de una forma totalmente escalable para nuestros procesos de analítica o BI.

Arquitectura de Azure Synapse Analytics

La plataforma de Azure Synapse está formada por cuatro componentes principales:

Por un lado tiene dos motores analíticos. El primero está basado en SQL y tiene dos variantes: Dedicado y Serverless. El otro motor está basado en Apache Spark, y nos permite levantar nuestros propios clústeres de Apache Spark dedicados para ejecutar nuestros trabajos.

Arquitectura Azure Synapse Analytics
Arquitectura Azure Synapse Analytics

La versión de Spark incluida es la 2.4. También incluye Scala 2.11.12, Java 1.8.0, Python 3.6.1 y Delta Lake 0.6.1.

El motor de consulta SQL es distribuido. Permite implementar un Data Warehouse escalable usando el lenguaje T-SQL.

Synapse también integrada la funcionalidad de Azure Data Factory llamada Synapse Pipelines para realizar transformaciones, integraciones y movimientos de datos. Sigue el mismo modelo de costes que Azure Data Factory.

Por último, Synapse Studio es la capa que integra y unifica todos estos componentes bajo una gestión única, con capacidades de monitorización y aportando la seguridad y gestión de usuarios propia de Azure. Synapse Studio también permite la creación de notebooks y de scripts SQL colaborativos desde la interfaz.

Como almacenamiento persistente, Synapse usa Azure Data Lake Storage Gen2 (ADLS). La cuenta de almacenamiento del área de trabajo se elige al crearlo, aunque después es posible asociar más cuentas de almacenamiento y contenedores para acceder a sus datos. El ratio de compresión de datos en Synapse es de 5 a 10 veces.

Data Warehouse con Azure Synapse

Como hemos visto, Synapse tiene dos variantes del SQL Warehouse. Ambas están caracterizadas por separar el cómputo del almacenamiento. Existe un nodo de control que utiliza un motor SQL distribuido para optimizar nuestras consultas para ejecutar en paralelo. Ambas opciones nos proporcionan un conector JDBC/ODBC para conectarnos a través de cualquier cliente SQL compatible, por ejemplo Power BI.

SQL Dedicado

El SQL dedicado usa el DWU como unidad de coste y de poder de cómputo. Se calcula a partir de la CPU, memoria e IO de los hosts. Synapse nos permite elegir clústers desde DW100c hasta DW30000c.

Los ficheros de datos ingestados se deben distribuir en particiones para optimizar el rendimiento de las consultas. En concreto, al crear una tabla debemos especificar si queremos distribuir las particiones con una estrategia Hash, round robin o replicadas.

Motores SQL de Azure Synapse Analytics
Motores SQL de Azure Synapse Analytics

El clúster dedicado también nos permite aumentar o disminuir el número de nodos sin mover los datos, simplemente se redistribuyen las asignaciones de las particiones en los nodos disponibles, que pueden llegar hasta 60. Podemos detener el clúster cuando no vayamos a usarlo y volver a arrancarlo bajo demanda, pagando solamente por el almacenamiento.

SQL Serverless

En el caso del clúster SQL Serverless, el motor SQL distribuido divide la consulta en tareas, que leen los datos del almacenamiento, realiza agregaciones y ordena los resultados de otras tareas. Este clúster permite definir tablas externas para exponer el almacenamiento con una interfaz SQL.

En el clúster SQL Serverless no es necesario controlar su ejecución o escalado, ya que lo hace automáticamente y de forma transparente. El rendimiento es menor que en el caso del dedicado, ya que no implementa la estrategia de particionado de datos.

Gestión

Synapse Analytics gestiona los usuarios en dos niveles. Por un lado, debemos establecer los accesos al área de trabajo de Synapse, donde tenemos el control de las pipelines de datos y los clústeres de Spark y SQL. Por otro lado, se puede gestionar el acceso a los propios datos. En el caso de los motores SQL, podremos hacerlo a través de credenciales SQL o con Azure Active Directory.

Para monitorizar nuestras consultas y trabajos del clúster tenemos varias opciones. Synapse contiene una interfaz de monitorización en la que podemos ver la lista de consultas activas en tiempo real, así como los trabajos que tengamos en ejecución y sus logs. También, podemos integrarlo fácilmente con Azure Monitor si queremos centralizar la monitorización de varios servicios.

Los backups en Azure Synapse se realizan de forma automática. Tiene snapshots para gestionar puntos de restauración de los datos cada 8 horas, aunque se pueden añadir más de forma manual. También, realiza un backup georeplicado a otro centro de datos una vez al día, por lo que asegura un RPO de 24h de este tipo.

Conclusión

Azure Synapse Analytics es un servicio cloud de Data Warehouse que está teniendo un gran impulso por parte de Microsoft. Está perfectamente integrado con otros servicios en la nube como Azure Data Factory, Azure Purview (Gobierno) o Databricks.

Resulta una opción muy interesante para gestionar nuestros clústeres SQL en la nube de manera sencilla y sin limitaciones de cómputo o de almacenamiento. Como tecnologías alternativas que tenemos que valorar encontramos Snowflake (multi-cloud) o Redshift en AWS.

Recursos Relacionados y Formación

Si quieres aprender más sobre cloud computing y Azure, aquí tienes tres entradas que deberías leer:

También te recomiendo este top 3 de cursos en Udemy que meren la pena:

Preguntas Frecuentes Synapse Analytics – FAQ

¿Cuándo usar Azure Synapse Analytics?

Azure Synapse Analytics es la solución de Microsoft Azure para implementar Data Warehouses en la nube. Aunque ofrece múltiples características, su punto fuerte es la consulta de datos del Data Lake con SQL, así como la capacidad de desplegar clústeres de Apache Spark para ejecutar tus trabajos.

¿Es compatible con Databricks y HDInsight?

Azure Synapse es compatible con Databricks y HDInsight en Azure. Cuenta con un conector para Databricks que permite acceder a los datos y realizar consultas a través de Synapse. En el caso de Databricks, también es posible conectarlo para realizar consultas SQL.

¿Es un servicio serverless?

Synapse Analytics cuenta con un servicio serverless de consulta SQL. Este servicio permite ejecutar un motor SQL distribuido para consultar datos externos que escala automáticamente en función de las necesidades.

¿Es un servicio de Azure SaaS o PaaS?

Azure Synapse Analytics es un servicio de Azure PaaS (Plataforma como servicio), que nos proporciona acceso a herramientas para desplegar nuestros clústeres de Spark o SQL, así como implementar pipelines de datos alrededor del Data Warehouse.


¡Echa un ojo a mis listas de reproducción de Big Data y suscríbete al canal de Youtube para no perderte ningún vídeo nuevo!

Si te ayuda el contenido del blog, considera unirte a la lista de correo para estar al día de Big Data y cupones de formación

Deja una respuesta