flex-height
text-black

Uomo che cammina in una server room

Cos'è un data lake?

Il data lake è un repository centralizzato che offre una risposta ai problemi dei silos di dati.

default

{}

default

{}

primary

default

{}

secondary

Cos'è il data lake: definizione e scopo

Il data lake è un repository centralizzato che archivia dati strutturati, semi-strutturati e non strutturati nel loro formato nativo. A differenza di altri sistemi di archiviazione, che richiedono l'organizzazione dei dati prima che vengano memorizzati (per esempio, il data warehouse), il data lake accetta i dati grezzi nel loro stato originale, preservandone la struttura e il formato fino a quando non sono necessari per casi d'uso di analisi avanzata, intelligenza artificiale (AI) e machine learning (ML).

Lo scopo principale del data lake è abbattere i silos di dati e creare una fonte unica per gli asset di dati di una organizzazione. Il sistema prevede il consolidamento dei dati provenienti da più fonti in un'unica posizione accessibile: il data lake. Per data scientist, analisti e ingegneri del machine learning questo significa poter esplorare, sperimentare ed estrarre valore da informazioni che altrimenti sarebbero rimaste intrappolate in sistemi eterogenei. Esempi di origini di dati che potrebbero essere archiviate in un data lake includono:

Lo scopo del data lake è fornire una soluzione flessibile e scalabile per l'archiviazione e l'analisi di dati di tutti i tipi. Questo è possibile grazie all'approccio di schema in lettura, al posto dello schema in scrittura utilizzato nei data warehouse.

Cosa significa schema in lettura?

'Schema in lettura' significa che la struttura e il significato dei dati (lo schema) vengono applicati al momento dell'accesso ai dati, e non quando questi vengono memorizzati. In questo modo si mantiene la flessibilità, consentendo alle organizzazioni di archiviare i dati anche senza sapere ancora esattamente come verranno utilizzati in futuro. Ecco perché i data lake sono ideali per l'analisi esplorativa, il data mining, il machine learning e la scoperta di schemi imprevisti nei dati.

Architettura e componenti del data lake

L'architettura del data lake è stratificata su più livelli ed è costituita da diversi componenti chiave che operano congiuntamente per acquisire, archiviare, elaborare e distribuire dati agli utenti finali e alle applicazioni. Queste le componenti chiave del data lake:

Layer di archiviazione

Il layer di archiviazione è la base dell'architettura data lake, generalmente costruita su sistemi di archiviazione di oggetti che si propongono come una soluzione scalabile ed economica per volumi di dati cospicui. Questo layer ospita i dati nel loro formato nativo, sia che si tratti di file CSV, documenti JSON, file Parquet, immagini, video o qualsiasi altro formato.

Ricezione dati

Il layer di importazione rapida di dati gestisce il processo di trasferimento nel lake dei dati provenienti da varie fonti. L'importazione può anche avvenire in batch per i caricamenti di dati periodici, e in streaming per flussi di dati in tempo reale. Gli strumenti di importazione rapida devono trattare tipi diversi di dati e fonti, garantendone al contempo l'integrità e tracciandone la derivazione.

Gestione dei cataloghi di dati e dei metadati

La componente di catalogazione e gestione dei metadati cura un inventario organizzato dei dati esistenti nel lake, in cui sono specificati l'ubicazione, il significato e le relazioni con altri dati. Potrebbe essere assimilato alla gestione di cataloghi di librerie o archivi. Un valido catalogo di dati funge da indice ricercabile, che gli utenti possono consultare per reperire i set di dati desiderati senza dover sfogliare manualmente l'intero repository.

Layer di elaborazione

Il layer di elaborazione consente la trasformazione, la ripulitura, l'arricchimento e l'analisi dei dati. Questo layer include motori per l'elaborazione in batch, l'elaborazione in streaming e le query interattive, che consentono agli utenti di prepararsi per casi d'uso specifici o per eseguire analisi ad hoc.

Layer di accesso

Il layer di accesso propone interfacce e strumenti rivolti a varie tipologie di utenti: i data scientist che utilizzano notebook, gli analisti che eseguono query SQL o le applicazioni che usufruiscono dei dati tramite API. Questo livello applica anche le policy di sicurezza, per gestire chi può accedere a determinati dati e a quali condizioni.

Tipi di data lake: cloud, on-premise, ibrido, multi-cloud

Esistono diversi tipi di data lake, a seconda della configurazione scelta dall'organizzazione per distribuirli. Ad ogni configurazione corrisponde un compromesso di vantaggi e svantaggi.

Data lake in cloud

I data lake in cloud sono ospitati interamente su piattaforme cloud. Possono offrire una scalabilità praticamente illimitata, tariffe pay-as-you-go e una facile integrazione con servizi AI e analytics cloud-native. Con i data lake in cloud non sono necessari investimenti iniziali in infrastrutture, il che consente alle organizzazioni di modulare autonomamente le risorse di archiviazione e di calcolo. Sono particolarmente adatti per le organizzazioni in crescita o che puntano a ridurre i costi generali di esercizio, mantenendo al contempo l'accesso a funzionalità analitiche all'avanguardia.

Data lake on-premise

I data lake on-premise sono distribuiti all'interno dei data center di una organizzazione, che in questo modo ha il controllo completo e la piena responsabilità dell'infrastruttura, della sicurezza e della sovranità dei dati. Questa prerogativa li rende una scelta interessante per le organizzazioni con requisiti normativi e di sicurezza particolarmente specifici, ma in generale va detto che i data lake on-premise richiedono investimenti di capitale consistenti, manutenzione continua e sforzi considerevoli per qualsiasi progetto di trasformazione. Si tratta in fin dei conti di un compromesso: aumentare la granularità del controllo va a scapito della scalabilità e dell'efficienza dei costi.

Data lake ibridi

I data lake ibridi combinano il cloud con l'archiviazione on-premise, permettendo alle organizzazioni di mantenere parte dei dati nelle proprie strutture fisiche riservando le risorse cloud per la scalabilità e l'analisi avanzata. Se da un lato assicura flessibilità, dall'altro questo approccio introduce complessità in termini di sincronizzazione dei dati, governance e gestione di un'esperienza omogenea per tutti gli ambienti.

Data lake multi-cloud

I data lake multi-cloud vedono la presenza di più fornitori di cloud, permettendo alle organizzazioni di evitare la dipendenza da un unico vendor, ottimizzare i costi approfittando dei servizi migliori offerti da ciascun fornitore e garantire la continuità aziendale attraverso la ridondanza. Le architetture multi-cloud richiedono comunque un'attenta pianificazione dell'interoperabilità dei dati, policy di sicurezza coerenti e la gestione dei costi di trasferimento dei dati tra provider di cloud diversi. La stessa introduzione di modifiche o innovazioni può trasformarsi in un processo più complesso.

Data lake, data warehouse e data lakehouse

Comprendere le differenze tra questi approcci all'archiviazione dei dati è essenziale per poter scegliere le soluzioni giuste a fronte degli obiettivi della propria organizzazione. Mettiamo allora a confronto data lake, data warehouse e data lakehouse rispetto a una serie di criteri chiave:

Funzionalità
Data lake
Data warehouse
Data lakehouse
Schema
Schema in lettura
Schema in scrittura
Flessibile con struttura opzionale
Tipi di dati
Strutturati, semi-strutturati, non strutturati
Generalmente strutturati (occasionalmente semi-strutturati)
Tutti i tipi con gestione tabelle
Costi tipici di archiviazione
Costi di archiviazione bassi
Costi di archiviazione più alti
Costo moderato
Principali utenti
Data scientist e ingegneri, ingegneri ML, analisti
Analisti aziendali, dirigenti, data scientist
Tutti i tipi di utenti
Casi d'uso
Esplorazione, ML, analisi avanzata, AI, archiviazione scalabile fino a nuova elaborazione
Ottimizzato per query e algoritmi specifici
Analytics e rendicontazione unificati
Performance
Variabili, a seconda del motore di elaborazione
Ottimizzate per query
Prestazioni elevate con governance incorporata
Qualità dei dati
Dati grezzi di qualità varia
Dati puliti e validati
Qualità applicata con flessibilità

Come si traduce tutto questo nella pratica?

I data lake eccellono come sistema economico di archiviazione di grandi volumi di dati grezzi e supportano l'analisi esplorativa e il machine learning. Sono la soluzione ideale quando serve flessibilità per lavorare con tipi di dati diversi e non si conoscono ancora le modalità di utilizzo futuro di tali dati. Possono anche archiviare i dati destinati in seguito ad essere immessi nei data warehouse.

I data warehouse sono progettati appositamente per la business intelligence e la rendicontazione, con schemi strutturati ottimizzati per il funzionamento delle query. Sono particolarmente adatti per esigenze di rendicontazione e modellazione ben definite, in cui la qualitàe la coerenza dei dati sono fondamentali, come per esempio nell'analisi predittiva. In pratica, i dati accumulati nei data lake possono essere anche elaborati e trasmessi in streaming o immessi periodicamente nei data warehouse, a seconda di come sono configurate le pipeline di dati.

I data lakehouse rappresentano un'architettura più evoluta che mette insieme la flessibilità dei data lake con le capacità di gestione e le prestazioni dei data warehouse. Permettono alle organizzazioni di eseguire analisi esplorative e rendicontazione aziendale sulla stessa piattaforma, riducendo la duplicazione e la complessità dei dati.

I vantaggi dei data lake

I vantaggi dei data lake sono ciò che li rende una scelta così convincente per le organizzazioni e un pilastro fondamentale della moderna architettura dei dati. Questi i vantaggi dell'architettura dei data lake:

Flessibilità: i data lake accettano dati di qualsiasi tipo e formato, ovviando così alla necessità di trasformarli prima dell'archiviazione o di fare i conti con dati mancanti. In pratica, puoi iniziare a raccogliere dati immediatamente, senza la necessità di una impegnativa pianificazione iniziale o di sapere come li userai. L'approccio dello schema in lettura permette a team diversi di utilizzare e interpretare gli stessi dati in vari modi, favorendo l'innovazione e la discovery.

Scalabilità: in un data lake, i volumi archiviati possono passare dai gigabyte ai petabyte senza richiedere modifiche o migrazioni architettoniche, specie nel caso delle implementazioni in cloud. Le organizzazioni possono iniziare in piccolo ed espandersi man mano che i loro fabbisogni di dati crescono.

Efficienza dei costi: uno dei vantaggi dei data lake per l'archiviazione risiede nel loro costo generalmente molto inferiore rispetto ai data warehouse tradizionali a parità di volumi di dati da trattare, il che rende economicamente fattibile conservare i dati storici o esplorare nuove fonti di dati senza uscire dai limiti del budget.

Supporto per l'analisi avanzata: i data lake permettono ai data scientist e agli ingegneri del machine learning di accedere ai dati grezzi per la creazione e la formazione di modelli, data mining e altre attività avanzate. A differenza dei dati elaborati nei data warehouse, l'immissione di dati grezzi preserva specificità e dettagli che potrebbero rivelarsi fondamentali per previsioni e insight accurati. I data lake supportano anche l'analisi in tempo reale tramite l'importazione rapida di dati in streaming, consentendo alle organizzazioni di agire sulla base di informazioni sempre aggiornate.

Democratizzazione dei dati: altro vantaggio dell'architettura del data lake, quando tutti i dati di un'organizzazione sono archiviati in un unico luogo accessibile, un maggior numero di persone di ogni area li può consultare e utilizzare, abbattendo i silos e promuovendo un processo decisionale basato sui dati a tutti i livelli.

Le sfide comuni dei data lake

Oltre agli enormi vantaggi, i data lake presentano anche alcune sfide, che le organizzazioni devono affrontare per poterne realizzare appieno il potenziale. Queste le sfide comuni dei data lake:

Complessità della governance dei data lake

La governance dei dati diventa più complessa quando si archiviano grandi quantità di dati di tipo diverso. Senza adeguati quadri di governance, i "laghi" di dati possono degenerare in "paludi", ossia repository in cui i dati vengono scaricati senza alcun criterio, diventando così difficili da reperire, studiare e usare come fonti affidabili. Stabilire una chiara titolarità, documentare la derivazione dei dati e gestire i metadati sono attività essenziali che richiedono tuttavia uno sforzo e una disciplina costanti.

Preoccupazioni legate alla sicurezza dei dati

La sicurezza e il controllo degli accessi richiedono una particolare attenzione. I data lake ospitano informazioni sensibili provenienti da ogni area dell'organizzazione e hanno bisogno di solide policy e strumenti di sicurezza per garantire che solo gli utenti autorizzati possano accedere a set di dati specifici, mantenendo al contempo gli audit trail. Crittografia, autenticazione, controlli di accesso dettagliati e mascheratura dei dati svolgono tutti un ruolo importante nel proteggere gli ambienti di data lake ed evitare problemi di gestione.

Difformità nella qualità dei dati

Il data lake non garantisce di per sé la qualità dei dati. Essendo archiviati allo stato originale, i dati grezzi possono contenere errori, duplicati o incoerenze. Prima che vengano utilizzati ai fini di analisi, le organizzazioni devono attuare processi per validare, pulire e arricchire questi dati. Senza la dovuta attenzione alla qualità, gli analytics e i modelli di ML basati sui dati dei lake potrebbero produrre risultati inaffidabili.

Problemi di gestione dei data lake

I requisiti di complessità e competenza non devono essere sottovalutati. La gestione efficace di un data lake richiede competenze in sistemi distribuiti, ingegneria dei dati, gestione dei metadati e vari quadri di trattamento. Per creare e mantenere la propria infrastruttura di data lake, le organizzazioni potrebbero trovarsi nella necessità di investire in formazione, assumere talenti specializzati o collaborare con un fornitore di servizi esperti.

Tempi di query rallentati

L'ottimizzazione delle prestazioni può rivelarsi complicata, specie per le query interattive su grandi set di dati. A differenza dei data warehouse, che hanno schemi pre-ottimizzati, per ottenere prestazioni di query accettabili i data lake richiedono estrema cura nell'organizzazione dei dati, nelle strategie di partizionamento e nella scelta dei formati di file. Per dirla in parole povere, i data lake possono contenere volumi di dati talmente vasti da richiedere tempi anche molto lunghi per il reperimento delle informazioni desiderate.

Esempi di data lake e casi d'uso pratici

Esempi reali di utilizzo dei data lake dimostrano come vengono utilizzati dalle organizzazioni per affrontare sfide aziendali e ottenere vantaggi competitivi. Entriamo nel dettaglio analizzando alcuni dei casi d'uso più comuni del data lake.

Caso d'uso del data lake: analisi IoT per manutenzione predittiva

Un'impresa manifatturiera raccoglie i dati dei sensori installati su migliaia di macchine in una serie di stabilimenti, generando ogni giorno terabyte di dati di serie temporali. Convogliando questi dati in un data lake li aggrega a registri di manutenzione, programmi di produzione e informazioni dei fornitori. I modelli di machine learning analizzano schemi ricorrenti storici per prevedere i guasti agli impianti prima che si verifichino, riducendo i tempi di inattività e risparmiando milioni in costi di riparazione. Questo caso d'uso è reso possibile dalla capacità del data lake di gestire streaming di dati ad alta velocità da più fonti.

Caso d'uso del data lake: visione a 360 gradi del cliente per il marketing personalizzato

Un'organizzazione di vendita al dettaglio consolida in un data lake i dati dei clienti riferiti a comportamenti di navigazione online, storico degli acquisti, interazioni con le app mobili, chiamate e chat con il servizio clienti, engagement con i social media e visite in negozio. Analizzando questa visione completa di ogni cliente, riesce a creare segmenti dettagliati e personalizzare campagne di marketing, suggerimenti di prodotto e customer experience. Ne potrebbe conseguire una maggiore efficacia delle campagne e un significativo miglioramento della customer satisfaction. In questo esempio di data lake, la creazione della visione olistica del cliente è resa possibile dalla flessibilità e dalla capacità di archiviare sia i dati strutturati delle transazioni che le registrazioni non strutturate delle interazioni.

Caso d'uso del data lake: modellazione del rischio dei servizi finanziari

Un istituto finanziario utilizza un data lake per aggregare dati di trading, feed di mercato, articoli di stampa, sentiment dei social media e documenti normativi. I data scientist elaborano sofisticati modelli di rischio che tengono conto sia delle metriche finanziarie tradizionali, sia di fonti di dati aggiuntive. Grazie all'approccio di schema in lettura del data lake, possono esplorare varie fonti di dati e tecniche di modellazione senza interferire con i sistemi esistenti, riuscendo così a ottenere valutazioni del rischio più accurate.

Best practice per i data lake

L'implementazione delle seguenti best practice per i data lake può aiutare le organizzazioni a valorizzarli al meglio ed evitare al contempo insidie comuni:

  1. Assegna priorità alla gestione dei metadati fin dal giorno uno. Crea un catalogo completo che documenti quali dati esistono, da dove provengono, cosa significano e come si relazionano con gli altri set di dati. Metadati di buona qualità trasformano quella che potrebbe diventare una discarica di dati debordante in una risorsa consultabile e comprensibile; ecco perché rappresentano un aspetto essenziale della gestione dei data lake.
  2. Istituisci una governance per i data lake. Implementa solidi quadri di governance con cui definire la proprietà dei dati, stabilire standard di qualità e creare processi chiari per l'importazione rapida, la classificazione e la gestione del ciclo di vita dei dati. La governance non deve essere considerata un elemento accessorio, ma va integrata nell'architettura del data lake fin dall'inizio per preservare la certezza dei dati e garantire la conformità ai requisiti normativi.
  3. Proteggi i tuoi dati. Progetta secondo criteri di sicurezza e compliance, implementando la crittografia a riposo e in transito, controlli di accesso dettagliati, registrazione di audit e mascheratura dei dati, laddove necessario. Verifica periodicamente i modelli e le autorizzazioni di accesso per accertarti che siano in linea con il principio dei privilegi minimi.
  4. Ottimizza le prestazioni. Organizza l'archiviazione in modo ottimale partizionando logicamente i dati (per data, regione o altre dimensioni pertinenti), scegliendo formati di file efficienti per i carichi di lavoro analitici e implementando policy sul ciclo di vita per conservare o eliminare i dati obsoleti. Queste scelte influiscono in modo significativo sia sui costi che sulle performance delle query.
  5. Promuovi una cultura basata sui dati. Rendi i dati reperibili e accessibili, fornendo al contempo formazione e strumenti che consentano analisi in self-service. Se il tuo team non dispone delle competenze giuste, valuta l'assunzione di talenti aggiuntivi in grado di colmare il divario tra gli stakeholder delle aree business e la tecnologia, garantendo così una gestione ottimale del data lake. L'infrastruttura tecnica è utile solo se utilizzata effettivamente per prendere decisioni migliori.

Il futuro dei data lake

Con le organizzazioni che pretendono sia flessibilità che governance, l'evoluzione dei data lake non si arresta, facendo emergere architetture di data lakehouse che condensano gli aspetti migliori dei "laghi" e dei "magazzini". Questa convergenza testimonia la crescente consapevolezza da parte delle organizzazioni della necessità di piattaforme unificate che supportino approcci diversi, piuttosto che mantenere sistemi separati per scopi distinti.

Nelle strategie di data lake stanno assumendo centralità crescente l'AI e il machine learning. I data lake più evoluti non sono solo repository di archiviazione, ma piattaforme centrali in cui i modelli di AI vengono addestrati su dati storici, formulano previsioni utilizzando i dati in streaming e si perfezionano progressivamente grazie ai cicli di feedback. L'integrazione con le piattaforme di AI e le funzionalità di ML sta diventando lo standard anziché l'eccezione.

Con le organizzazioni che hanno ormai compreso il valore di un'azione basata su dati aggiornati, l'analisi in tempo reale e in streaming continua a guadagnare importanza. In questo quadro, i data lake si stanno evolvendo per supportare l'elaborazione e l'interrogazione dei dati in tempi inferiori al secondo, rendendo indistinguibile il confine tra analisi storica e operazioni in tempo reale.

Infine, con l'espansione e l'evoluzione delle normative sulla riservatezza dei dati in tutto il mondo, i data lake devono adeguarsi per supportare la privacy e la protezione dei dati 'by-design', con funzionalità quali la classificazione automatica dei dati, la gestione del consenso e la rendicontazione di conformità semplificata integrate nella piattaforma e non semplicemente aggiunte in seguito.

Il futuro dei data lake risiede nella flessibilità, nell'accessibilità e nell'automazione, altrettante caratteristiche che rendono più facile per le organizzazioni gestire volumi di dati crescenti senza però rinunciare a sicurezza, qualità e governance. I data lake dovrebbero essere considerati una risorsa strategica a cui riservare investimenti e attenzione costanti.

FAQ

Perché il nome "data lake"?
Il termine "data lake" è una metafora ispirata al mondo della natura: come molteplici corsi d'acqua confluiscono in un unico lago, così i dati provenienti da più fonti vengono convogliati in un repository centralizzato. Come il lago naturale immagazzina acqua al suo stato originale, ossia non filtrata o depurata, così il data lake archivia i dati nel loro formato nativo, senza richiedere trasformazioni o strutture. La metafora sottolinea la capacità del data lake di contenere grandi volumi di dati eterogenei nel loro stato “naturale” a cui è possibile attingere per vari scopi, proprio come l'acqua del lago si presta a diversi usi. Sempre a rigor di metafora, il "magazzino" ospiterebbe invece acqua filtrata, imbottigliata ed etichettata, magari anche organizzata in base alle dimensioni delle bottiglie o all'equilibrio del pH.
Cos'è il data warehouse e in cosa si distingue dal data lake?
Il data warehouse è un repository strutturato, mentre il data lake è un approccio di archiviazione che consente l'inserimento e l'archiviazione di tutti i tipi di dati, strutturati o non strutturati. La differenza chiave tra data lake e data warehouse è nell'approccio: i data warehouse seguono lo schema in scrittura (i dati devono essere strutturati prima dell'archiviazione), mentre i data lake seguono lo schema in lettura (la struttura viene applicata quando si accede ai dati). I data warehouse sono ottimizzati per le esigenze note di rendicontazione e query, mentre i data lake supportano l'analisi esplorativa e il machine learning su dati grezzi. In altri termini, i data warehouse sono specializzati per rispondere rapidamente a domande aziendali specifiche, mentre i data lake sono finalizzati a criteri di flessibilità, capienza e alla scoperta di nuove domande da porre.
In cosa consiste la gestione dei dati in un data lake?
La gestione dei dati in un data lake si articola in diverse attività critiche. La gestione di cataloghi e metadati garantisce che gli utenti possano trovare e comprendere i set di dati disponibili. La governance stabilisce policy per la proprietà dei dati, gli standard di qualità e i controlli di accesso. La gestione degli accessi e il tracciamento della derivazione mostrano chi ha effettuato l'accesso a quali dati e come questi sono stati trasformati o utilizzati. Le policy sul ciclo di vita e sulla conservazione stabiliscono i tempi di mantenimento dei dati e quando devono essere archiviati o eliminati. Una gestione efficace impedisce che i data lake si trasformino in "paludi" disorganizzate e riduce i problemi che potrebbero insorgere.
Cos'è il data lakehouse?
Il data lakehouse è un'architettura evoluta che mette insieme la flessibilità e l'economicità dei data lake con la struttura e le prestazioni dei data warehouse. I data lakehouse permettono alle organizzazioni di archiviare dati grezzi nel loro formato nativo (come il data lake), supportando al contempo strutture simili a tabelle, l'applicazione di schemi e query dalle prestazioni ottimizzate (come il data warehouse). Questo approccio unificato rende superfluo duplicare i dati tra sistemi distinti di lake e warehouse, semplificando l'architettura e riducendo i costi, grazie a una stessa piattaforma capace di supportare l'analisi esplorativa e la rendicontazione aziendale.
Cos'è il multi-cloud per i data lake?
Il data lake multi-cloud è un sistema esteso a due o più provider di cloud. Le organizzazioni ricorrono a strategie multi-cloud per evitare la dipendenza da un singolo vendor, ottimizzare i costi sfruttando i servizi migliori offerti da ciascun fornitore, garantire la continuità aziendale attraverso la ridondanza e soddisfare i requisiti di residenza dei dati nelle diverse regioni. Le architetture multi-cloud introducono tuttavia criticità legate all'interoperabilità dei dati, al mantenimento di policy di sicurezza coerenti e alla gestione dei costi di trasferimento dei dati tra un cloud e l'altro.
Cos'è l'archiviazione a oggetti in un data lake?
L'archiviazione a oggetti è il layer di base che ospita i dati in un data lake. A differenza dei file system che organizzano i dati in cartelle gerarchiche, l'archiviazione a oggetti memorizza i dati come singoli oggetti, ciascuno con identificatori, metadati e dati stessi univoci. Altamente scalabile ed economica, l'archiviazione a oggetti è ideale per l'archiviazione di enormi volumi di dati in formati nativi.