Azure Synapse Analytics és un servei d'anàlisi il·limitat d'informació orientat a grans empreses que es va presentar com l'evolució d'Azure SQL Data Warehouse (SQL DW) i que uneix l'emmagatzematge de dades empresarials i l'anàlisi de macrodades o big data.
Synapse aporta un únic servei per a totes les càrregues de treball a l'hora de processar, administrar i servir dades per a les necessitats immediates de business intelligence i predicció de dades. Això últim és possible gràcies a la seva integració amb Power BI i Azure Machine Learning i a la capacitat de Synapse per integrar models matemàtics de machine learning mitjançant el format ONNX. Ofereix la llibertat de gestionar i consultar quantitats ingents d'informació tant a petició serverless (un tipus de desplegament que escala automàticament la potència a demanda quan es disposa de grans quantitats de dades) per a l'exploració de dades i l'anàlisi ad hoc, o amb recursos aprovisionats, a escala.
El servei de Microsoft és un SaaS (Software as a Service) i es pot fer servir sota demanda per executar-se només quan calgui (la qual cosa té incidència en l'estalvi de costos). Té quatre components:
Azure Synapse fa servir Azure Data Lake Storage Gen2 com a magatzem de dades i un model de dades consistent que incorpora apartats d'administració, monitorització i gestió de metadades. A l'apartat de seguretat permet protegir, supervisar i administrar les solucions de dades i anàlisi, per exemple, emprant inicis de sessió únics i la integració d'Azure Active Directory.
Pel que fa a la compatibilitat de llenguatges de programació, ofereix la possibilitat d'escollir d'entre diversos, com SQL, Python, .NET, Java, Scala i R. Això el converteix en un sistema molt adequat per a diverses càrregues de treball d'anàlisi i diversos perfils d'ingeniers.
Tot s'engloba dins del Synapse Analytics Studio que facilita integrar intel·ligència artificial, machine learning, IoT, aplicacions intel·ligents o business intelligence, dins d'una mateixa plataforma unificada.
Respecte als temps d'execució, permet tenir dos motors. Per una banda, el d'SQL tradicional (T-SQL) i per altra, el motor d'Spark. D'aquesta manera serà possible emprar T-SQL, per exemple, pel processament per lots, streaming i interactiu, o Spark quan calgui processament de big data amb Python, Scala, R o .NET.
Aquí enllaça directament amb Azure Databricks, el servei d'anàlisi de macrodades i intel·ligència artificial basat en Apache Spark que permet aplicar escalabilitat automàtica i col·laborar en projectes compartits en una àrea de treball interactiva. Azure Synapse ofereix un connector d'alt rendiment entre ambdós serveis, la qual cosa possibilita una transferència ràpida de dades. Això es tradueix en la possibilitat de continuar fent servir Azure Data Bricks (una optimització d'Apache Spark) amb una arquitectura de dades especialitzada en extreure, transformar i carregar (ETL) càrregues de treball per preparar i donar forma a les dades a escala. Per la seva banda, Azure Synapse i Azure Databricks poden executar anàlisis a les mateixes dades a Azure Data Lake Storage.
En principi, el servei de Microsoft es presenta com una solució a dos problemes fonamentals als quals han de fer front les empreses. El primer és el de la compatibilitat. El sistema d'anàlisi de dades que integra té la capacitat de treballar tant amb sistemes tradicionals com amb dades no estructurades i diverses fonts de dades. D'aquesta manera és capaç d'analitzar dades emmagatzemades en sistemes com bases de dades de clients (amb noms i adreces ubicades en files i columnes ordenades tipus full de càlcul) i també amb dades emmagatzemades en un data lake en format parquet.
Tanmateix, també ofereix més versatilitat per gestionar de manera automàtica tasques amb les quals construir un sistema per analitzar dades. Aquesta potència té, com a conseqüència directa una reducció en la quantitat de feina que necessiten els programadors i, per extensió, dels temps de desenvolupament de projectes (és el primer i únic sistema d'anàlisi que ha executat totes les consultes de TPC-H a escala de petabyte).
A més d'escalar els recursos de procés i d'emmagatzematge per separat, Azure Synapse Analytics destaca per la seva capacitat de caché de resultats (disposa d'una caché totalment administrada d'1 TB). Així, quan es fa una consulta es guarda en aquesta caché per accelerar la consulta següent que consumeixi el mateix tipus de dades.
Aquesta és una de les claus perquè sigui capaç de tornar respostes en mil·lisegons. La memòria caché sobreviu a les operacions de pausa, represa i escala (que es poden activar molt ràpidament mitjançant una arquitectura de processament massiu en paral·lel dissenyada per al núvol).
També cal destacar la seva compatibilitat total amb JSON, l'emmascarament de dades per garantir nivells adequats de seguretat, el suport de SSDT (SQL Server Data Tools) i especialment la gestió de la càrrega de treball (workload) i la manera en què es pot optimitzar i aïllar. Aquí múltiples càrregues de treball comparteixen recursos implementats. Això fa que sigui possible crear un workload i assignar-li la quantitat de CPU i concurrència.
Pel que fa a la preparacó i ingesta de dades suporta streaming de manera integrada (Native SQL Streaming) per generar anàlisi, per exemple, amb integració amb Event Hub o amb un IoT Hub. Ho aconsegueix assolint un rendiment elevat de fins a 200 MB/segon, latències d'entrega en segons, escales de rendiment d'ingesta amb escala de computació i capacitats d'anàlisi amb consultes bassades en Microsoft SQL per a combinacions, agregacions, filtres...
Per últim, no podem acabar sense destacar altres aspectes interessants d'Azure Synapse que ajuden a accelerar la càrrega de dades i facilitar els processos. Entre ells hi ha:
En definitiva, Azure Synapse és un servei que garanteix la línia de desenvolupament per assegurar als clients d'SQL DW poder seguir executant les càrregues de treball d'emmagatzematge de dades existents en producció i beneficiar-se automàticament de les noves funcionalitats.