Un Data Lake è un luogo centralizzato in grado di archiviare moli di dati molto grandi nel loro formato nativo, strutturato o non strutturato, anche provenienti da fonti diverse tra loro, senza la necessità di normalizzarli nella fase di acquisizione.

Non richiedendo che sul dato avvenga nessuna modifica propedeutica all’archiviazione, non esiste perdita di informazione per nessun tipo di dato archiviato, che sia un flusso web, la lettura di un sensore, un campo generato dalla compilazione di form.

Un sistema di questo tipo adotta un approccio Schema-on-read. I dati sono acquisiti nel loro formato nativo grezzo e sono associati ad un identificatore e dei metadati, atti a consentire il rintracciamento dello stesso quando vi è la necessità.

Si tratta di un metodo di lavoro nuovo perché i sistemi storicamente utilizzati per archiviare, processare e analizzare dati sono definiti e strutturati in base all’uso finale che si prevede di farne, attraverso un’architettura di tipo “Data Warehouse”.

In un sistema di tipo Data Warehouse, partendo da un set di dati grezzi, questi vengono strutturati e processati attraverso un approccio cosiddetto di Schema-on-write, dove prima viene definita la struttura del database che deve ospitare i dati, poi i dati vengono scritti all’interno della struttura predefinita e, nel momento in cui sono prelevati per l’analisi, vengono restituiti nel formato predefinito.

Quali sono i vantaggi che derivano dall’adozione di un sistema del tipo Data Lake?

Riduzione dei costi di archiviazione e spazio di archiviazione infinito: la gestione di grossi volumi di dati da parte di un database risulta costoso e poco efficiente in quanto lo schema onwrite costringe a prevedere in anticipo tutti gli usi che potrebbero essere fatti dei dati, anche quando in presenza dell’evoluzione di obiettivi ed esigenze del business. Aumentare il volume dei dati raccolti in un database e aggiornarne la struttura costantemente è un processo dispendioso e lungo. L’utilizzo di metodi di conservazione dei dati su file system distribuiti (HDFS in cloud) tipici di un sistema di tipo Data Lake rende implicitamente infinito lo spazio disponibile per l’archiviazione dei dati.

Riduzione dei costi di consolidamento dei dati: riunire tra loro database con strutture diverse è complesso e richiede uno sforzo ingente di data modelling. Un’impresa quasi impossibile quando la mole di dati da acquisire cresce costantemente.

Riduzione del Time-to-market: Progetti di ampliamento e consolidamento dei database richiedono tempi lunghi, con il risultato di impedire una risposta tempestiva al quesito di business. Quando i dati sono pronti per essere analizzati, può essere troppo tardi per trarne valore. A questo si aggiunge il fatto che il volume dei dati non strutturati utili per l’analisi può superare di molto quello dei dati strutturati, e la possibilità di accedere in tempo reale alle informazioni contenute nei dati non strutturati può essere centrale per la riuscita di un’attività di marketing.

Condivisione delle informazioni: Le analisi eseguite sui dati possono generare risultati che contribuiscono a qualificare ulteriormente i dati e ad aumentarne il valore. Ma in una struttura di tipo Data Warehouse i punteggi ottenuti dalle analisi restano di esclusivo uso del personale che ha prodotto l’analisi stessa a meno di dispendiose duplicazioni e copie verso altre applicazioni di analisi, previo intervento sulla struttura del database ricevente e sul modello dati. Il Data Lake è favorito nella eliminazione di queste duplicazioni e permette una condivisione più agevole delle insight ottenute.

Un Data Lake è una soluzione assemblata che sfrutta diverse tecnologie di data storage e data analysis. Possiamo per semplicità identificarle in 4 categorie:

Fase di data ingestion e storage, cioè la capacità di acquisire dati in tempo reale o in batch e di conservarli nel loro formato grezzo,

Fase di data processing, a dire la modalità di trasfromare i dati grezzi affinchè possano essere analizzati con strumenti e procedure standard,

Fase di data analysis, ossia la possibilità di creare modelli per l'estrazione sistematica di informazioni dai dati,

Fase di data integration, cioè la possibilità di collegare applicativi al Data Lake per scopi specifici.

Per realizzare un Data Lake è necessario avvalersi di tecnici e consulenti in grado di disegnare l’architettura più adatta dotandola delle componenti hardware e software per ottenere la migliore efficienza possibile in tutte le fasi di gestione dei dati.