Il seguente articolo ha l’obiettivo di illustrare un esempio di come sia possibile usare Azure Synapse Analytics con l’ampia famiglia dei servizi ospitati nel cloud Azure, al fine di realizzare una piattaforma dati moderna e in grado di rispondere alle esigenze più comuni che nascono in un’organizzazione che vuole utilizzare appieno i propri dati.
Architettura
Casi d'uso di analisi
I casi d’uso delle analisi che possono essere coperti dall’architettura sono illustrati partendo dalle diverse origini dati (strutturati, semi-strutturati, non strutturati e streaming) che sono posizionate sul lato sinistro del diagramma, mentre il flusso dei dati, che viene scomposto in fasi (inserimento, archiviazione, elaborazione, arricchimento e utilizzo) avviene dal basso verso l’alto.
Vediamo qui di seguito come sono strutturate le varie fasi.
Inserimento (Ingest)
Usare le pipeline di Azure Synapse/Azure Data Factory per eseguire il caricamento dei dati utilizzando un’ampia gamma di connettori verso database (ospitati sia nel cloud sia on-premises) oppure file semi-strutturati (file CSV o JSON) o file non strutturati (quali immagini, video o frutto di chiamate API REST).
Le pipeline possono essere attivate in base a una pianificazione predefinita, in risposta a un evento oppure possono essere chiamate in modo del tutto esplicito tramite le API REST.
Archiviazione (Store)
Organizzare il data lake (Azure Data Lake Store Gen 2) utilizzando best practice basate sulla zona, struttura delle cartelle, formato dei file e criteri di accesso (ACLS) per ogni scenario di analisi.
Utilizzando le pipeline di Azure Synapse/Azure Data Factory è possibile, sfruttando le attività di copia dati, eseguire lo “staging” dei dati copiati dalle sorgenti dati nella zona non elaborata (raw) del data lake; è possibile salvare i dati in formato testo delimitato (CSV) o nella modalità colonnare compressa come file Parquet.
Elaborazione e arricchimento (Process & Enrich)
Usare la componente Data Flow delle pipeline Azure Synapse/Azure Data Factory, query SQL Serverless oppure notebook Spark per eseguire delle operazioni di convalida, trasformazione e arricchimento dei dati nella zona curata/preparata del data lake.
Ulteriormente, è possibile richiamare dei modelli di Machine Learning da pool SQL con T-SQL standard (tramite comando Predict) o tramite notebook Spark; questi modelli di ML possono essere usati per arricchire i set di dati e generare altre informazioni dettagliate oppure essere utilizzati da servizi cognitivi di Azure o direttamente nel servizio Azure ML.
È possibile archiviare i dati in tabelle Synaspe SQL pool per implementare le funzionalità di un Enterprise Datawarehouse oppure, utilizzando la component Serverless del motore Synapse, implementare un Logical Datawarehouse basato sulla zona curata del data lake.
Fruizione (Serve)
Caricare i dati rilevanti dal Azure Synapse SQL pool o dal data lake nei Dataset di Power BI oppure nei modelli Tabular di Azure Analysis Services, per la visualizzazione dei dati: i modelli di Power BI/Azure Analysis Services rappresentano in questo caso il modello semantico per semplificare l’analisi dei dati e delle loro relazioni; gli utenti di business, utilizzando i report e i dashboard Power BI, possono analizzare i dati ed estrarre informazioni dettagliate aziendali.
I dati strutturati e non strutturati archiviati in Synapse o nel data lake possono anche essere usati per creare soluzioni di knowledge mining e usare l’AI per scoprire ulteriori preziose informazioni aziendali.