Dalla nascita del concetto di data warehousing alla fine degli anni ‘80 del secolo scorso ad oggi, l’evoluzione dei sistemi di gestione e analisi dei dati è stata imponente e disorganica. Le novità e complessità emerse hanno interessato diverse dimensioni: l’aumento esponenziale dei dati da trattare e la loro natura, i formati e le tecniche di memorizzazione, l’evoluzione dei sistemi di analisi e l’utilizzo del machine learning, per citare i più significativi; a complicare ulteriormente il quadro la mancanza di riferimenti chiari sulla terminologia e caratteristiche in parte sovrapponibili.
Storicamente Data Warehouse prima e Data Lake poi sono stati considerati come la soluzione completa per il data management. Tuttavia, questo approccio che centralizza su una singola soluzione ha dimostrato molti limiti: fattori come la necessità di trattare dati di natura sempre più varia e distribuita, l’aumento della platea dei consumatori e la loro appartenenza a gruppi eterogenei, la necessità di rimuovere colli di bottiglia legati alla centralizzazione delle funzioni di gestione dei dati e la necessità di un approccio alla governance più flessibile hanno richiesto la ricerca di soluzioni diverse.
Un esempio significativo di come si è evoluto il data management per far fronte a tutte queste sfide è rappresentato dal data mesh. È importante chiarire che affrontare il data management in modo differente non implica come in passato la mera sostituzione di tecnologie ma la realizzazione di un sistema distribuito che utilizzi gli strumenti esistenti e li integri per un governo efficace e all’altezza delle necessità.
Prima di procedere con la discussione è utile approfondire caratteristiche e limiti di applicabilità di warehouse, lake e hub.
Data Warehouse
I Data Warehouse sono nati come sistemi specializzati per l’analisi dei dati nell’era in cui la sola tecnologia a supporto erano i database relazionali. I DW avevano lo scopo di centralizzare le informazioni provenienti dai diversi sistemi operazionali e organizzarle per renderle disponibili a sistemi di supporto alle decisioni.
Le caratteristiche principali di un DW sono:
- Aggrega dati da più fonti e gestisce dati strutturati
- Supporta la realizzazione di analisi predefinite e ripetitive
- Supporta l’esecuzione di query complesse (tipicamente SQL like)
- Gli use case principali sono business intelligence (BI) e reporting
Mentre i limiti di applicabilità riguardano:
- Non sono indicati per use case di machine learning
- Hanno limiti di scalabilità e flessibilità nella gestione di moli di dati enormi e di natura eterogenea
- Progetti di grandi dimensioni tipicamente richiedono alti costi di manutenzione
Data Lake
Apache Hadoop può essere considerato il precursore dei moderni Data Lake, Il progetto open-source infatti ha introdotto la tecnologia per il processing distribuito di dati semi-strutturati e non strutturati permettendo di eseguire analisi su tipologie di dati e quantità non gestibili con i prodotti preesistenti. I Data Lake a differenza dei DW permettono di eseguire analisi sui dati nel loro formato originale e supportano un’ampia gamma di use case analitici con differenti stili di processing e approcci.
Le caratteristiche principali di un Data Lake sono:
- Capacità di utilizzare storage a basso costo (ad es. object storage)
- Capacità di supportare molti use case analitici (analisi esplorative, processi batch massivi, machine learning, …)
- Supporto di un’ampia gamma di tecnologie per il computing distribuito (ad es. Apache Spark)
E i limiti di applicabilità:
- Non impongono requisiti sulla qualità del dato
- Mancanza di sistemi di gestione di concetti come l’isolamento delle operazioni e la consistenza
- Non supportano transazioni
Data Hub
I Data Hub a differenza di Lake e Warehouse non sono focalizzati sull’esecuzione di analisi sui dati bensì sulla loro distribuzione e governance. È un pattern architetturale relativamente recente, infatti nell’Hype Cycle 2021 di Gartner la tecnologia ha appena superato il picco di inflated expectation con una penetrazione di mercato tra il 5% e il 20% del mercato potenziale; in questo modello produttore e consumatore dei dati aziendali sono collegati attraverso un hub, promuovendo un’efficace condivisione e governance del patrimonio informativo gestito.
Di seguito le principali caratteristiche:
- Permettono di razionalizzare il flusso dei dati tra sorgenti e consumatori
- Supportano meccanismi di governance e di controllo di accesso
- Supportano un ampio range di use case (principalmente operazionali)
- Permettono l’applicazione di diverse strategie di processing (stili di integrazione, tecniche di persistenza, metodi di accesso ai dati)
E i relativi limiti di applicabilità:
- Non adatti a use case di tipo analitico
- Non adatti per il salvataggio massivo di dati a basso costo (non supportano il salvataggio su object storage ma utilizzano tecnologie database)
- Non adatti per l’esecuzione di modelli di machine learning
Data Warehouse, Data Lake, Data Hub: come orientarsi?
Le tre architetture presentano caratteristiche distintive e un proprio ambito di applicabilità.
Data Lake e Data Warehouse supportano entrambi carichi di lavoro analitici ma con importanti differenze sulla tipologia di attività, mentre i Data Hub sono orientati alla condivisione e governance. Esistono punti di contatto e sovrapposizioni, ad esempio un DW può essere utilizzato per specifiche indagini esplorative o un Data Hub può essere utilizzato per realizzare report o attività di business intelligence; tuttavia, i confini di applicabilità e le caratteristiche fondamentali risultano chiare e a supporto di specifici use case.
In conclusione, riteniamo che nel panorama odierno del data management sia molto più efficace considerare queste architetture come complementari piuttosto che alternative, valutando l’architettura complessiva in chiave evolutiva e quindi sfruttando le caratteristiche distintive di queste tecnologie rispetto ai bisogni da soddisfare, mantenendo aggiornato il piano strategico sulla base delle necessità emergenti e riflettendo tali necessità in scelte tecnologiche. Viste sotto questa luce, infatti le tre architetture possono soddisfare le necessità in maniera sinergica per massimizzare il valore degli investimenti in quest’area.