1. L’evoluzione delle Data Platform
Nell’ambito dei sistemi a supporto delle decisioni, Data Warehouse, Data Lake e Data Lakehouse sono il cuore delle soluzioni tecnologiche e metodologiche che, sfruttando al meglio i dati a disposizione delle organizzazioni, possono supportare il business nel prendere decisioni migliori. Approfondire questi concetti significa inevitabilmente esplorare l’evoluzione delle Data Platform negli anni: i motivi, i limiti riscontrati, lo stato dell’arte delle soluzioni più moderne e gli aspetti tecnologici essenziali.
Prima di addentrarci in scenari specifici, tuttavia, è opportuno definire quali siano i principali obiettivi di tali sistemi, soffermandoci su quelli più rilevanti per gli aspetti di memorizzazione e interrogazione dei dati:
- Qualità: avere dati certificati, informazioni accurate, unica versione della verità;
- Completezza: utilizzare tutti i dati a disposizione, sfruttando a pieno il patrimonio informativo. Un dato non utilizzato rappresenta un’opportunità persa;
- Self service: prevedere reportistica istituzionale (più o meno interattiva) ma anche dare agli utenti finali la possibilità di approfondire in autonomia le analisi;
- Flessibilità: evolvere e realizzare nuovi use case di analisi con semplicità e velocità, indirizzando requisiti sempre più stringenti di time to market.
Un buon sistema analitico tradizionale, basato su un Data Warehouse, mappa pienamente gli obiettivi di Qualità. Se il Data Warehouse è progettato utilizzando un approccio metodologico adeguato – ad esempio mediante utilizzo di formalismo grafico DFM – Dimensional Fact Model – è in grado di raggiungere anche buoni livelli di completezza e Self service. Le interazioni con il Data Warehouse avvengono principalmente in modalità OLAP (Drill down, Roll up, Slice&Dice).
2. Cos’è un Data Lake? Storia, successi e limiti
Con l’avvento dei Big Data, le opportunità di analisi sono aumentate in maniera esponenziale e un approccio basato soltanto su un Data Warehouse ha ben presto mostrato i suoi limiti: sia tecnologici, legati alle moli dati importanti ma soprattutto alla gestione dei dati non strutturati, sia metodologici. La scarsa flessibilità di un approccio rigido e governato centralmente porta inevitabilmente limiti sulla completezza delle analisi e una generale insoddisfazione in ottica di Time to market.
Le organizzazioni hanno iniziato a dotarsi di figure professionali nuove – i Data Scientist – con l’obiettivo di sperimentare e implementare rapidamente nuove analisi, nuovi modelli, anche ricorrendo a tecniche di Intelligenza artificiale e Machine Learning, spesso partendo da dati grezzi o semilavorati. Questa evoluzione verso la massima flessibilità è stata accompagnata, a livello di Data Platform, da un trend di diffusione dei Data Lake.
Un Data Lake non è altro che un’area di storage in cui i dati vengono memorizzati in formato “open” (es. CSV, Avro, Parquet) su file system distribuiti, in genere HDFS o sue evoluzioni. Trattandosi di file system, tali soluzioni presentano alcune caratteristiche peculiari rispetto a un Data Warehouse:
- Basso costo di storage: è possibile memorizzare grandi moli di dati a costi molto bassi.
- Presenza di un engine dedicato alla gestione ottimizzata e parallela delle query: tralasciando alcuni specifici casi d’uso in cui è possibile lavorare direttamente sui singoli file tramite procedure R o Python, gli analisti hanno bisogno di accedere in modalità SQL-like ai dati. Questo è possibile tramite tool derivanti dall’ecosistema Hadoop (es. Hive) o tramite cluster basati su Spark.
- Schema on read: poiché tutti i dati, anche quelli strutturati, vengono memorizzati su file in formato open, è soltanto in fase di interrogazione che verrà applicato uno schema – e i relativi controlli – a tali dati. Questo garantisce la massima flessibilità a fronte di nuove sorgenti informative o a modifiche ai tracciati dati.
- Write once: trattandosi di file system distribuiti, che prevedono una replica dei file su più nodi, i file risultano immutabili: non è possibile modificare tali file, ma soltanto eliminarli o aggiungerne nuovi. Questo rende impossibili alcune operazioni sulle strutture dati, come ad esempio le operazioni di Update.
L’avvento dei Data Lake, molto promettente fin dal principio, è stato affrontato con grande entusiasmo da parte delle organizzazioni di tutti i settori, che sono riuscite a sviluppare nuovi casi d’uso fino a quel momento impensabili, grazie a tecnologie come Big Data Analytics e Predictive Analytics, alle competenze dei Data Scientist e a linguaggi con ecosistemi in rapida evoluzione come R e Python o tecnologie di Data Wrangling semplificate. Per qualche tempo gli analisti di settore si sono interrogati se il concetto del Data Warehouse, legato ormai a una visione troppo rigida e tradizionale, potesse essere soppiantato dal Data Lake.
Nei fatti, però, le caratteristiche dei Data Lake evidenziate sopra, grandi abilitatrici del mondo della Data Science, hanno mostrato alcuni limiti. Infatti, se le limitazioni imposte dalla caratteristica “Write once” hanno creato poche implicazioni (operazioni di Update erano comunque già una pratica da evitare in una buona implementazione di Data Warehouse), lo stesso non si può dire dei problemi di qualità e scarsa governabilità di un approccio basato su file con “schema on read”. Inoltre, le performance di un Data Lake in caso di interrogazioni OLAP sono molto dipendenti dagli engine utilizzati, che spesso – soprattutto nelle prime versioni Hadoop – hanno presentato problemi soprattutto in termini di latenza. Problemi non facilmente superabili mediante i meccanismi di scalabilità orizzontale, croce e delizia dei sistemi distribuiti.
Oltre a problematiche di governance e gestione GDPR-compliant dei dati, questo implica una limitata interattività da parte dell’analista abituato a un tradizionale Data Warehouse, difficoltà nell’implementazione di caricamenti frequenti e incrementali e di conseguenza uno scarso utilizzo di tali piattaforme.
3. Data Lake e Data Warehouse insieme?
Negli anni, quindi, si è affermato un disegno di Data Platform moderna che comprende al suo interno entrambi gli elementi:
- Un Data Lake: repository a basso costo dei layer più grezzi dei dati, abilitatore di sperimentazioni e use case da parte dei Data Scientist.
- Un Data Warehouse contenente i layer più raffinati, esito delle logiche di trasformazione, certificazione e modellazione dei dati, come base per gli use case più analitici come reporting, dashboarding o che richiedano una governance e una qualità elevata.
Per semplificare l’accesso ai diversi elementi, in alcuni casi sono previste tecnologie di Data Virtualization, che consentono di gestire in un unico punto gli accessi ad entrambe le famiglie di tecnologie, realizzando così quello che alcuni analisti chiamano Logical Data Warehouse. La coesistenza di entrambi gli approcci mappa egregiamente i vari obiettivi di una Data Platform, consentendo di agire in modalità più “agile” o in modalità più “governata” a seconda dei casi. Questo rappresenta lo stato dell’arte delle migliori Data Platform ad oggi utilizzate dalle organizzazioni.
4. Data Lakehouse: pilastri fondamentali e tecnologie
Resta tuttavia la sensazione che la replica dei dati su due livelli architetturali e il mantenimento di una piattaforma così articolata potrebbe non essere il punto di arrivo ottimale. Ed è proprio in questo contesto che si inserisce l’idea del Data Lakehouse: il “Santo Graal” in grado di combinare i vantaggi del Data Lake e del Data Warehouse in un unico stack tecnologico, senza replica dei dati, proprio come nel nome. Ma in cosa consiste?
L’idea del Data Lakehouse si sviluppa attorno ai seguenti pilastri:
- Lo storage dei dati avviene su file system (in genere di tipo Object Storage), come nel Data Lake. Vantaggi: basso costo, massima flessibilità, supporto anche a dati non strutturati.
- Il formato dei dati deve contenere anche i metadati e consentire operazioni ACID. Esempi sono Delta Lake e Apache Iceberg.
- L’engine utilizzato per interagire con i dati deve garantire performance adeguate in caso di interazioni di tipo OLAP. Tali engine vengono anche chiamati Query Accelerator.
Sull’onda di questa idea sono nate alcune tecnologie e vendor, che basano il proprio offering sul concetto di Data Lakehouse e Query Acceleration. È il caso di Databricks, Dremio, Trino/Starburst, AWS Athena, ognuno dei quali vanta caratteristiche peculiari rispetto agli altri.
Inoltre, è possibile disegnare una Data Platform in ottica Data Lakehouse anche utilizzando tecnologie cloud più orientate al Data Warehouse (es. Snowflake, AWS Redshift, Azure Synapse) che nel tempo hanno reso possibile l’utilizzo di Object Storage, oppure utilizzando suite legate al mondo Data Lake (es. Cloudera) che nelle ultime versioni includono engine sempre più performanti.
5. Data Lake e Data Lakehouse nelle Data Platform del futuro
Dando uno sguardo al futuro, il Data Lakehouse sarà veramente in grado di soppiantare tutti i Data Warehouse e i Data Lake? Di fatto l’approccio Data Lakehouse non è altro che un’evoluzione dei primi Data Lake, possiamo considerarlo come un Data Lake di seconda generazione, un passo in avanti delle componenti tecnologiche fondamentali di una Data Platform.
Non dimentichiamoci, infine, che una Data Platform moderna è un ecosistema composto da molteplici tecnologie, non solo dalle componenti base di storage e query, ma anche strumenti di Data Integration, Transformation, Data Quality, Data Governance, Security, storage NoSQL per esigenze specifiche, ecc.
In conclusione, ciò che occorre stabilire – oltre al landscape tecnologico – è la metodologia di progettazione, Data Modeling e sviluppo di una Data Platform, ovvero identificare il giusto compromesso tra flessibilità e governance. In altre parole, si tratta di definire tutti gli aspetti della propria Data Strategy, da quelli organizzativi come la scelta di un paradigma come il Data Mesh, a quelli più tecnici (es. Data Lakehouse o Data Warehouse?) e infine metodologici: un design concept come il Data Fabric, ad esempio, può rivelarsi estremamente efficace per un utilizzo appropriato dei metadati nell’ottica di realizzare una Data Platform più agile e flessibile.
Marco Mantovani, Senior Manager
Vuoi approfondire ulteriori aspetti sulle tecnologie e metodologie di Data Integration da implementare in un Data Lakehouse ed esplorare i vantaggi del Cloud per una moderna Data Platform?
Contattaci >>