Azure Synapse Analytics como Business Data Core

Existen muchos tipos de arquitecturas de datos, ya estén alineadas con el BI tradicional o se hayan movido hacia el real time incluyendo capacidades de Streaming Analytics o incluso evolucionado a Modern Data Warehouse. Sin embargo gracias a soluciones como Databricks, Snowflake, AWS Redshift, nació un nuevo concepto de arquitectura, el de Data Lakehouse que viene a combinar lo mejor del Data Warehouse tradicional y el reciente Data Lake, éste da cobertura al análisis de datos no estructurados e incluso en streaming.

Hoy sin embargo no hablaré de Databricks Snowflake o AWS Redshift, sino de Azure Synapse Analytics, que viene a ser la herramienta con la que Microsoft quiere centralizar todo el proceso alrededor del dato e integrarlo de un modo muy sencillo con el resto de piezas del ecosistema Azure.

Veamos cuales son los puntos clave que debe cubrir un Lakehouse:

  • Debe ser capaz de manejar cualquier tipo de dato, ya sea estructurado, semiestructurado o no estructurado.
  • Permitir el uso de formato ficheros abierto, como pueden ser parquet, json, txt, csv.
  • Evitar la replicación innecesaria de datos en pos de mantener, de un modo eficiente, una única fuente de verdad.
  • Habilitar la consulta de los metadatos de las fuentes, sistemas de cara a poder realizar de un modo sencillo búsquedas, seguimientos.
  • Proveer de la posibilidad de realizar rápidas consulta previas a los datasets, identificando incluso los posibles tipos de los campos.
  • Fácil integración con procesos ELT e incluso con técnicas y soluciones de virtualización.
  • Integrado con herramientas de seguridad y gobernanza de datos.
  • Cubre las necesidades de analítica avanzada propias de soluciones de ML, Streaming.
  • Permite aislar las capas de almacenaje y cómputo, lo que proporciona una rápida capacidad de escalado evitando anteriores inconvenientes.

Es decir, resumiendo un Lakehouse debe ser el servicio unificado de análisis que combina la integración de datos, la analítica de grandes volúmenes de datos y el data warehousing empresarial.

Llegados a este punto, vamos a hacer un poco de historia con respecto a Azure Synapse Analytics para ver cómo ha evolucionado a lo largo de los últimos años.

  • En 2010 apareció como Parallel Data Warehouse, donde se integraba el MPP en un SQL Server Edition onprem. Dicha arquitectura posibilitaba el procesamiento masivo en paralelo.
  • En 2015 Azure SQL Data Warehouse entró en escena. Utilizaba la arquitectura MPP pero saltando al Cloud.
  • En 2019 se renombra como Azure Synapse Analytics y se mantiene la referencia al antiguo SQL Data Warehouse y se añaden algunas nuevas características.
  • En 2020 se elimina la referencia anterior y se incorpora la palabra Workspaces al nombre de Azure Synapse Analytics en mayo para finalmente en noviembre quedarse como Azure Synapse Analytics. Pero, más allá de los cambios de nombres, lo verdaderamente importante fue que a en mayo se incluyeron multitud de servicios como Power Bi o Data Factory. También se incluyó la utilización de un pool dedicado de SQL. Mientras que en noviembre se extendió la posibilidad de trabajar tanto con el pool dedicado como mediante servicio aislado.

Si pasamos a realizar un análisis profundo de la arquitectura de Azure Synapse Analytics observamos cuatro capas, la primera de almacenamiento construida sobre Azure DataLake Gen2, que viene a ser Azure Storage Account con la setting de Enable hierarchical namespace a true 😉

Esto no quiere decir, que debamos limitarnos a un único elemento de almacenamiento, al contrario se le pueden vincular múltiples fuentes de datos, lo que permite que se cumplan algunos de los objetivos comentados previamente como son:

  • Coste del almacenamiento eficiente.
  • Disponibilidad de almacenamiento para todo tipo de dato.
  • Oportunidad de almacenar fichero de formato abierto.
  • Mediante la incorporación de Azure Storage Explorer, es tremendamente sencillo poder hacer un previo de los datasets, e incluso ejecutar sencillas queries.

En la segunda capa estaría la de cómputo. Aquí se dispone de la posibilidad de configurar pool dedicados y pre-provisionados, tanto de Spark como de SQL, e incluso recientemente, extender las capacidades de Azure Synapse Analytics, mediante la incorporación de Serverless SQL. Esto nos permite ejecutar queries complejas con T-SQL.

En el caso del pool dedicado de SQL volvemos a remarcar la arquitectura MPP que permite el procesamiento en paralelo. En el caso del pool de Spark, igualmente recordar que se trata de motor de procesamiento distribuido en memoria.


La tercera cubre la capa de ingestión, en ella se hace uso de Azure Data Factory y Mapping Data Flows como herramientas integradas en Azure Synapse Analytics. En ambos casos se trata de soluciones que permiten customizar los pipelines y desarrollar complejos workflows que cubran los requerimientos de movimientos de datos. Como ya he comentado en muchas entradas previas, Azure Data Factory es un gran componente de ETL | ELT, con una curva de aprendizaje accesible, que permite un rápido despliegue de soluciones. Aquí dejo alguno de las entradas anteriores de ADF:


En la cuarta capa tenemos toda la parte de servicios conectados, que en el caso de Microsoft su ecosistema es muy amplio. Así por ejemplo dispone de Power Bi integrado, y elementos como Azure Cosmos DB, Azure ML e incluso Azure Purview se conectan de una manera muy sencilla. Esto redunda en la facilidad de customización de las soluciones de Datos para dar respuesta a los diferentes casos de uso que se puedan plantear.

En el caso de Azure ML habilitando la posibilidad de integrar directamente Azure Cognitive Services para explotar las capacidades de IA de Microsoft o incluso construir y consumir nuestros propios modelos de ML desde el entorno de trabajo de Azure Synapse Analytics. Esto mismo sucede con Power Bi, al encontrarse incorporado, es tremendamente sencillo utilizarlo para crear los reportes. Finalmente al conectar con Cosmos DB, permite ejecutar queries directamente sobre ella sin necesidad de herramientas ETL, lo que permite explotar alguno de los beneficios de la BBDD NoSQL y multidistribuida de Microsoft.

No quiero dejar de mencionar la integración con Azure Purview, que es la solución de Data Governance de Microsoft. Algo que desde siempre he reivindicado como clave frente a otras distribuciones.

Sin duda, estamos ante una de las herramientas más versátil del actual panorama de procesamiento distribuido. Por tanto resaltar que, ya no existe ningún punto débil que impida convertir a Azure Synapse Analytics, en el motor de tu sistema de Analítica Avanzada Empresarial.

En próximas entradas veremos en detalle la arquitectura de ambos pools y las integraciones con algunos de los componentes comentados.

Foto de portada gracias a Kampus Production en Pexels

Publicado por alb3rtoalonso

Soy un enamorado del poder de los datos. Entusiasta de la mejora y formación continua.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: