Il data warehouse è ancora vivo? Negli ultimi anni la tecnologia basata su cloud ha, senza ombra di dubbio, rivoluzionato il mondo delle infrastrutture aziendali, consentendo alle organizzazioni di poter archiviare e gestire facilmente sempre più dati appartenenti ai loro processi, clienti, prodotti, vendite, dipendenti e così via.
Ovviamente, l’idea e l’obiettivo per ciascuna impresa è quello di trasformare i dati in valore così da poter prendere importanti decisioni aziendali (“data driven”) non basate sull’istinto o sul gusto personale.
Il cloud è probabilmente la forza più dirompente per un approccio radicalmente nuovo alle architetture dati, poiché offre a ogni organizzazione un modo per scalare rapidamente piattaforme e capacità per poter raggiungere un vantaggio competitivo, ottenendo agilità senza nuovi investimenti in infrastrutture.
Dal data warehouse al data lake
Data warehouse è stata la parola d’ordine degli ultimi due decenni e i big data sono (e continuano a essere) una tendenza degli ultimi dieci anni.
Oggi, sono sulla cresta dell’onda i data lake, i database lake e il modello lakehouse che consente di conservare una grande quantità di dati in un repository di archiviazione centralizzato.
Certamente, spesso per una buona ragione ma, a volte, anche perché è un’idea di moda – una tendenza in voga in un momento o in un contesto particolare.
Detto ciò, mettere i dati in un unico posto non è sufficiente per raggiungere l’obiettivo di diventare un’organizzazione basata sui dati così, piuttosto che concentrarsi sulle tecnologie, bisognerebbe sempre prima capire come possa essere possibile trasformare i dati, le informazioni a propria disposizione, in un valore così da diventare un aiuto aziendale significativo per le imprese.
Quindi, prima di parlare di strumenti e piattaforme, potrebbe essere interessante soffermarsi prima sulla strategia che può aiutare ogni azienda a prendere decisioni informate in base ai propri dati, a patto di mantenerli corretti, veloci, sicuri e conformi.
È evidente che qualsiasi azienda che voglia avere successo in futuro deve prendere buone decisioni.
Il data warehouse è ancora la soluzione migliore?
Quindi, qual è la migliore fonte per poterlo fare? Forse utilizzando un data warehouse ben progettato, il fondamento di qualsiasi progetto di business intelligence e di analisi?
Il concetto di data warehousing, un database progettato per abilitare attività sui dati che combina e organizza grandi quantità di informazioni provenienti da molte fonti diverse, è semplice: su base periodica i dati vengono estratti da differenti sistemi sorgente eterogenei (le fonti dati), che potrebbero essere applicazioni come i sistemi ERP, EPM, applicazioni per le risorse umane, ecc.
Questi vengono copiati dalle origini verso una piattaforma che contiene, appunto, un data warehouse.
Semplificando il passaggio: quando vengono portati sulla nuova piattaforma, possono essere puliti, convalidati, aggregati e riorganizzati. In alternativa, i dati possono essere archiviati nel livello di dettaglio più basso, costruendo poi delle aggregazioni per poter fare analisi e reportistica.
Il modello che si crea in questo “magazzino” non ha bisogno di seguire la stessa struttura che si ha nelle fonti che vengono lette. Piuttosto, può essere interessante utilizzare nomi di attributi che abbiano un senso per gli utenti che avranno poi a che fare con queste informazioni, rimodellare lo schema per semplificare o scegliere relazioni diverse e consolidare più strutture / tabelle in una (l’azione di denormalizzare).
Questo DWH risultante diventerà, così, la fonte principale per report, interrogazioni strutturate e/o ad hoc, analisi in genere.
Il DWH, di fatto, diventa l’unica fonte certa, credibile, per l’organizzazione.
Ci sono diversi vantaggi relativi al DWH:
- migliori analisi aziendali
- risposte più veloci alle domande
- migliore qualità dei dati
- possibilità di comprendere la storia dell’organizzazione
- unico punto di verità
- sicurezza e compliance.
Lo scopo del data warehouse
Nel corso degli anni, grazie ai progressi negli strumenti, nei processi e nella migliore comprensione delle architetture, è diventato più facile costruire e modellare dei DWH.
Il suo concetto base, alla fine, non è difficile da comprendere: lo scopo è creare un archivio permanente e interrogabile per contenere i dati necessari a supportare l’analisi e la decisione (reporting, analytics e altre funzioni di BI).
Per onestà intellettuale, parlando di alcuni casi reali, è vero che l’unico motivo per cui vengono creati DWH è quello di relazionare dati, provenienti da fonti disparate, in un unico sistema accessibile a scopo di reporting.
Se si fosse in presenza di questo caso, e un’organizzazione avesse bisogno solo di report e dashboard interattivi, allora ci sono ottimi strumenti che, molto probabilmente, potrebbero eliminare la necessità di uno strato non essenziale (semplificare le architetture, se e dove possibile, è sempre una strategia interessante).
Naturalmente, parlando di data lake, mentre i dati raccolti in repository sempre più economici si espandono, c’è molto di più che si può fare rispetto a una semplice conservazione dell’informazione.
La maggior parte delle attività sono casi d’uso che un’organizzazione potrebbe non aver ancora identificato e, forse, potrebbe non essere in grado di farlo fino al momento in cui non si sarà capito (o non si avrà avuto la possibilità di “giocare” con) i dati.
I vantaggi
Il DWH continua a soddisfare le esigenze degli utenti e continua a fornire valore alle aziende, non può essere altrimenti.
Molti strumenti, processi e persone usano / dipendono / si fidano dei dati mantenuti e gestiti qui e non hanno bisogno di sostituire questo tipo di piattaforma con uno strumento diverso, come può essere un data lake, che possa diventare più interessante come sistema self-service per data scientist e per “utenti esperti” (e non semplici “consumatori di dati”).
Il punto, qui, è che non tutti gli utenti vogliono diventare utenti esperti (power user) a causa della mancanza di competenze o necessità di ruolo/mansione ma anche perché nella grande maggioranza dei casi si continua ad aver bisogno di dati già integrati, consolidati, certificati e di facile accesso: questo tipo di persone deve essere servito tramite un DWH dove, si potrebbe dire, i dati sono pronti per l’uso.
Sicuramente, parlando di architetture moderne, dobbiamo anche sempre offrire consigli sull’utilizzo delle capacità di archiviazione e gestione di grandi quantità di dati strutturati o non-strutturati per permettere di aggiungere valore alle soluzioni DWH e BI: in questo senso, un data lake fornisce un repository (più economico) dove possiamo facilmente (e velocemente) caricare e archiviare enormi quantità di dati grezzi, con un occhio alle analisi ad alte prestazioni dei big data.
Proprio per il fatto che i dati sono grezzi e non elaborati, questa piattaforma è molto veloce da caricare e da aggiornare ma, per questo stesso motivo, i dati non vengono gestiti in strutture adatte per un’analisi efficiente: in un certo senso è come se fosse un punto di sosta (staging area) per i dati importati prima che vengano trasformati in un formato utile alle analisi.
Tutte le fonti esterne possono semplicemente scrivere un file in una determinata posizione e, solo dopo, vengono eseguite eventuali fasi di estrazione e trasformazione dell’ELT (è corretto come è scritto: “Load” prima di “Transform”).
ETL e data warehouse
Ci sono almeno tre punti su come questa tecnologia possa essere utilizzata in modo differente da un DWH per disegnare nuove opportunità e nuove sfide a ricercatori e sviluppatori:
- non esiste un processo di trasformazione centralizzata (ETL) per il caricamento dei dati
- gli utenti vogliono eseguire molti tipi di analisi sugli stessi dati
- gli utenti vogliono che i loro data lake siano gestiti “serverless”
Alla fine, entrambi i sistemi – data lake e data warehouse – sono due piattaforme importanti in una moderna architettura dei dati.
Con alcune cose in comune, entrambe:
- hanno lo scopo di aiutare le organizzazioni a prendere decisioni migliori
- sono di interesse per analisti e data scientist
- sono progettate per memorizzare grandi quantità di dati aziendali
Possiamo affermare che sono complementari e non alternative.
E, forse, potremmo considerare il data lake come una soluzione più tecnica, mentre il DWH come una soluzione più business.
Conclusioni
Proviamo, allora, a tornare alla domanda che ci eravamo posti in origine: il data warehouse è ancora vivo? E ancora: i data lake sostituiranno i data warehouse?
La risposta è no. Ad oggi, le due opzioni sono complementari l’una all’altra.
Se le persone della mia azienda hanno bisogno di conoscere, dai dati, quelle che sono le entrate dell’ultimo mese rispetto a quelle del mese precedente, le vendite in un determinato paese, l’aumento dei guadagni su base annua, l’andamento delle prestazioni aziendali… possono farlo al meglio solo tramite il loro DWH.
A essere onesti, entrambi i sistemi possono arrivare a rispondere alle stesse domande, ma con prestazioni molto diverse e con un’implementazione delle interrogazioni (ovverosia con una complessità) molto diversa.
Un motore di database, con tutte le sue funzionalità (indicizzazione, statistiche, piani di esecuzione, relazioni, memorizzazione nella cache, …), rende molto facile ottenere risposte a domande prevedibili: è pensato e costruito per gestire dati in schemi che saranno in grado di dare, rapidamente, quella che è l’elaborazione richiesta.
Le organizzazioni hanno bisogno di un data warehouse per prendere decisioni informate, solide ed efficaci: se abbiamo davvero bisogno di sapere cosa sta succedendo nella nostra azienda, abbiamo bisogno di dati affidabili, certi, sicuri, credibili e accessibili da chi può avere il permesso di interrogarli.