Passa al contenuto principale

Data lakehouse

Prova Databricks gratis

Che cos'è un lakehouse?

Il data lakehouse è una nuova architettura aperta per la gestione dei dati che unisce la flessibilità, l'economicità e la scalabilità dei data lake alle funzionalità di gestione dei dati e alle transazioni ACID dei data warehouse, per realizzare attività di business intelligence (BI) e machine learning (ML) su tutti i dati.

Data lakehouse: semplicità, flessibilità e costi ridotti

I data lakehouse introducono un nuovo concetto di sistema aperto: implementare strutture e funzionalità per la gestione dei dati simili a quelle di un data warehouse direttamente su un sistema di stoccaggio dei dati analogo a quello dei data lake. Fondendo queste due tecnologie in un unico sistema, i team di gestione dei dati possono agire più velocemente, in quanto possono utilizzare i dati senza bisogno di accedere a diversi sistemi. Inoltre, i data lakehouse fanno sì che i team abbiano sempre a disposizione i dati più completi e aggiornati per progetti di data science, machine learning e business analytics. Evoluzione dello stoccaggio di dati, dai data warehouse ai data lake ai data lakehouse

Le tecnologie abilitanti del data lakehouse

Il data lakehouse poggia su alcune tecnologie chiave:

  • livelli di metadati per data lake;
  • motori di query di nuova concezione per seguire interrogazioni SQL ad alte prestazioni su data lake;
  • accesso ottimizzato per strumenti di data science e machine learning.

I livelli di metadati, come Delta Lake open-source, si innestano su formati di file aperti (ad es. file Parquet) e tracciano quali file fanno parte delle diverse versioni della tabella, per offrire ricche funzionalità di gestione come transazioni conformi ad ACID. I livelli di metadati abilitano altre funzionalità comuni dei data lakehouse, come supporto per streaming I/O (che elimina la necessità di bus di messaggi come Kafka), viaggi nel tempo a versioni precedenti della tabella, applicazione ed evoluzione di schemi, e convalida dei dati. Le prestazioni sono fondamentali affinché i data lakehouse diventino l'architettura dati predominante nelle aziende moderne, poiché è una delle ragioni principali per cui esistono i data warehouse nell'architettura a due livelli. Mentre i data lake con archivi di oggetti a basso costo avevano un accesso lento in passato, i motori di query di nuova concezione consentono analisi SQL ad alte prestazioni. Queste ottimizzazioni comprendono memorizzazione in cache di dati "caldi" in RAM/SSD (possibilmente transcodificati in formati più efficienti), ottimizzazione del layout dei dati per creare cluster di dati ad accesso congiunto, strutture di dati ausiliari come statistiche e indici, ed esecuzione vettorizzata su CPU moderne. La combinazione di queste tecnologie consente ai data lakehouse di raggiungere prestazioni su grandi set di dati che competono con i data warehouse, secondo i test comparativi TPC-DS. Grazie ai formati di dati aperti utilizzati dai data lakehouse (come Parquet), diventa molto facile per data scientist e tecnici di machine learning accedere ai dati nel lakehouse. A tale scopo possono utilizzare strumenti molto diffusi nell'ecosistema DS/ML come pandas, TensorFlow, PyTorch e altri che possono accedere a sorgenti come Parquet e ORC. Spark DataFrames mette inoltre a disposizione interfacce dichiarative per questi formati aperti che consentono un'ulteriore ottimizzazione degli I/O. Le altre funzionalità del data lakehouse, come storico delle revisioni e viaggi nel tempo, contribuiscono ulteriormente a migliorare la riproducibilità nel machine learning. Per approfondire gli sviluppi tecnologici che stanno guidando la transizione verso il data lakehouse, consigliamo la lettura del documento di CIDR Lakehouse: A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics e dello studio universitario Delta Lake: High-Performance ACID Table Storage over Cloud Object Stores.

Storia delle architetture di dati

Nozioni generali sui data warehouse

I data warehouse vantano una lunga storia nelle applicazioni di supporto alle decisioni e di business intelligence, nonostante fossero inadatti o molto costosi per gestire dati non strutturati e semi-strutturati o dati con varietà, velocità e volumi elevati.

L'avvento dei data lake

Sono quindi nati i data lake per gestire dati grezzi in svariati formati su sistemi di storage a basso costo per attività di data science e machine learning, ma non avevano le funzionalità critiche dei data warehouse: non supportano transazioni, non assicurano la qualità dei dati e, inoltre, la mancanza di coerenza/isolamento rende pressoché impossibile mischiare scritture e letture, lavori in batch e in streaming.

Architettura di dati a due livelli

I team di gestione dei dati "cuciono" quindi insieme questi sistemi per fare attività di BI e ML sui dati conservati in entrambi i sistemi, con conseguenti problemi di duplicazione dei dati, costi extra per l'infrastruttura, sicurezza e costi di gestione rilevanti. In un'architettura a due livelli, i dati vengono trasferiti con un procedimento ETL dai database operativi a un data lake. Il lake conserva i dati di tutta l'impresa in un archivio di oggetti a basso costo e in un formato compatibile con i comuni strumenti di machine learning, ma spesso non è organizzato e mantenuto in modo adeguato. Successivamente, una piccola frazione dei dati business-critical viene nuovamente elaborata con un processo ETL per essere caricata nel data warehouse a scopo di business intelligence e analisi dei dati. A causa dei molteplici passaggi ETL, questa architettura a due livelli richiede una manutenzione continua e spesso genera dati "stantii", fonte di preoccupazione per analisti e data scientist secondo recenti sondaggi di Kaggle e Fivetran. Approfondisci i problemi più comuni dell'architettura a due livelli.

Risorse aggiuntive

Torna al Glossario