I data lake e i data warehouse vengono generalmente utilizzati congiuntamente. I data lake hanno funzione di sistema di raccolta per i nuovi dati e i data warehouse applicano una struttura a valle ai dati.
Tuttavia, coordinare questi sistemi per fornire dati affidabili può essere costoso sia in termini di tempo, sia di risorse. I lunghi tempi di elaborazione contribuiscono all'intasamento dei dati e i livelli aggiuntivi di ETL (estrazione, trasformazione, caricamento) introducono rischi per la qualità dei dati.
I data lakehouse compensano i difetti dei data warehouse e dei data lake con funzionalità che formano un sistema di gestione dei dati migliorato. Abbinano le strutture di dati dei data warehouse allo storage a basso costo e alla flessibilità dei data lake.
I data lakehouse consentono ai team dei dati di unificare i propri sistemi di dati eterogenei, accelerando il trattamento dei dati per analytics più avanzate (come l'apprendimento automatico (ML), accedendo in modo efficiente ai big data e migliorando la qualità dei dati.
I data lakehouse esistono per risolvere le sfide dei data warehouse e dei data lake e per riunire i loro benefici in un'unica architettura di dati.
Ad esempio, i data warehouse sono più performanti dei data lake e memorizzano e trasformano i dati aziendali.
Tuttavia, il data warehousing richiede schemi rigorosi (in genere lo schema a stella e lo schema a fiocco di neve).
Pertanto, i data warehouse non funzionano bene con i dati non strutturati o semistrutturati, critici per i casi d'uso dell'intelligenza artificiale (AI) e del machine learning (ML). Hanno anche una capacità di scalabilità limitata.
I data lake, invece, consentono alle organizzazioni di aggregare tutti i tipi di dati, (dati strutturati, dati non strutturati e dati semi-strutturati), da diverse fonti di dati e in un'unica posizione. Rendono il data storage più scalabile e meno costoso, ma non dispongono di strumenti per l'elaborazione dei dati integrati.
I data lakehouse combinano aspetti dei data warehouse e dei data lake. Utilizzano il cloud object storage per memorizzare dati in qualsiasi formato a basso costo. Inoltre, su questo cloud storage è presente un'infrastruttura di analytics di tipo warehouse, che supporta query ad alte prestazioni, analytics quasi in tempo reale e attività di business intelligence (BI).
I data warehouse, i data lake e i data lakehouse sono tutti repository di dati, ma con differenze fondamentali. Vengono spesso utilizzati insieme per supportare un'architettura di dati integrata per una varietà di casi d'uso.
Un data warehouse raccoglie i dati non elaborati da più fonti in un repository centrale e li organizza in un'infrastruttura di database relazionale. Questo sistema di gestione dei dati supporta principalmente applicazioni di analytics dei dati 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, specialmente perché il numero di fonti di dati e la quantità di dati aumentano.
Mentre i data warehouse erano tradizionalmente in hosting on-premise su mainframe, oggi numerosi data warehouse sono in hosting nel cloud e sono forniti sotto forma di cloud service.
I data lake inizialmente sono stati costruiti su piattaforme di big data come Apache Hadoop. Ma il fulcro dei moderni data lake è un servizio di cloud object storage, che consente loro di memorizzare tutti i tipi di dati. I servizi comuni includono Amazon Simple Storage Service (Amazon S3), Microsoft Azure Blob Storage, Google Cloud Storage e IBM Cloud Object Storage.
Dal momento che le aziende generano in gran parte dati non strutturati, questa funzionalità di storage è una distinzione importante. Consente una maggiore realizzazione di progetti di data science e intelligenza artificiale (AI) che, a loro volta, favoriscono un maggior numero di insight e un processo-decisionale migliore all'interno dell'organizzazione.
Tuttavia, le dimensioni e la complessità dei data lake possono richiedere l'esperienza di utenti più tecnici, come data scientist e data engineer. Inoltre, dal momento che la governance dei dati avviene a valle di questi sistemi, i data lake possono essere soggetti a silo di dati e successivamente evolversi in paludi di dati (dove i dati di qualità sono inaccessibili a causa di una cattiva gestione).
I data lakehouse possono risolvere le principali sfide dei data warehouse e dei data lake per offrire una soluzione di gestione dei dati più ideale alle organizzazioni. Utilizzano Cloud Object Storage per uno storage rapido e a basso costo su un'ampia gamma di tipi di dati, offrendo inoltre funzionalità di analytics ad alte prestazioni. Le organizzazioni possono utilizzare i data lakehouse insieme ai data lake e ai data warehouse esistenti, senza doverli smantellare e ricostruire completamente.
I data lakehouse offrono agli utenti diversi vantaggi fondamentali, e possono aiutare a:
Un unico sistema di storage crea una piattaforma semplificata per soddisfare tutte le esigenze di dati aziendali, riducendo la duplicazione dei dati. I data lakehouse semplificano inoltre l'osservabilità dei dati end-to-end riducendo la quantità di dati che si spostano attraverso le pipeline di dati in vari sistemi.
I data lake house sfruttano i costi inferiori del Cloud Object Storage, quindi sono più convenienti rispetto ai data warehouse. Inoltre, l'architettura ibrida di un data lakehouse elimina la necessità di gestire più sistemi di data storage, il che la rende meno costosa da gestire.
I data lakehouse possono affrontare diversi casi d'uso in tutto il ciclo di vita della gestione dei dati. Supportano inoltre la business intelligence e i workflow di visualizzazione basata sui dati o quelli più complessi di data science.
L'architettura del data lakehouse attenua i problemi di governance dei data lake. Ad esempio, quando i dati vengono acquisiti e caricati, il lakehouse può garantire che soddisfi i requisiti definiti dello schema, riducendo i problemi di qualità dei dati a valle.
Nei data warehouse tradizionali, calcolo e storage sono abbinati. I data lakehouse separano lo storage e l'elaborazione, consentendo ai team di dati di accedere allo stesso data storage e di utilizzare nodi di elaborazione diversi per applicazioni diverse. Questo disaccoppiamento si traduce in maggiore scalabilità e flessibilità.
Il data lakehouse è progettato per le aziende e le tecnologie odierne. Numerose fonti di dati contengono dati in streaming in tempo reale da dispositivi, come i dispositivi Internet of Things . Il sistema lakehouse supporta queste fonti attraverso l'inserimento di data ingestion in tempo reale.
Sviluppato da Databricks nel 2016, Delta Lake è un formato di data storage open source che combina i file di dati Apache Parquet con un solido log di metadati. Questo formato aggiunge funzioni principali di gestione dei dati ai data lake, come l'applicazione dello schema, lo spostamento nel tempo e le transazioni ACID. (ACID sta per "atomicità, coerenza, isolamento e durabilità", che sono proprietà principali che definiscono una transazione per garantire l'integrità dei dati.)
Queste funzioni contribuiscono a rendere i data lake più affidabili e intuitivi. Consentono inoltre agli utenti di eseguire un linguaggio di query strutturato (SQL), workload di analytics e altre attività su un data lake, semplificando la business intelligence, la data intelligence (DI), l'AI e l'apprendimento automatico (ML).
Delta Lake è stato open source nel 2019. Da allora, i data lakehouse vengono creati solitamente creando un livello di storage Delta Lake sopra un data lake, quindi integrandolo con un motore di trattamento dei dati come Apache Spark o Hive.
I data lake house abilitati all'open source vengono spesso definiti lakehouse di dati aperti. Altri formati di tabelle aperte includono Apache Iceberg (un formato ad alte prestazioni per tabelle analitiche di grandi dimensioni) e Apache Hudi (progettato per il trattamento dei dati).
L'architettura di un data lakehouse è in genere composta da cinque livelli:
Questo primo livello raccoglie i dati da una serie di fonti e li trasforma in un formato dati che può essere memorizzato e analizzato in un lakehouse. Il livello di ingestione può utilizzare protocolli per connettersi a fonti interne ed esterne, quali sistemi di gestione di database, database NoSQL e social.
In questo livello, set di dati strutturati, non strutturati e semi-strutturati vengono memorizzati in formati di file open source, come Parquet o Optimized Row Columnar (ORC). Questo livello offre un vantaggio significativo del lakehouse dei dati: la sua capacità di accettare tutti i tipi di dati a un costo accessibile.
Il livello di metadati è 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 transazioni ACID, memorizzazione nella cache dei file e indicizzazione per query più veloci. Gli utenti possono implementare schemi predefiniti qui, che consentono la governance dei dati e le funzionalità di auditing.
Un data lakehouse utilizza delle application programming interface (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, con accesso a tutti i metadati e ai dati memorizzati nel lake. Questo consente l'accesso ai dati agli utenti in tutta l'organizzazione, i quali possono utilizzare il lakehouse per eseguire attività come le dashboard di business intelligence, la visualizzazione dei dati e i job di machine learning.
Ottieni il massimo valore dai tuoi dati, ovunque si trovino, con il data lakehouse ibrido e aperto per AI e analytics.
Risolvi le attuali sfide legate ai dati con un'architettura lakehouse. Connettiti ai dati in pochi minuti, ottieni rapidamente insight affidabili e riduci i costi del data warehouse.
Sblocca il valore dei dati aziendali con IBM Consulting e crea un'organizzazione basata su insight in grado di generare vantaggi aziendali.