I data lakehouse puntano a risolvere le principali sfide dei data warehouse e dei data lake per fornire alle organizzazioni una soluzione di gestione dei dati più efficace. Rappresentano l'ultima evoluzione delle soluzioni di gestione dei dati sul mercato.
Un data lakehouse è una piattaforma dati che unisce i migliori aspetti dei data warehouse e dei data lake in un'unica soluzione di gestione dei dati. I data warehouse tendono a essere più performanti rispetto ai data lake, ma possono essere più costosi e avere una scalabilità limitata. Un data lakehouse tenta di risolvere questo problema sfruttando il cloud object storage per memorizzare una gamma più ampia di tipi di dati, ovvero dati strutturati, dati non strutturati e dati semi-strutturati. Riunendo questi vantaggi in un'unica architettura dati, i team di dati possono accelerare il trattamento dei dati perché non hanno più bisogno di due sistemi di dati eterogenei per completare e scalare analytics di livello più avanzato, come il machine learning.
Scopri gli ostacoli all'adozione dell'AI, in particolare la mancanza di soluzioni di governance e la gestione del rischio dell'AI.
Registrati per ricevere l'ebook sui workflow con l'AI responsabile
Dal momento che i data lakehouse sono nati dalle sfide dei data warehouse e dei data lake, vale la pena definire questi diversi repository di dati e capire come si differenziano.
Un data warehouse raccoglie i dati non elaborati da più origini in un repository centrale e li organizza in un'infrastruttura di database relazionale. Questo sistema di gestione dei dati supporta principalmente applicazioni di data analytics e business intelligence, come il reporting aziendale. Il sistema utilizza i processi ETL per estrarre, trasformare e caricare i dati nella loro destinazione. Tuttavia, è limitato dalla sua inefficienza e dai suoi costi, in particolare perché il numero di origini dati e la quantità di dati crescono nel tempo.
I data lake sono generalmente costruiti su piattaforme di big data come Apache Hadoop. Sono noti per il loro basso costo e la flessibilità di archiviazione, poiché non presentano gli schemi predefiniti dei data warehouse tradizionali. Inoltre, ospitano diversi tipi di dati, come audio, video e testo. Dal momento che i produttori di dati generano in gran parte dati non strutturati, si tratta di una distinzione importante, in quanto consente di realizzare un maggior numero di progetti di data science e intelligenza artificiale (AI), che a loro volta favoriscono un maggior numero di insight e un migliore processo decisionale all'interno di un'organizzazione. Tuttavia, anche i data lake presentano delle sfide. Le dimensioni e la complessità dei data lake possono richiedere più risorse tecniche, come data scientist e data engineer, per gestire la quantità di dati archiviati. Inoltre, dato che la governance dei dati viene implementata più a valle in questi sistemi, i data lake tendono a essere più inclini a un maggior numero di silos di dati, che successivamente si evolvono in un data swamp. Quando ciò accade, il data lake può risultare inutilizzabile.
I data lake e i data warehouse vengono generalmente utilizzati in tandem. I data lake fungono da sistema di raccolta per i nuovi dati e i data warehouse applicano una struttura a valle a dati specifici provenienti da questo sistema. Tuttavia, coordinare questi sistemi per fornire dati affidabili può essere costoso sia in termini di tempo che di risorse. Tempi di elaborazione lunghi contribuiscono a rendere obsoleti i dati e livelli aggiuntivi di ETL introducono maggiori rischi per la qualità dei dati.
Il data lakehouse ottimizza i difetti all'interno dei data warehouse e dei data lake per formare un sistema di gestione dei dati migliorato. Fornisce alle organizzazioni uno storage veloce e a basso costo per i propri dati aziendali, offrendo al contempo una flessibilità sufficiente per supportare sia la data analytics che i workload di machine learning.
Soluzioni per la gestione dei dati
Soluzioni di data lake
Come abbiamo visto, i data lakehouse combinano le migliori funzionalità all'interno del data warehousing con le migliori all'interno dei data lake. Sfruttano strutture di dati simili a quelle dei data warehouse e le abbinano allo storage a basso costo e alla flessibilità dei data lake, consentendo alle organizzazioni di archiviare e accedere ai big data in modo rapido ed efficiente, consentendo loro anche di mitigare potenziali problemi di qualità dei dati. Supportano diversi set di dati, ovvero dati sia strutturati che non strutturati, soddisfacendo le esigenze dei flussi di lavoro di business intelligence e data science. Supportano generalmente linguaggi di programmazione come Python, R e SQL ad alte prestazioni.
I data lakehouse supportano anche le transazioni ACID su workload di dati più grandi. ACID è l'acronimo di atomicità, coerenza, isolamento e durabilità, ovvero tutte le proprietà fondamentali che definiscono una transazione in grado di garantire l'integrità dei dati. L'atomicità può essere definita come l'esecuzione di tutte le modifiche ai dati come se fossero un'unica operazione. La coerenza si ha quando i dati si trovano in uno stato coerente all'inizio e alla fine di una transazione. L'isolamento si riferisce allo stato intermedio della transazione che è invisibile alle altre transazioni. Di conseguenza, le transazioni che vengono eseguite simultaneamente sembrano essere serializzate. La durabilità si ha quando, dopo che una transazione è stata completata con successo, le modifiche ai dati persistono e non vengono annullate, anche in caso di guasto del sistema. Questo aspetto è fondamentale per garantire la coerenza dei dati, dato che più utenti leggono e scrivono i dati simultaneamente.
Un data lakehouse è in genere costituito da cinque livelli: livello di acquisizione, livello di archiviazione, livello di metadati, livello di API e livello di consumo. Questi costituiscono il modello dell'architettura dei data lakehouse.
Questo primo livello raccoglie i dati da una serie di origini diverse e li trasforma in un formato che può essere memorizzato e analizzato in un lakehouse. Il livello di acquisizione può utilizzare protocolli per connettersi a origini interne ed esterne come sistemi di gestione dei database, database NoSQL, social media e altri. Come suggerisce il nome, questo livello è responsabile dell'acquisizione dei dati.
In questo livello, i dati strutturati, non strutturati e semi-strutturati vengono archiviati in formati di file open source, come Parquet o Optimized Row Columnar (ORC). Il vero vantaggio di un lakehouse è la capacità del sistema di accettare tutti i tipi di dati a un costo accessibile.
Il livello di metadati è la base del data lakehouse. È un catalogo unificato che fornisce metadati per ogni oggetto nel lake storage, aiutando a organizzare e fornire informazioni sui dati nel sistema. Questo livello offre inoltre all'utente l'opportunità di utilizzare funzioni di gestione come transazioni ACID, memorizzazione nella cache dei file e indicizzazione per query più rapide. Gli utenti possono implementare schemi predefiniti all'interno di questo livello, che consentono funzionalità di governance dei dati e auditing.
Un data lakehouse utilizza le API per aumentare l'elaborazione delle attività e condurre analisi più avanzate. Nello specifico, questo livello offre ai consumatori e/o agli sviluppatori l'opportunità di utilizzare una gamma di linguaggi e librerie, come TensorFlow, a livello astratto. Le API sono ottimizzate per il consumo di asset di dati.
Questo livello finale dell'architettura del data lakehouse ospita app e strumenti client, il che significa che ha accesso a tutti i metadati e i dati archiviati nel lake. Gli utenti di un'organizzazione possono utilizzare il lakehouse ed eseguire attività analitiche quali dashboard di business intelligence, visualizzazione dei dati e altri processi di machine learning.
Poiché il data lakehouse è stato progettato per riunire le migliori funzionalità di un data warehouse e di un data lake, offre vantaggi chiave specifici ai suoi utenti. Questi includono:
Ridimensiona i carichi di lavoro di AI, per tutti i tuoi dati, ovunque. IBM watsonx.data è l'unico archivio dati aperto del settore che consente di sfruttare più motori di query per eseguire workload regolamentati, ovunque risiedano, con conseguente massimizzazione dell'utilizzo delle risorse e costi ridotti.
Progettato sulla base di un'esperienza decennale di innovazione della sicurezza, della scalabilità e della disponibilità dei dati, consente di proteggere, mantenere resilienti e altamente performanti applicazioni e analitica, ovunque con IBM Db2.
Il data warehouse avanzato cloud-native progettato per analytics e insight unificati e scalabili, disponibile ovunque. Grazie alla scalabilità elastica granulare e alla funzionalità di pausa e ripresa, Netezza Performance Server offre il controllo dei costi e delle risorse su larga scala a livello aziendale.
IBM Research prevede che l'approccio unificato dei data lakehouse creerà un'opportunità unica per la gestione unificata della resilienza dei dati.
Le soluzioni IBM forniscono funzionalità che risolvono le sfide degli ambienti di analytics. Scopri perché IBM è stata nominata leader nella gestione dei dati per le soluzioni di analytics.
Comprendi come questi tre concetti possono portare l'uno all'altro o essere usati l'uno con l'altro.
Scopri il motore di query open source, veloce e flessibile, disponibile con l'architettura open data lakehouse di watsonx.data.
1 Lakehouse: A New Generation of Open Platforms that Unify
Data Warehousing and Advanced Analytics (link esterno a ibm.com), Stanford, 2021