<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=270060846955571&amp;ev=PageView&amp;noscript=1">

Che cos’è un Data Lake?

Un nuovo metodo di lavoro che semplifica e potenzia l’archiviazione

Luglio 2018

Un Data Lake è un nuovo metodo di lavoro che semplifica e potenzia l’archiviazione, la gestione e l’analisi dei Big Data, utilizzando dati provenienti da fonti diversificate e disomogenee, nel loro formato nativo, o in una copia quasi esatta del formato nativo.
 
In sostanza, un Data Lake è:

  • Un luogo per archiviare dati strutturati e non strutturati
  • Uno strumento di analisi di Big Data
  • Una risorsa per accedere ai dati, condividerli e correlarli per attività di business

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.

Un sistema di tipo Data Lake invece adotta un approccio cosiddetto di Schema-on-read: i dati sono acquisiti nel loro formato nativo secondo delle policy che standardizzano, per le diverse tipologie di dati, modalità, tempi e regole di inserimento dei dati nel data lake. Ad ogni elemento vengono associati un identificatore e un insieme di metadati che lo qualificano di modo tale che , nel momento in cui è necessario accedere ai dati alla ricerca di un risultato specifico, il data lake possa essere interrogato per restituire tutti i dati rilevanti.

È il quesito di analisi a determinare la selezione dei dati dai quali attingere informazioni, e la ricerca non si limita a un database predisposto per quel tipo di analisi, ma accede a tutte le informazioni disponibili, indipendentemente dalla sorgente che le ha generate.


 

Qual è il vantaggio che deriva dall’adozione di un sistema di tipo Data Lake?

 

Riduzione dei costi di archiviazione e spazio di archiviazione infinito

Gestire grossi volumi di dati attraverso sistemi di tipo database è costoso e inefficiente. Uno stesso set di dati può essere replicato più volte se la struttura dei database è diversa per ognuna delle applicazioni di analisi utilizzate. Ruoli aziendali diversi hanno diverse esigenze di analisi e sono alla ricerca di insight differenti. Uno schema onwrite costringe a prevedere in anticipo tutti gli usi che potrebbero essere fatti dei dati, ma sappiamo che mano a mano che evolvono obiettivi ed esigenze di business, i requisiti di analisi evolvono con essi. 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. Inoltre, per arginare il pericolo di rapida obsolescenza del modello dati, è necessario prevedere i nuovi set di dati che presumibilmente si vorranno integrare. 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 possono richiedere tempi lunghi, che spesso impediscono di rispondere tempestivamente al quesito di business. Quando i dati sono pronti per essere analizzati, può essere troppo tardi per trarne valore. Inoltre, 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 o di targetizzazione di utenti.


Condivisione delle informazioni

Le analisi eseguite sui dati possono generare risultati che contribuiscono a qualificare ulteriormente i dati e ad aumentarne il valore. Ipotizziamo per esempio di poter associare uno score di propensione all’acquisto ad ogni utente di cui possediamo un profilo. In una struttura di tipo Data Warehouse, lo score resterà di esclusivo appannaggio del personale che fa uso dell’applicazione che l’ha generato, a meno che non si copi l’informazione anche nei database in uso ad altre applicazioni, previo intervento sulla struttura del database ricevente e sul modello dati. Il Data Lake elimina la duplicazione delle informazioni e consente di fare tesoro delle insight ottenute, condividendole e rendendole accessibili a chiunque abbia i permessi per consultarle.

 


 

Costruire un Data Lake è la soluzione ideale per tutte le aziende?

 

No. Costruire un data lake è la soluzione ideale per aziende che hanno la necessità di fare analisi cross-funzionali sui Big Data, che hanno processi interni strutturati per garantire la governance dei dati, che hanno personale competente sia nelle tecnologie impiegate per la costruzione della piattaforma, sia nell’analisi dei dati, o che possono avvalersi di consulenze esterne specializzate nelle aree in cui sono carenti.

Se è vero che il grande vantaggio del Data Lake rispetto ad un modello di tipo Data Warehouse è che consente di conservare enormi quantità di dati senza doverli strutturare in fase di acquisizione e indipendentemente dall’uso che si vorrà farne, un certo grado di organizzazione del dato è necessario per renderlo accessibile e perché da esso si possa trarre informazione. Proprio perché un Data Lake è in grado di contenere dati senza alcun limite (o quasi), è necessario che l’accesso ai dati sia regolato con attenzione, sia per ovvi motivi di privacy, sia perché solo personale esperto e competente (tipicamente data scientists e data engineers) è in grado di interrogarlo e di estrarne informazioni rilevanti. Prima che dai dati contenuti in un Data Lake si possa giungere ad un report di BI per esempio, o ad una regola di personalizzazione di contenuti erogati su un sito, è necessario attraversare passaggi complessi, che solo programmatori e data scientists esperti possono eseguire per garantire la qualità dell’output. In sostanza, proprio perché l’universo dei dati a disposizione è immenso, è necessario sapersi orientare in esso per trarne informazioni utili, e l’esperienza in questo campo non è qualcosa che si può improvvisare.

Nella maggior parte delle aziende l’80% degli utenti sono “operativi”: usano report, verificano KPI predefiniti o usano spreadsheet in excel per esaminare set di dati relativamente semplici. Per questi utenti un sistema di tipo Data Warehouse è più che sufficiente: è strutturato, facile da usare ed è costruito appositamente per rispondere a domande specifiche.

Circa il 10%, 15% degli utenti eseguono analisi più approfondite sui dati. Spesso accedono ai sistemi sorgente per usare dati che non sono disponibili nel database, o acquisiscono altri dati da sorgenti esterne. Spesso sono questi utenti che generano i report che poi vengono distribuiti in azienda.

Solo una percentuale minima di utenti invece esegue analisi approfondite dei dati, integrando nuove sorgenti dati, mescolando dati disomogenei tra loro, e sa come leggerli. Nella maggior parte dei casi questi utenti non utilizzano nemmeno i Data Warehouse, perché lavorano sui dati ad un livello diverso, prima che siano strutturati, per offrire una risposta ad un quesito specifico. Questi utenti formulano domande nuove ed esplorano i dati in cerca di possibili risposte, selezionando poi quelle che sono rilevanti e scartando le ipotesi non confermate. Questi utenti sanno fare analisi statistiche e sfruttano tecniche di analisi come il predictive modeling per esempio.

Il Data Lake può essere la sorgente dati che alimenta i report cui accede il primo gruppo o i database cui accede il secondo, ma è interrogabile e gestibile solo da utenti esperti, che non tutte le aziende hanno necessità o possibilità di avere al loro interno.

 


 

Come si costruisce un Data Lake

 

Un Data Lake è una soluzione assemblata sfruttando tecnologie avanzate e complesse di data storage e data analysis. Semplificando, potremmo raggruppare le componenti di un Data Lake in quattro categorie, che rappresentano le quattro fasi di gestione dei dati:

  • Data Ingestion e Storage, ossia la capacità di acquisire dati in tempo reale o in batch; e la capacita' di conservare e accedere a dati strutturati, semi strutturati e non strutturati nel formato originario in cui sono prodotti e tramite un sistema di ruoli configurabile;
  • Data Processing, ossia la capacità di lavorare sui dati grezzi in modo che siano pronti per essere analizzati con procedure standard; ed anche la capacita' di ingegnerizzare le soluzioni di estrazione di valore dai dati, attraverso processi automatici e periodici, che sono il risultato delle operazioni di analisi;
  • Data Analysis, ossia la capacità di creare modelli per l'estrazione sistematica di informazioni dai dati, che può avvenire in tempo reale o attraverso processi eseguiti periodicamente;
  • Data Integration, ossia la capacità di agganciare alla piattaforma applicativi che consentano di interrogare il Data Lake ed estrarne dati in formati utilizzabili per scopi specifici.

Per costruire un Data Lake non esiste una ricetta valida universalmente; è necessario avvalersi di un fornitore di tecnologia che sappia disegnare l’architettura della piattaforma in base ai requisiti condivisi dal Cliente, equipaggiandola con le componenti hardware e software che consentono di gestire con la massima efficienza - cioè fornendo il miglior risultato, nel miglior tempo possibile, risparmiando risorse – le quattro fasi di gestione dei dati cui si è accennato.

 


Allegati