Le organizzazioni di tutto il mondo sono alla ricerca di soluzioni di archiviazione per gestire i requisiti di volume, latenza, resilienza e accesso ai dati dei big data. Inizialmente, le aziende hanno utilizzato i loro stack tecnologici esistenti, cercando di far sì che i loro data lake offrissero le stesse funzionalità di un warehouse, modificando i data warehouse per gestire enormi quantità di dati semistrutturati o scegliendo di conservare i dati in entrambi.
In definitiva, questi approcci hanno comportato costi elevati, utenti scontenti e duplicazione dei dati in tutta l'azienda. La data lakehouse è emersa come una nuova architettura dati ibrida che mira a offrire tutti i migliori vantaggi dei data warehouse e dei data lake, eliminando al contempo i punti deboli di entrambi i sistemi.
Google Cloud fornisce una soluzione di data lakehouse cloud-native, a scalabilità elevata e sicura, basata su archiviazione a basso costo, motori serverless computing e potenti offerte di gestione dei dati. Scopri di più su come Google Cloud ti aiuta a creare una data lakehouse aperta.
Una data lakehouse è un'architettura di dati che combina un data lake e un data warehouse. Le data lakehouse abilitano machine learning, business intelligence e analisi predittiva, consentendo alle organizzazioni di sfruttare un'archiviazione flessibile a basso costo per tutti i tipi di dati (strutturati, non strutturati e semistrutturati), fornendo al contempo strutture di dati e funzionalità di gestione dei dati.
Una data lakehouse è una moderna architettura di dati che crea un'unica piattaforma combinando i vantaggi principali dei data lake (grandi repository di dati non elaborati nella loro forma originale) e dei data warehouse (set organizzati di dati strutturati). In particolare, le data lakehouse consentono alle organizzazioni di utilizzare un'archiviazione a basso costo per grandi quantità di dati non elaborati, fornendo al contempo funzioni di gestione della struttura e dei dati.
In passato, i data warehouse e i data lake dovevano essere implementati come architetture isolate e separate per evitare di sovraccaricare i sistemi sottostanti e creare conflitti per le stesse risorse. Le aziende hanno utilizzato i data warehouse per archiviare dati strutturati per la business intelligence (BI) e il reporting e i data lake per archiviare dati non strutturati e semistrutturati per carichi di lavoro di machine learning (ML). Ma questo approccio richiedeva lo spostamento regolare dei dati tra i due sistemi separati quando i dati di entrambe le architetture dovevano essere elaborati insieme, creando complessità, costi più elevati e problemi di aggiornamento, duplicazione e coerenza dei dati.
Le data lakehouse mirano ad abbattere questi silos e a offrire la flessibilità, la scalabilità e l'agilità necessarie per garantire che i dati generino valore per la tua azienda, piuttosto che inefficienze.
Il termine "data lakehouse" fonde due tipi di repository di dati esistenti: il data warehouse e il data lake. Quindi, quali sono esattamente le differenze tra data lakehouse, data lake e data warehouse?
I data warehouse offrono accesso rapido ai dati e compatibilità SQL per gli utenti aziendali che hanno bisogno di generare report e insight per il processo decisionale. Tutti i dati devono passare per la fase ETL (estrazione, trasformazione, caricamento). Ciò significa che vengono ottimizzati in un formato o schema specifico, in base al caso d'uso, prima che vengano caricati per supportare query ad alte prestazioni e integrità dei dati. Tuttavia, questo approccio limita la flessibilità dell'accesso ai dati e crea costi aggiuntivi se i dati devono essere spostati per un uso futuro.
I data lake archiviano grandi quantità di dati non strutturati e strutturati nel loro formato nativo. A differenza dei data warehouse, i dati vengono elaborati, puliti e trasformati durante l'analisi per consentire velocità di caricamento più elevate, il che li rende ideali per elaborazione di big data, machine learning o analisi predittiva. Tuttavia, richiedono competenza nella data science, il che limita il gruppo di persone che possono utilizzare i dati e, se non vengono gestiti correttamente, la qualità dei dati può peggiorare nel tempo. Inoltre, i data lake rendono più difficile ottenere query in tempo reale poiché i dati non sono elaborati, quindi potenzialmente devono comunque essere puliti, elaborati, importati e integrati prima di poter essere utilizzati.
Una data lakehouse fonde questi due approcci per creare un'unica struttura che consente di accedere ai dati e utilizzarli per molti scopi diversi, dalla BI alla data science al machine learning. In altre parole, una data lakehouse acquisisce tutti i dati non strutturati, strutturati e semistrutturati della tua organizzazione e li archivia in uno spazio di archiviazione a basso costo, fornendo al contempo a tutti gli utenti le funzionalità per organizzare ed esplorare i dati in base alle esigenze.
Le funzionalità principali della data lakehouse includono:
Accesso diretto per le app BI ai dati di origine nella lakehouse per ridurre la duplicazione dei dati.
Per far funzionare una data lakehouse, è importante considerare i suoi obiettivi. Le data lakehouse mirano a centralizzare le diverse origini dati e a semplificare gli sforzi di progettazione in modo che tutti all'interno dell'organizzazione possano essere utenti dei dati.
Una data lakehouse utilizza la stessa archiviazione di oggetti cloud a basso costo dei data lake per fornire archiviazione on demand e semplificare il provisioning e la scalabilità. Come un data lake, è in grado di acquisire e archiviare grandi volumi di tutti i tipi di dati in formato non elaborato. La lakehouse integra livelli di metadati in questo archivio per fornire funzionalità simili a quelle di un warehouse, come schemi strutturati, supporto per transazioni ACID, governance dei dati e altre funzionalità di gestione e ottimizzazione dei dati.
Architettura semplificata Una data lakehouse rimuove i silos di due piattaforme separate, quindi devi concentrarti solo sulla gestione e sulla manutenzione di un unico repository di dati. Gli strumenti possono anche essere collegati direttamente ai dati di origine, pertanto non devi estrarre o preparare i dati da utilizzare in un data warehouse. | Migliore qualità dei dati Puoi applicare schemi per dati strutturati e integrità dei dati nelle architetture delle data lakehouse, per garantire la coerenza. Inoltre, le lakehouse riducono il tempo per rendere disponibili nuovi dati, garantendo dati più aggiornati. | Riduzione dei costi Archivia enormi volumi di dati in uno spazio di archiviazione a basso costo ed elimina la necessità di gestire sia un data warehouse sia un data lake. Le data lakehouse consentono anche di ridurre i costi dei processi ETL e della deduplicazione. |
Maggiore affidabilità Le data lakehouse riducono i trasferimenti di dati ETL tra più sistemi, riducendo la possibilità di problemi di qualità o tecnici che possono verificarsi con lo spostamento dei dati. | Governance dei dati migliorata Dati e risorse vengono consolidati in un'unica posizione con le data lakehouse, che semplificano l'implementazione, il test e l'applicazione dei controlli di governance e sicurezza. | Duplicazione dei dati ridotta Maggiore è il numero di copie dei dati che esistono in sistemi diversi, più è probabile che siano incoerenti e meno affidabili. Con le data lakehouse puoi ottenere un'unica origine di dati che può essere condivisa in tutta l'azienda per prendere decisioni, evitando incongruenze e costi di archiviazione aggiuntivi causati dalla duplicazione dei dati. |
Carichi di lavoro diversi Puoi connettere più strumenti direttamente alla lakehouse per supportare carichi di lavoro di analisi, SQL, machine learning e data science dallo stesso repository. | Elevata scalabilità L'archiviazione a basso costo di oggetti cloud delle data lakehouse consente di disaccoppiare il calcolo dall'archiviazione per fornire una scalabilità quasi illimitata e istantanea. Puoi scalare la potenza di calcolo e l'archiviazione separatamente in base alle tue esigenze aziendali. |
Architettura semplificata
Una data lakehouse rimuove i silos di due piattaforme separate, quindi devi concentrarti solo sulla gestione e sulla manutenzione di un unico repository di dati. Gli strumenti possono anche essere collegati direttamente ai dati di origine, pertanto non devi estrarre o preparare i dati da utilizzare in un data warehouse.
Migliore qualità dei dati
Puoi applicare schemi per dati strutturati e integrità dei dati nelle architetture delle data lakehouse, per garantire la coerenza. Inoltre, le lakehouse riducono il tempo per rendere disponibili nuovi dati, garantendo dati più aggiornati.
Riduzione dei costi
Archivia enormi volumi di dati in uno spazio di archiviazione a basso costo ed elimina la necessità di gestire sia un data warehouse sia un data lake. Le data lakehouse consentono anche di ridurre i costi dei processi ETL e della deduplicazione.
Maggiore affidabilità
Le data lakehouse riducono i trasferimenti di dati ETL tra più sistemi, riducendo la possibilità di problemi di qualità o tecnici che possono verificarsi con lo spostamento dei dati.
Governance dei dati migliorata
Dati e risorse vengono consolidati in un'unica posizione con le data lakehouse, che semplificano l'implementazione, il test e l'applicazione dei controlli di governance e sicurezza.
Duplicazione dei dati ridotta
Maggiore è il numero di copie dei dati che esistono in sistemi diversi, più è probabile che siano incoerenti e meno affidabili. Con le data lakehouse puoi ottenere un'unica origine di dati che può essere condivisa in tutta l'azienda per prendere decisioni, evitando incongruenze e costi di archiviazione aggiuntivi causati dalla duplicazione dei dati.
Carichi di lavoro diversi
Puoi connettere più strumenti direttamente alla lakehouse per supportare carichi di lavoro di analisi, SQL, machine learning e data science dallo stesso repository.
Elevata scalabilità
L'archiviazione a basso costo di oggetti cloud delle data lakehouse consente di disaccoppiare il calcolo dall'archiviazione per fornire una scalabilità quasi illimitata e istantanea. Puoi scalare la potenza di calcolo e l'archiviazione separatamente in base alle tue esigenze aziendali.
Il concetto di data lakehouse è ancora relativamente nuovo, il che significa che alcune delle maggiori sfide riguardano il fatto che sia ancora in evoluzione e le best practice sono ancora in fase di definizione da parte degli early adopter.
Inoltre, le data lakehouse sono complesse da creare da zero. Nella maggior parte dei casi, dovrai optare per una soluzione di data lakehouse pronta all'uso o utilizzare una piattaforma come Google Cloud che offre tutti i componenti necessari per supportare un'architettura lakehouse aperta.
Un'architettura di data lakehouse è composta dai seguenti livelli:
Esistono diversi esempi di data lakehouse, tra cui Databricks Lakehouse Platform e Amazon Redshift Spectrum. Tuttavia, poiché le tecnologie continuano a maturare e l'adozione di data lakehouse è aumentata, l'implementazione si è spostata dall'accoppiamento dei componenti di lakehouse a uno specifico data lake.
Ad esempio, l'approccio di Google Cloud è stato quello di unificare le funzionalità di base delle operazioni sui dati aziendali, dei data lake e dei data warehouse. Questa implementazione pone l'archiviazione e la potenza di calcolo di BigQuery al centro dell'architettura di data lakehouse. Puoi quindi applicare un approccio unificato alla governance e altre funzionalità simili a un warehouse utilizzando Dataplex e Analytics Hub.
BigQuery non è solo integrato con l'ecosistema Google Cloud, ma consente anche di utilizzare tecnologie di partner e open source per combinare il meglio delle funzionalità di lake e warehouse in un unico sistema.
Stiamo continuando a sviluppare questo approccio con il rilascio di BigLake, ora in anteprima, un motore di archiviazione unificato che semplifica l'accesso ai dati a data warehouse e data lake. Puoi applicare un controllo dell'accesso granulare e accelerare le prestazioni delle query sui dati distribuiti.