Data Warehouse come l'abbiamo sviluppato
By Sara Salaris
Data Warehouse è un sistema centralizzato che raccoglie, archivia e gestisce grandi quantità di dati provenienti da diverse fonti aziendali. È progettato per supportare l’analisi dei dati, il reporting e il processo decisionale strategico all’interno di un’azienda.
Perché utilizzare un Data Warehouse in azienda?
-
Integrazione dei Dati: Unisce dati provenienti da diverse fonti, come prenotazioni, fatturato, cartella clinica, in un unico sistema coerente, permettendo una visione d’insieme.
-
Analisi Avanzata: Facilita l’analisi complessa e il reporting avanzato, consentendo di individuare trend, pattern e opportunità strategiche.
-
Accesso Rapido alle Informazioni: Permette l’accesso rapido ai dati storici e aggiornati, supportando decisioni aziendali tempestive e informate.
-
Qualità dei Dati: Migliora la qualità dei dati attraverso la pulizia e la standardizzazione e possibilità di implementare dei controlli automatizzati sui valori attesi.
-
Supporto al Processo Decisionale: Fornisce una base dati solida per il Business Intelligence (BI), aiutando i manager a prendere decisioni basate su dati concreti piuttosto che su intuizioni o supposizioni.
Al Santagostino si è scelto di utilizzare i servizi di Google Cloud per costruire il data warehouse aziendale.
Di seguito è riportato uno schema architetturale semplificato della soluzione adottata:
Nello specifico sono stati utilizzati i seguenti servizi:
-
Google Dataflow è un servizio completamente gestito di elaborazione dati per il processamento di batch e stream. Permette di creare e gestire pipeline di dati scalabili, utilizzando modelli di programmazione basati su Apache Beam.
Questo servizio è stato impiegato per l’ingestione dei dati. Sono stati implementati dei connettori ciascuna fonte di dati, che permettono di trasferire i dati direttamente dalla sorgente a BigQuery senza alcuna elaborazione intermedia. -
Google Cloud Composer è un servizio di orchestrazione dei workflow basato su Apache Airflow. Permette di progettare, pianificare e monitorare pipeline di dati complesse e flussi di lavoro, automatizzando processi e coordinando operazioni tra diverse risorse. Questo servizio è stato impiegato per l’orchestrazione e implementazione delle pipeline di trasformazione al fine di costruire all’interno del data warehouse diversi livelli di aggregazione del dato. L’utilizzo di questo servizio ha permesso l’aggiunta di controlli di coerenza sui dati e creazione di sistema di alerting in caso di incongruenze o di mancate esecuzioni.
-
Google BigQuery è un servizio di data warehouse serverless e altamente scalabile per l’analisi dei dati. Permette di eseguire query SQL su grandi volumi di dati in modo veloce e con costi ridotti, senza la necessità di gestire l’infrastruttura sottostante. Questo servizio è stato impiegato per la creazione dei diversi layer di analisi e costituisce il vero cuore della soluzione. Pertanto, le tabelle raw vengono combinate per generare entità utilizzate nelle analisi, dalle quali sono state create forme già aggregate per accelerare l’accesso alle informazioni rilevanti per la BI.
Il nostro DWH è stato strutturato su tre livelli:
- Raw Zone: è lo strato nella quale vengono raccolti i dati raw ovvero i dati così come sono alla fonte vengono copiati in questa area senza subire alcun tipo di trasformazione. Sarà presente un dataset per ogni fonte dato e le tabelle al suo interno presenteranno il nome delle tabelle così come sono chiamate nel sistema sorgente e vengono partizionate per timestamp di ingestion.
- Process Zone: è lo strato dati nella quale vengono eseguite le prime trasformazioni dati, questi vengono manipolati (vengono effettuate operazioni com cast renaming etc) al fine di riportare il dato ad una forma utilizzabile per a trasformazioni finali che renderanno di fatto il dato realmente utilizzabile
- Refine Zone: è lo strato finale in cui viene esposto il dato “raffinato” ovvero il dato viene ripulito e manipolato al fine da poter essere utilizzato con facilità dall’utente finale; questo è lo strato su cui si attaccherà la BI istituzionale e potranno effettuare le proprie query gli utenti finali per analisi spot o self-service BI.
…..
Conclusioni
In sintesi, il Data Warehouse è uno strumento cruciale per centralizzare e analizzare dati da diverse fonti, facilitando decisioni aziendali basate sulla visione globale dei dati aziendali. Utilizzando i servizi di Google Cloud, in particolare Google Dataflow, Cloud Composer e BigQuery, Santagostino è stata in grado di creare un’infrastruttura scalabile, efficiente e sicura per il trattamento e l’accesso ai dati. Inoltre la scelta di stratificazione del Data Warehouse, pratica chiave che ottimizza l’architettura del sistema suddividendo i dati in diversi livelli o strati, ha permesso di migliorare l’efficienza operativa, rendere più rapide le query e facilita la gestione e la manutenzione dei dati.
Questa soluzione integrata offre dunque un’infrastruttura robusta per il futuro dell’analisi dati, migliorando l’efficienza operativa e potenziando la capacità dell’azienda di rispondere rapidamente alle esigenze di mercato e di gestione interna.