Passa al contenuto principale

Cos'è un data lakehouse?

Un data lakehouse è un sistema di gestione dei dati che offre un'archiviazione flessibile e conveniente su larga scala, fornendo al contempo funzionalità di analisi come strutturazione, governance e generazione di report. Consente di archiviare i dati grezzi in una gamma di formati da migliaia o addirittura centinaia di migliaia di origini in modo più conveniente in una posizione centrale. I dati possono anche essere impiegati dagli strumenti di analisi per l'addestramento di modelli di IA e la generazione di report e pannelli di controllo. Un data lakehouse offre molte funzionalità che consentono di elaborare i dati grezzi all'interno del lakehouse per ulteriori analisi.

Qual è la differenza tra un data lake, un data warehouse e un data lakehouse?

L'architettura del data lakehouse è emersa combinando i punti di forza di due data store centralizzati tradizionali: il data warehouse e il data lake.

Data warehouse

Un data warehouse è un sistema di archiviazione di dati che archivia dati strutturati in base a schemi di dati standard. Gli schemi sono blueprint predefiniti che determinano il formato, la relazione e la struttura delle informazioni in un database relazionale.

Le organizzazioni utilizzano i sistemi di data warehouse per accedere rapidamente all'elaborazione dei dati, all'analisi a fini di business intelligence e alla generazione di report aziendali. Il data warehousing fornisce l'accesso a strumenti di analisi avanzati, una solida governance dei dati e facilità d'uso per gli utenti non tecnici. Ad esempio, è possibile recuperare i report sulle prestazioni di marketing utilizzando un pannello di controllo all'interno del data warehouse.

Tuttavia, il data warehousing introduce ulteriori passaggi nel ciclo di vita dei dati. Per ottenere informazioni approfondite pronte per l'analisi, i dati vengono sottoposti a diverse pipeline di estrazione, trasformazione e caricamento (ETL) prima di essere archiviati in un data warehouse. Inoltre, un data warehouse non è in grado di gestire dati non strutturati e semi-strutturati, che sono quelli richiesti dai carichi di lavoro di intelligenza artificiale e machine learning. In una configurazione di data warehouse, l'archiviazione e la potenza di calcolo sono strettamente associate: questo aumenta i costi di scalabilità dell'infrastruttura.

Data lake

Un data lake è un sistema di archiviazione che conserva i dati nel loro formato originale. I data scientist utilizzano i data lake per archiviare dati strutturati, non strutturati e semi-strutturati. L'archiviazione dei dati in un data lake è veloce perché le informazioni non passano attraverso una pipeline ETL. Al contrario, i dati grezzi vengono archiviati così come sono. Pertanto, un data lake può archiviare enormi volumi di informazioni a grande velocità, inclusi i flussi di dati in tempo reale.

A causa del volume di dati, i data lake cloud sono ideali per l'esplorazione dei dati, il machine learning e altre applicazioni di data science. Un data lake è anche più conveniente da scalare grazie al suo hosting di archiviazione a basso costo.

A differenza di un data warehouse, l'accesso ai dati archiviati in un data lake richiede competenze tecniche, che limitano l'accesso ai dati a un gruppo più ristretto di utenti. Ciò significa che solo gli utenti esperti di data science possono estrarre, manipolare e analizzare i dati grezzi per ottenere approfondimenti aziendali. Inoltre, un data lake non gestito può portare a “paludi di dati”, ossia uno stato di disorganizzazione dei dati che rende più difficile l'estrazione di informazioni significative.

Data lakehouse

Un data lakehouse è un'architettura dati unificata che combina i vantaggi di un data warehouse e di un data lake. Fornisce uno spazio di archiviazione ad alte prestazioni, conveniente e di facile gestione per vari tipi di dati.

A differenza di un data warehouse, un data lakehouse è in grado di archiviare dati semi-strutturati e non strutturati per scopi di machine learning. Inoltre, l'architettura del data lakehouse è costituita da strumenti di analisi SQL che i manager aziendali utilizzano per la generazione di report e l'estrazione di approfondimenti utili.

Quali sono le funzionalità principali di un data lakehouse?

I data lakehouse forniscono funzionalità di gestione dei dati per consentire alle organizzazioni di creare hub di elaborazione dati scalabili, complessi e a bassa latenza. Di seguito condividiamo alcune funzionalità chiave di un data lakehouse.

Supporta diversi tipi di dati e carichi di lavoro

I data lakehouse possono archiviare diversi tipi di dati, tra cui testo, immagini, video e file audio, senza ulteriori passaggi di trasformazione o uno schema rigido. Ciò consente una rapida importazione dei dati, che sono così correttamente aggiornati per le applicazioni connesse.

Per supportare la diversità dei dati, un data lakehouse archivia i dati grezzi in uno spazio di archiviazione basato su oggetti. L'archiviazione basata su oggetti è un tipo di architettura di archiviazione di dati ottimizzata per la gestione di elevati volumi di dati non strutturati.

Supporto alle transazioni

Un data lakehouse fornisce funzionalità di gestione dei dati per l'archiviazione di transazioni con conformità ACID, simili a quelle presenti nei database convenzionali. ACID è l'acronimo di atomicità, coerenza, isolamento e durabilità.

  • L'atomicità tratta tutte le transazioni di dati come una singola unità, il che significa che vengono implementate correttamente o meno.
  • La coerenza si riferisce al comportamento prevedibile del database che si verifica quando si aggiorna una tabella di dati specifica. Ogni aggiornamento segue regole predefinite, che garantiscono la coerenza dei dati.
  • L'isolamento consente l'esecuzione di più transazioni senza che esse interferiscano l'una con l'altra. Anche se più utenti aggiornano il database contemporaneamente, ogni operazione viene eseguita in modo indipendente, ossia ciascuna transazione termina prima dell'inizio di quella successiva.
  • La durabilità è la capacità del database di conservare e salvare le modifiche anche in caso di guasto del sistema.

Nel complesso, l'approccio ACID garantisce l'integrità dei dati, consentendo ai team di software di creare applicazioni che si basano su un'archiviazione affidabile dei dati transazionali.

Importazione dei flussi di dati

I flussi di dati sono un flusso continuo di informazioni provenienti da fonti di dati come dispositivi Internet delle cose (IoT), transazioni finanziarie e servizi applicativi.

Alcune applicazioni richiedono lo streaming dei dati per riflettere e visualizzare le modifiche dei dati quasi in tempo reale. L'architettura data lakehouse è in grado di acquisire flussi di dati e renderli disponibili per le applicazioni rivolte agli utenti. Inoltre, i data scientist possono creare strumenti di analisi sulla base dei flussi di dati e visualizzarli mediante diagrammi, tabelle e grafici.

Integrazioni Zero ETL

Zero ETL è un processo di dati che bypassa le complesse pipeline di trasformazione dei dati durante lo spostamento degli stessi. Un'infrastruttura di data lakehouse consente l'integrazione Zero ETL.

Convenzionalmente, le organizzazioni costruiscono i propri carichi di lavoro su un data warehouse e un data lake. Queste configurazioni dei dati richiedono pipeline ETL aggiuntive per interrogare e trasformare i dati. Con un'integrazione Zero ETL, i data scientist possono interrogare diversi silo di dati senza creare pipeline di dati aggiuntive.

Quando un data lakehouse importa i dati, li trasforma automaticamente in formati in linea con i requisiti di analisi aziendale. Ad esempio, Amazon Redshift supporta l'integrazione Zero ETL con Amazon Aurora. Redshift è un data warehouse, mentre Aurora è un sistema di gestione di database relazionali. Una volta integrati, i dati importati da Aurora vengono replicati automaticamente su Redshift in pochi secondi. In questo modo, le organizzazioni possono aumentare i tempi di acquisizione degli approfondimenti mantenendo un'infrastruttura dati semplice ed economica.

Analisi unificate

Un data lakehouse fornisce una piattaforma dati unificata per accedere a tutti i dati archiviati. Aiuta i data architect a superare la duplicazione, l'incoerenza e la frammentazione dei dati tra più sistemi.

Un altro vantaggio chiave dell'analisi centralizzata è che consente di evitare spostamenti di dati non necessari nell'archiviazione cloud. Invece di interrogare dati isolati, i team di dati archiviano, analizzano e condividono i dati da un'unica interfaccia che si connette al data lakehouse. Ad esempio, è possibile recuperare dati non strutturati per un carico di lavoro di machine learning e generare report sulle prestazioni di marketing da una singola copia dei dati.

Editor di query

Analisti di dati, ingegneri di machine learning e utenti dei dati possono accedere facilmente ai dati all'interno di un data lakehouse utilizzando un editor di query SQL. Possono creare comandi SQL per la visualizzazione e l'analisi dei dati, sfogliare i dati storici, creare schemi di database e altro ancora. Inoltre, un editor di query migliora la collaborazione, consentendo agli ingegneri dei dati di condividere facilmente le query che creano.

Supporto ML/IA

I data lakehouse sono progettati per creare, testare e scalare carichi di lavoro di intelligenza artificiale e machine learning (IA/ML). Oltre a fornire l'accesso diretto ai dati non strutturati, molti fornitori di data lakehouse offrono librerie, strumenti e analisi di machine learning che semplificano lo sviluppo IA.

Ad esempio, Amazon SageMaker Lakehouse si integra perfettamente con Amazon SageMaker Unified Studio, fornendo accesso a strumenti e analisi per accelerare i flussi di lavoro di IA/ML.

Come funziona un data lakehouse?

Un data lakehouse combina le funzionalità di analisi avanzate dei data warehouse con la flessibilità dei data lake, fornendo una piattaforma dati scalabile, economica e potente. Invece di mantenere infrastrutture separate di data warehouse e data lake, le organizzazioni scelgono i data lakehouse per ottenere approfondimenti aziendali più rapidamente.

Il data lakehouse acquisisce dati da varie risorse, li organizza internamente e li fornisce a diversi utenti di dati in formati differenti. Inoltre, l'elaborazione di un data lakehouse è separata dall'archiviazione. Grazie alla separazione di archiviazione ed elaborazione, è possibile scalare queste funzioni in modo indipendente per massimizzare i risparmi sui costi.

Di seguito sono illustrati i livelli di dati che formano un data lakehouse.

Livello di importazione

Il livello di importazione collega il data lakehouse a vari tipi di origini dati, inclusi log delle applicazioni, database e feed di social media. A questo livello, i dati vengono conservati nel formato originale.

Livello di archiviazione

Il livello di archiviazione riceve i dati grezzi in entrata e li archivia in uno spazio di archiviazione scalabile a basso costo. In una configurazione di data lakehouse, spesso questo livello si collega a uno spazio di archiviazione basato su oggetti nel cloud. Uno spazio di archiviazione basato su oggetti supporta diversi tipi di dati, inclusi dati strutturati, semi-strutturati e non strutturati.

A seconda dei casi d'uso, alcuni dati vengono trasformati dopo l'archiviazione nello spazio di archiviazione basato su oggetti. Ad esempio, se si desidera addestrare un modello di machine learning utilizzando i dati acquisiti, il data lakehouse trasformerà e archivierà i dati in formato Parquet. Parquet è un formato di file aperto progettato per archiviare ed elaborare dati strutturati in modo efficiente organizzandoli in colonne.

Livello di staging

Il livello di staging, o livello di metadati, fornisce il supporto dello schema per amministrare, organizzare e ottimizzare i dati archiviati nel data lakehouse. Questo livello consente di definire policy per garantire la qualità dei dati e creare audit trail ai fini della conformità. Inoltre, i team di dati possono creare flussi di lavoro di dati affidabili utilizzando transazioni ACID, indicizzazione dei file, controllo delle versioni dei dati e memorizzazione nella cache, simili a quelli che si trovano in un data warehouse tradizionale.

Livello API

Il livello di interfaccia di programmazione dell’applicazione (API) consente agli sviluppatori di software e alle applicazioni di interrogare i dati archiviati nel data lakehouse. Fornisce un accesso granulare ai dati che consente di creare analisi più avanzate a livello di programmazione a partire dai dati. Ad esempio, i team di software possono effettuare chiamate API per recuperare flussi di dati in tempo reale per alimentare il pannello di controllo di un'applicazione di investimento.

Livello semantico

Il livello semantico è il livello più alto del data lakehouse. Conosciuto anche come livello di consumo dei dati, è costituito da strumenti e app di analisi dei dati che forniscono l'accesso ai dati e agli schemi archiviati. Gli utenti aziendali possono generare report, creare grafici, richiedere approfondimenti e condurre altre analisi dei dati con gli strumenti che trovano a questo livello.

In che modo AWS può supportare i tuoi requisiti di data lakehouse?

Amazon SageMaker Lakehouse è un data lakehouse utilizzato dalle organizzazioni per elaborare exabyte di dati, con l'obiettivo di ottenere approfondimenti aziendali e di potenziare i carichi di lavoro di IA. Amazon SageMaker Lakehouse è profondamente integrato con i servizi di archiviazione di dati, analisi e machine learning di AWS per aiutarti in quanto segue:

  • Accedere ai dati esistenti per eseguire analisi quasi in tempo reale
  • Creare modelli di intelligenza artificiale e machine learning su un unico hub di dati
  • Accedere ai dati, combinarli e condividerli in modo sicuro con movimenti o copie minimi

Con un'architettura che separa elaborazione e archiviazione per una scalabilità efficiente, Amazon SageMaker Lakehouse offre prezzi e prestazioni migliori rispetto ad altri data lakehouse cloud.

Amazon SageMaker Lakehouse si integra con i data warehouse e i data lake AWS:

  • Amazon Redshift è una soluzione di data warehouse che offre un rapporto prezzo/prestazioni senza pari su larga scala con SQL per i data lakehouse
  • Amazon S3 è uno spazio di archiviazione basato su oggetti di data lake per archiviare e recuperare qualsiasi volume di dati da qualsiasi origine

Inizia a utilizzare i data lakehouse su AWS creando un account gratuito oggi stesso.