Cos'è un data lake?

I data lake memorizzano grandi quantità di dati in un formato non gerarchico.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Definire il data lake
  • Comprendere come vengono usati i data lake nello storage di oggetti
  • Confrontare data lake e data warehouse

Argomenti correlati


Vuoi saperne di più?

Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.

Fai riferimento all'Informativa sulla privacy di Cloudflare per scoprire come raccogliamo ed elaboriamo i tuoi dati personali.

Copia link dell'articolo

Cos'è un data lake?

Un data lake è un tipo di repository che archivia i dati nel suo formato naturale (o grezzi). Chiamati anche "pool di dati", i data lake sono una funzionalità dello storage di oggetti, un sistema di archiviazione basato su cloud progettato per gestire grandi quantità di dati strutturati e non strutturati.

La struttura non gerarchica dei data lake li rende un'opzione flessibile e scalabile rispetto ai sistemi di archiviazione tradizionali basati su file. Tuttavia, l'organizzazione e il recupero dei dati dai data lake possono essere sia lenti che costosi, a causa della loro progettazione organizzativa e dei complessi costi di uscita dei dati.

In che modo i data lake archiviano i dati?

Per capire come i data lake archiviano i dati, è importante innanzitutto capire come funziona lo storage di oggetti. A differenza del tradizionale storage basato su file, in cui i dati sono archiviati in una gerarchia di cartelle e file, lo storage di oggetti raccoglie singoli dati (o oggetti) nella stessa posizione e li contrassegna con metadati personalizzabili.

Questi metadati, ovvero le informazioni utilizzate per identificare un file (ad esempio, nome, tipo, dimensione o identificatori univoci) consente agli utenti o alle applicazioni di individuare e recuperare i dati senza dover seguire un percorso specifico da una cartella all'altra. Poiché i data lake sono progettati per contenere grandi quantità di dati, i metadati assegnati a ogni oggetto possono essere estremamente dettagliati, il che contribuisce a velocizzare il recupero.

Per illustrare la differenza tra storage dei dati gerarchico e non gerarchico, immagina che Bob voglia archiviare migliaia di dischi in vinile. Grazie a un sistema di archiviazione gerarchico, poteva ordinare i dischi in grandi contenitori (o cartelle) classificati in base al genere musicale. Ciò gli consentirebbe di trovare rapidamente qualsiasi album, ma potrebbe esaurire lo spazio nel cestino se acquistasse altri dischi di quel genere. Questo metodo è simile allo storage basato su file, in cui i dati devono essere organizzati e archiviati in una posizione specifica.

Al contrario, un sistema di archiviazione non gerarchico consentirebbe a Bob di posizionare tutti i suoi dischi in una stanza (o data lake), nell'ordine che preferisce. Ogni disco dovrebbe essere contrassegnato con un'etichetta che ne indica il genere. Questo metodo rallenterebbe il processo di identificare un singolo disco, ma permetterebbe a Bob di aggiungere molti più dischi alla sua collezione senza doverli archiviare in uno specifico contenitore. Questo metodo è simile all'archiviazione a oggetti, in cui è possibile archiviare maggiori quantità di dati nella stessa posizione.

Per una spiegazione approfondita di questo processo, leggi Cos'è l'archiviazione a oggetti?

Cos'è l'architettura di un data lake?

L'architettura del data lake si riferisce ai processi e agli strumenti utilizzati per archiviare, trasformare, accedere e proteggere i dati all'interno di un data lake. Sebbene questa architettura possa essere situata nel cloud o in locale, spesso condivide molti dei seguenti componenti:

  • Origini dati: il formato originale dei dati, ovvero strutturato (ad esempio, dati che si inseriscono in una struttura tabulare, come i database SQL), semi-strutturato (ad esempio, dati che potrebbero non adattarsi facilmente a una struttura tabulare, come i file HTML) o non strutturato (ad esempio, video, file audio e immagini).
  • Estrazione dei dati: l'ELT (estrazione, caricamento e trasformazione) è il processo in più fasi di spostamento dei dati dalla loro origine originale alla zona non elaborata del data lake, per poi modificarli al fine di renderli più utilizzabili.
  • Importazione e archiviazione dei dati: il metodo con cui i dati vengono aggiunti a un data lake. Nello specifico, si tratta di importazione in tempo reale (aggiunta di dati man mano che vengono acquisiti) o di importazione in batch (aggiunta di gruppi di dati a intervalli regolari). Indipendentemente dal metodo di acquisizione, tutti i dati vengono inizialmente archiviati nella sezione dati non elaborati; in altre parole, vengono aggiunti a un data lake nel loro formato originale non elaborato.
  • Persistenza e catalogazione dei dati: il processo di aggiunta di metadati ai dati non elaborati in modo che possano essere consultati e recuperati più facilmente
  • Elaborazione dei dati: diverse trasformazioni dei dati grezzi, tra cui pulizia dei dati (rimozione di imprecisioni o incoerenze), normalizzazione dei dati (riformattazione dei dati in modo che esistano tutti nella stessa forma), arricchimento dei dati (aggiunta di contesto o informazioni necessarie) e strutturazione dei dati (trasformazione di dati semi-strutturati o non strutturati in dati strutturati).
  • Data lineage: il processo di tracciamento dei dati dalla sua origine, in formato grezzo, fino alla sua trasformazione
  • Sicurezza e governance dei dati: diversi metodi per garantire la sicurezza e il controllo degli accessi ai dati, la provenienza dei dati, la qualità dei dati, l'analisi e la verifica dei dati.

Casi d'uso di data lake

I data lake possono essere utilizzati per un'ampia gamma di scopi, tra cui analisi ed esplorazione dei dati, gestione dell'Internet of Things (IoT), esperienze dei consumatori personalizzate,machine learning avanzato e molto altro. I data lake sono utili anche per l'addestramento di modelli di intelligenza artificiale (IA), che spesso necessitano di set di dati molto grandi per produrre risultati efficaci.

Ad esempio, immagina che una società di viaggi desideri offrire alla propria clientela raccomandazioni di viaggio personalizzate e automatizzate. Con un data lake, è possibile acquisire una grande quantità di dati dei clienti relativi a modelli di viaggio comuni, destinazioni popolari, durata del soggiorno, tipologia di alloggio e attività. Quindi, possono utilizzare tali dati per addestrare un modello di intelligenza artificiale al fine di sviluppare raccomandazioni più avanzate e, idealmente, garantire una maggiore soddisfazione del cliente.

Quali sono i vantaggi dei data lake?

  • Flessibilità: per progettazione, i data lake possono archiviare dati in qualsiasi formato, senza richiedere compressione o riformattazione dei file.
  • Scalabilità: i data lake possono gestire quantità quasi illimitate di dati, rendendoli una scelta più popolare per le organizzazioni che devono elaborare e archiviare grandi (e crescenti) quantità di dati.
  • Ricercabilità: i data lake consentono un recupero semplice dei dati tramite metadati altamente personalizzabili e dettagliati.
  • Semplicità: tutti i dati sono archiviati nello stesso data lake, anziché in configurazioni gerarchiche complesse.

Quali sono i limiti dei data lake?

  • Problemi di affidabilità: i data lake possono trasformarsi in data swamp quando una quantità eccessiva di dati viene aggiunta a un repository senza un'efficace categorizzazione e trasformazione, rendendo il data lake inaffidabile e difficile da usare.
  • Prestazioni lente: sebbene i data lake siano progettati per operare su larga scala, una quantità eccessiva di dati (o motori di query inefficaci) può influire sui tempi di query e sulle prestazioni complessive.
  • Costi di uscita dei dati: l'uscita (o trasferimento dati) dei dati è il processo di recupero dei dati dal fornitore di archiviazione cloud di un'organizzazione. Spesso, i fornitori di servizi cloud addebitano questi trasferimenti e le tariffe possono aumentare vertiginosamente in base alla quantità di dati che un'organizzazione deve spostare.

Data lake e data warehouse

I data lake sono grandi repository di dati strutturati e non strutturati. Il loro vantaggio principale è la capacità di operare in modo economicamente efficiente su larga scala, ma le loro dimensioni e la complessità dei sistemi di categorizzazione possono renderli inefficienti rispetto ad altri tipi di elaborazione e archiviazione dati.

Come i data lake, anche i data warehouse sono grandi repository di dati. A differenza dei data lake, essi archiviano solo dati strutturati e utilizzano gerarchie di file tradizionali per organizzare, memorizzare e recuperare i dati. Questa architettura consente un recupero dei dati e prestazioni più rapido, sebbene la scalabilità possa essere esponenzialmente più costosa rispetto a un data lake.

Alcuni fornitori di servizi cloud offrono un approccio ibrido chiamato data lakehouse, che combina le funzionalità e i vantaggi principali di data lake e data warehouse. Invece di mantenere i dati strutturati e non strutturati isolati in sistemi separati, le organizzazioni possono utilizzare i data lakehouse per elaborare e archiviare tutti i tipi di dati, sfruttando le capacità organizzative e le elevate prestazioni di un data warehouse e la scalabilità economicamente vantaggiosa di un data lake. Questo approccio consente inoltre alle organizzazioni di garantire una maggiore integrità e affidabilità dei dati tramite strumenti automatizzati di governance dei dati e conformità.

Cloudflare supporta i data lake?

Cloudflare R2 è una soluzione di archiviazione a oggetti senza costi di uscita che consente alle organizzazioni di sviluppare i propri data lake. Supportato dalla rete globale di Cloudflare, R2 contribuisce a garantire durabilità e affidabilità ottimali dei dati, replicando più volte gli oggetti, in modo che rimangano facilmente accessibili e altamente resistenti a errori regionali e perdita di dati.

Scopri di più su R2 e come la connettività cloud riduce le tariffe di uscita quando si spostano i dati tra i cloud.