Cos’è un Data Lake

Un Data Lake è un repository utilizzato per l’archiviazione di dati nel loro formato nativo e provenienti da fonti diverse e non omogenee. I dati raccolti non vengono trasformati e viene mantenuta la loro struttura originaria. Questo permette alle aziende di poter organizzare ed analizzare i propri dati, anche di grandi dimensioni, attraverso una piattaforma di gestione semplificata.

I dati all’interno di un Data Lake vengono trasformati solo nel momento in cui occorre analizzarli e, successivamente, viene applicato uno schema per procedere all’analisi con un processo definito come “schema on read”.

Come funziona un Data Lake

  1. Collect: si raccolgono dati provenienti da più fonti diverse (email, social media, fogli di calcolo, PDF, ecc.), che si riversano nel “lago” (lake). Un Data Lake conserva e archivia tutti i dati, senza considerare la struttura o la fonte.
  2. Ingest: i dati vengono raccolti nel loro formato originale e verranno elaborati solo ed esclusivamente nel momento in cui dovranno essere utilizzati (schema on read). Infatti, non ci sono vincoli temporali per l’analisi dati, che potranno essere utilizzati più volte.
  3. Blend: i dati vengono selezionati, combinati tra loro e organizzati nel momento in cui si verifica la necessità.
  4. Transform: le informazioni “grezze” vengono analizzate, affinate e trasformate nel dato richiesto.
  5. Publish: i dati sono finalmente processati e pronti per la pubblicazione.
  6. Distribute: i dati vengono distribuiti e condivisi attraverso i più svariati mezzi di comunicazione.

Come funziona un Data Lake
Le fasi di elaborazione dei dati in un Data Lake

La differenza tra Data Lake e Data Warehouse

A differenza del Data Lake, nel Data Warehouse i dati vengono modellati prima di essere archiviati, con il risultato di non poterne sfruttare appieno il valore. In un Data Warehouse il modello alla base prevede che i dati siano tutti strutturati, con la conseguente necessità di elaborazione del dato prima della scrittura nello storage tramite un processo che viene definito “schema on write”.

Questo processo che trasforma il dato spesso è complesso e richiede tempo, ne impedisce l’acquisizione immediata e richiede delle infrastrutture hardware specifiche per questa tipologia di storage che, nella maggioranza dei casi, risultano più onerose rispetto a quelle utilizzate nei Data Lake.

L’accesso ai dati di un Data Lake permette di analizzare i dati così come sono e senza la necessità di spostarli da un sistema ad un altro, effettuando le elaborazioni direttamente sul repository. Al fine di rendere sempre fruibili i dati, questi necessitano di una governance continua per evitare che diventino inaccessibili, ingombranti, costosi e, di conseguenza, inutili (data swamp – palude di dati). In termini di architettura, i Data Lake utilizzano una struttura piatta e godono di una scalabilità molto elevata che diventa un punto fondamentale di differenziazione rispetto al Data Warehouse, dove i sistemi di storage tradizionali non offrono questo tipo di scalabilità. Infatti, quando si crea un Data Lake, non si conosce in anticipo il volume dei dati che verranno archiviati e questo richiede delle infrastrutture che possano scalare facilmente e rapidamente.

Data LakeData Warehouse
Dati Formato nativo, strutturati, semi-strutturati e non strutturatiElaborati e strutturati
SchemaScritto in fase di lettura e analisi del dato (schema on read)Progettato in fase di costruzione del repository (schema on write)
Qualità dei datiDati curati e grezzi (non elaborati)Dati curati e raffinati (elaborati)
StorageCosti limitatiQuery più rapide basate su storage di costo superiore e costi di integrazione onerosi
FinalitàDefinita o da definire per un uso futuroDefinita

I vantaggi del Data Lake

I Data Lake consentono di ampliare i set di informazioni a cui si ha accesso. I dati vengono raccolti da più fonti e spostati nel Data Lake in formato originale, con notevoli risparmi in termini di tempo per la definizione di strutture di dati, schemi e trasformazioni. Inoltre, i Data Lake permettono a utenti con diversi ruoli organizzativi (data scientist, sviluppatori di dati e analisti aziendali) di accedere ai dati scegliendo i propri strumenti analitici e framework.

Ci sono poi numerosi modi per interrogare e analizzare i dati, il che li rende ottimali per applicazioni di Modern BI, Machine Learning Operations, nonchè per operazioni di Visual Analytics e rendere operativi e produttivi i progetti aziendali in Artificial Intelligence.

Si riducono i costi di archiviazione in quanto, rispetto ad un sistema tradizionale o di Data Warehouse, non è necessario prevedere a priori tutti i futuri utilizzi e modalità di accesso ai dati. Il sistema può così crescere e scalare all’occorrenza  con notevoli risparmi in termini di costi di infrastruttura e di tempo necessario al consolidamento dei dati.