Data warehouse, data lake e data lakehouse sono diverse tipologie di soluzioni di gestione dei dati con funzioni differenti:
I data warehouse aggregano, puliscono e preparano i dati in modo che possano essere utilizzati per attività di business intelligence (BI) e analytics dei dati.
I data lake memorizzano grandi quantità di dati non elaborati a basso costo.
I data lakehouse combinano il data storage flessibile dei data lake e le funzionalità di analytics ad alte prestazioni di un data warehouse in un'unica soluzione.
Poiché queste soluzioni hanno funzioni diverse e servono a scopi diversi, molte architetture di dati aziendali utilizzano 2 o tutte e 3 queste soluzioni in un data fabric olistico:
Un'organizzazione può utilizzare un data lake come soluzione di storage generica per tutti i dati in entrata in qualsiasi formato.
I dati provenienti dal data lake possono essere inviati a data warehouse personalizzati per le singole unità di business, dove possono orientare il processo decisionale.
Un'architettura data lakehouse può aiutare i data scientist a lavorare più facilmente con i dati non elaborati in un data lake per progetti di machine learning (ML), intelligenza artificiale (AI) e data science.
I data lakehouse sono popolari anche come percorso di modernizzazione delle architetture di dati esistenti. Le organizzazioni possono implementare nuovi lakehouse con facilità e sostituire gli attuali data lake e data warehouse, semplificando la transizione verso una soluzione unificata di data storage e analytics.
Un data warehouse aggrega i dati provenienti da fonti di dati eterogenee—database, applicazioni aziendali e feed di social media—in un unico storage. La caratteristica distintiva di uno strumento di data warehousing è che pulisce e prepara i set di dati inseriti.
I data warehouse utilizzano un approccio chiamato "schema-on-write", che applica uno schema coerente a tutti i dati così come vengono scritti nello storage. Questo aiuta a ottimizzare i dati per business intelligence e analytics.
Ad esempio, un magazzino per i dati sulle vendite retail aiuterebbe a garantire che dettagli come la data, l'importo e il numero della transazione siano formattati correttamente e assegnati alle giuste celle in una tabella relazionale.
Un data mart è un tipo di data warehouse che contiene dati specifici di una particolare unità o reparto aziendale, piuttosto che l'intera impresa. Ad esempio, un team di marketing potrebbe avere un proprio data mart, le risorse umane potrebbero averne uno e così via.
Un data warehouse tipico ha 3 livelli:
Il livello inferiore, dove i dati confluiscono nel magazzino da varie fonti attraverso un processo di estrazione, trasformazione e caricamento (ETL). In molti data warehouse, i dati vengono memorizzati in un database relazionale o in un sistema simile.
Il livello intermedio è costruito attorno a un motore di analytics, come un sistema di elaborazione analitica online (OLAP) o un motore basato su SQL. Questo livello intermedio consente agli utenti di eseguire query sui set di dati e analytics direttamente nel data warehouse.
Il livello superiore include interfacce utente e strumenti di reporting che consentono agli utenti di condurre analisi dei dati ad hoc sui propri dati aziendali.
I primi data warehouse erano ospitati on-premise, ma molti sono oggi ospitati nel cloud o forniti come cloud service. Sono comuni anche gli approcci ibridi.
Poiché i data warehouse tradizionali si basano su sistemi di database relazionali e schemi rigorosi, risultano più efficaci con i dati strutturati. Alcuni warehouse moderni si sono evoluti per ospitare dati semistrutturati e dati non strutturati, ma molte organizzazioni preferiscono i data lake e i data lakehouse per questi tipi di dati.
I data warehouse vengono utilizzati da analisti aziendali, data scientist e ingegneri dei dati per condurre attività di analisi self-service.
L'applicazione di uno schema definito a tutti i dati favorisce la coerenza dei dati: questo rende i dati più affidabili e più facili da utilizzare. Poiché un data warehouse memorizza i dati in uno schema relazionale strutturato, supporta SQL query (Structured Query Language) ad alte prestazioni.
Le organizzazioni possono utilizzare strumenti di BI e analytics dei dati integrati o connessi per analizzare dati transazionali e dati storici, generare visualizzazioni dei dati e creare dashboard per supportare il processo decisionale basato sui dati.
I data warehouse possono essere costosi da mantenere. I dati devono essere trasformati prima di essere caricati in un data warehouse, il che richiede tempo e risorse. Poiché nei data warehouse tradizionali lo storage e l'elaborazione sono strettamente associati, la scalabilità può essere costosa. Se i dati non vengono gestiti correttamente, le prestazioni delle query possono risentirne.
Poiché i data warehouse possono avere difficoltà a gestire set di dati non strutturati e semistrutturati, non sono adatti ai workload di AI e apprendimento automatico.
I data lake sono soluzioni di data storage a basso costo progettate per gestire enormi volumi di dati. I data lake utilizzano un approccio schema-on-read, ovvero non applicano un formato standard ai dati in arrivo. Al contrario, gli schemi vengono applicati quando gli utenti accedono ai dati tramite uno strumento di analytics o un'altra interfaccia.
I data lake memorizzano i dati nel loro formato nativo. Ciò consente a un data lake di memorizzare dati strutturati, non strutturati e semistrutturati, all'interno della stessa piattaforma dati.
I data lake sono emersi per aiutare le organizzazioni a gestire il flusso di big data scatenato dal Web 2.0 e l'ascesa del cloud e del mobile computing tra la fine degli anni 2000 e l'inizio del 2010. Le organizzazioni si sono trovate a gestire più dati che mai, in gran parte in formati non strutturati, come testo e immagini in formato libero, che i data warehouse tradizionali non riescono a gestire facilmente.
I primi data lake erano spesso basati sul file system distribuito Apache Hadoop ( HDFS). I data lake moderni utilizzano spesso un archivio di oggetti cloud, come Amazon Simple Storage Service (S3), Microsoft Azure Blob storage o IBM Cloud Object Storage.
I data lake separano il data storage dalle risorse di elaborazione, il che li rende più convenienti e scalabili rispetto ai data warehouse. Le organizzazioni possono aggiungere ulteriore storage senza dover ridimensionare anche le risorse di elaborazione. Lo storage su cloud supporta un'ulteriore scalabilità, poiché le organizzazioni possono aumentare lo storage senza espandere le risorse on-premise.
Per elaborare i dati in un data lake, gli utenti possono connettere strumenti esterni di trattamento dei dati come Apache Spark. A differenza di un data warehouse, questi strumenti di elaborazione non sono integrati nel data lake.
I data lake sono una scelta popolare per il data storage generico grazie al loro costo contenuto, alla scalabilità e alla capacità di memorizzare dati di qualsiasi formato.
Le organizzazioni utilizzano spesso i data lake per mantenere i backup e archiviare dati vecchi e inutilizzati. Le organizzazioni possono anche utilizzare i data lake per memorizzare tutti i nuovi dati in entrata, compresi i dati senza uno scopo definito. I dati possono rimanere nel data lake finché l'organizzazione non li utilizza.
Le organizzazioni utilizzano anche i data lake per memorizzare set di dati per workload di apprendimento automatico (ML), AI e big data analytics, come progetti di data discovery, addestramento dei modelli e analisi sperimentale.
Poiché non applicano uno schema rigoroso e non dispongono di strumenti di elaborazione integrati, i data lake possono incontrare difficoltà con la governance dei dati e la qualità dei dati. Sono inoltre meno adatti alle attività quotidiane di BI e data analytics degli utenti business.
Per mantenere l'accuratezza e la qualità, le organizzazioni hanno spesso bisogno di strumenti separati, come un catalogo completo di dati e un sistema di gestione dei metadati. Senza tali strumenti, i data lake possono perdere la loro utilità.
Un data lakehouse fonde le caratteristiche principali dei data lake e dei data warehouse in un'unica soluzione di gestione dei dati.
Come un data lake, un data lakehouse può memorizzare dati in qualsiasi formato, strutturato, non strutturato o semistrutturato, a basso costo.
Come un data warehouse, un data lakehouse supporta l'esecuzione rapida di query e analytics ottimizzate.
Un data lakehouse combina tecnologie e strumenti precedentemente disconnessi in una soluzione completa. Un'architettura data lakehouse tipica include questi livelli:
Il livello di acquisizione raccoglie dati in batch e in streaming in tempo reale da una serie di fonti. Sebbene i data lakehouse possano utilizzare i processi ETL per acquisire dati, molti utilizzano estrazione, caricamento e trasformazione (ELT). I data lakehouse possono caricare dati non elaborati nello storage e trasformarli in un secondo momento quando necessario per l'analisi.
Il livello di storage è in genere cloud object storage, come in un data lake.
Il livello di metadati fornisce un catalogo unificato di metadati per ogni oggetto nel livello di storage. Questo livello di metadati aiuta i data lakehouse a eseguire molte funzioni che i data lake non supportano: indicizzare i dati per query più veloci, applicare schemi e controlli di governance e qualità.
Il livello API consente agli utenti di collegare strumenti per analytics avanzata.
Il livello di consumo ospita app e strumenti client per BI, apprendimento automatico e altri progetti di data science e analytics.
Come in un data lake, le risorse di calcolo e di storage sono separate, consentendo la scalabilità.
I data lake si basano fortemente sulle tecnologie open source. Formati di dati come Apache Parquet e Apache Iceberg consentono alle organizzazioni di spostare liberamente i workload tra gli ambienti. Delta Lake, un livello di storage open source, supporta funzioni che aiutano gli utenti a eseguire analytics su set di dati non elaborati, come il controllo delle versioni e le transazioni ACID. "ACID" è l'acronimo di atomicità, coerenza, isolamento e durata; proprietà chiave che aiutano a garantire l'integrità nelle transazioni di dati.
Le organizzazioni possono costruire i propri data lakehouse partendo da componenti singoli oppure utilizzare soluzioni predefinite come Databricks, Snowflake o IBM watsonx.data.
I data lakehouse possono aiutare le organizzazioni a superare alcuni limiti e complessità dei data warehouse e dei data lake.
Poiché i data warehouse e i data lake hanno scopi diversi, molte organizzazioni li implementano entrambi nei loro stack di dati. Tuttavia, questo significa che gli utenti devono gestire due sistemi di dati eterogenei, soprattutto per progetti di analytics più avanzati. Ciò può portare a workflow inefficienti, dati duplicati, difficoltà di governance dei dati e altri problemi.
I data lakehouse possono aiutare a semplificare le attività di analytics supportando l'integrazione dei dati. Tutti i dati, indipendentemente dal tipo, possono essere memorizzati nello stesso repository centralizzato, riducendo la necessità di duplicazioni. Tutti i tipi di utenti business possono utilizzare data lakehouse per i loro progetti, tra cui BI, analytics predittiva, AI e apprendimento automatico.
I data lakehouse possono anche fungere da percorso di modernizzazione per le architetture di dati esistenti. Poiché le architetture aperte dei data lakehouse si adattano facilmente ai data lake e data warehouse esistenti, le organizzazioni possono iniziare la transizione verso nuove soluzioni integrate senza dover ricorrere a interventi di smantellamento e sostituzione radicali.
Sebbene i data lakehouse possano semplificare molti workflow di dati, può essere complicato crearne uno attivo e funzionante. Gli utenti potrebbero anche riscontrare una curva di apprendimento, poiché l'utilizzo di un data lakehouse può essere differente dai data lakehouse a cui sono abituati. Anche i data lakehouse sono una tecnologia relativamente nuova e il framework è ancora in evoluzione.
I data warehouse, i data lake e i data lakehouse soddisfano esigenze diverse in termini di business e dati. Molte organizzazioni utilizzano 2 o tutti e 3 questi sistemi in combinazione per semplificare le pipeline di dati e supportare AI, apprendimento automatico (ML) e analytics.
Per fare un esempio, prendiamo la cucina di un ristorante. Ogni giorno, la cucina riceve spedizioni di ingredienti (dati) che arrivano su camion (database transazionali, app aziendali e così via).
Tutti gli ingredienti, indipendentemente dal tipo, vengono consegnati nella zona di scarico (il data lake). Gli ingredienti vengono lavorati e smistati in frigoriferi, dispense e altre aree di storage (data warehouse). Lì, gli ingredienti sono pronti per essere utilizzati dagli chef senza alcuna lavorazione aggiuntiva.
Questo processo è abbastanza efficiente, ma rivela alcune delle problematiche dei data lake e dei data warehouse tradizionali. Come gli ingredienti nella zona di scarico, i dati in un data lake non possono essere utilizzati senza elaborazioni aggiuntive. Come gli ingredienti in cucina, i dati in un data warehouse devono essere adeguatamente preparati e consegnati nel posto giusto prima di poter essere utilizzati.
Un data lakehouse è un po' come combinare una zona di scarico, una dispensa e un frigorifero in un'unico posto. Naturalmente, questa combinazione potrebbe non essere realistica per la cucina di un ristorante. Tuttavia, nel mondo dei dati aziendali, consente alle organizzazioni di ottenere lo stesso valore dai dati, riducendo al contempo i costi di elaborazione, le ridondanze e i silo di dati.
I data warehouse memorizzano dati puliti ed elaborati, mentre i data lake ospitano dati non elaborati nel formato nativo.
I data warehouse dispongono di analytics engine e strumenti di reporting integrati, mentre i data lake richiedono strumenti esterni per l'elaborazione.
I data lake offrono uno storage più economico, flessibile e scalabile. I data warehouse offrono prestazioni ottimizzate per le query.
I data warehouse sono i più adatti per supportare le attività di business intelligence e analytics degli utenti business. I data lake sono più adatti per operazioni che richiedono grandi volumi di dati in vari formati, come intelligenza artificiale, machine learning e data science.
I magazzini supportano le transazioni ACID. I data lake no.
Data lakehouse e data warehouse hanno funzionalità di analytics e di query simili, ma i data lakehouse possono supportare workload complessi di AI e machine learning meglio dei data warehouse.
I data lakehouse offrono uno storage più economico, flessibile e scalabile per tutti i tipi di dati. I data warehouse supportano principalmente i dati strutturati.
I data warehouse utilizzano il processo ETL, mentre i data lakehouse possono utilizzare processi ETL o ELT.
I data lakehouse possono gestire dati in batch e in streaming. I data warehouse lavorano in batch.
Sia i data lake che i data lakehouse possono supportare grandi volumi di dati e varie strutture. Entrambi utilizzano sistemi di data storage simili, solitamente cloud object storage.
I data lake non applicano schemi ai dati inseriti. I data lakehouse hanno la possibilità di applicare schemi.
Sia i data lake che i data lakehouse possono supportare i workload di AI e apprendimento automatico, ma i lakehouse offrono un supporto migliore per le analytics e le attività di BI rispetto ai data lake.
I lakehouse dispongono di strumenti di analytics integrati o sono strettamente integrati con i framework di analytics. I data lake richiedono strumenti esterni per il trattamento dei dati.
I data lake hanno una governance dei dati, un'integrità e controlli di qualità più forti rispetto ai data lake.
I data lakehouse supportano le transazioni ACID; i data lake no.
I data lake sono spesso creati per l'elaborazione in batch e potrebbero non supportare lo streaming dei dati. I data lakehouse possono supportare dati in batch e in streaming.
Scopri come un approccio di data lakehouse aperto può fornire dati affidabili e un'esecuzione più rapida dell'analytics e dei progetti di AI.
Esplora la guida per i leader dei dati che desiderano creare un'organizzazione basata sui dati e ottenere un vantaggio aziendale.
Scopri perché data intelligence e integrazione dei dati basate su AI sono critiche per guidare la preparazione dei dati strutturati e non strutturati e accelerare i risultati dell'AI.
Ottieni insight unici sul landscape in evoluzione delle soluzioni ABI, in particolare sui risultati, le ipotesi e le raccomandazioni chiave per i responsabili dei dati e dell'analytics.
Semplifica l'accesso ai dati e automatizza la governance dei dati. Scopri la potenza dell'integrazione di una strategia di data lakehouse nella tua architettura di dati, con ottimizzazione dei costi dei workload e scalabilità dell'AI e dell'analytics, con tutti i tuoi dati, ovunque.
Scopri come IBM Research regolarmente integrata in nuove funzionalità per IBM Cloud Pak for Data.
Progetta una strategia dati che elimini i silo di dati, riduca la complessità e migliori la qualità dei dati per esperienze eccezionali di clienti e dipendenti.
Watsonx.data ti consente di scalare analytics e AI con tutti i tuoi dati, ovunque risiedano, attraverso uno storage dei dati aperto, ibrido e governato.
Sblocca il valore dei dati enterprise con IBM Consulting, creando un'organizzazione basata su insight in grado di generare vantaggi aziendali.