Perché nell’ambito dei sistemi di archiviazione e gestione delle informazioni a supporto delle attività di business si sente sempre più spesso parlare di costruzione di un Data Lake? Il motivo è semplice. Si tratta di uno strumento che consente alle organizzazioni che puntano sugli analytics per identificare opportunità e minacce di agire più velocemente, grazie alla possibilità di prendere decisioni informate a partire da grandi volumi di input.
Un vantaggio enorme soprattutto quando l’obiettivo è quello di operare in real time e in ottica omnichannel: dal settore del retail a quello del manufacturing, le imprese possono infatti essere più vicine ai clienti e aumentare la produttività dei processi in funzione delle variabili di scenario, adottando modelli proattivi nel go-to-market e abilitando logiche predittive rispetto alla manutenzione dei macchinari.
Riuscendo a far convergere i dati provenienti da diverse fonti, a partire dai file di log, dai flussi multimediali, dai social media e dai dispositivi connessi a Internet, i data lake quindi rivoluzionano il modo in cui le imprese riescono a sfruttare il proprio patrimonio informativo
Che cos’è e come funziona un Data Lake
Ma esattamente cos’è un Data Lake? È un sistema di storage che conserva una grande quantità di dati grezzi nel loro formato nativo fino a quando non sono necessari per le applicazioni di analisi. Mentre un Data Warehouse tradizionale archivia i dati in tabelle e dimensioni gerarchiche, un Data Lake utilizza un’architettura orizzontale per salvare e conservare gli input, principalmente in file o oggetti.
In generale, questo approccio offre agli utenti una maggiore flessibilità nella gestione, nell’archiviazione e nell’utilizzo degli input, in una combinazione di dati strutturati, non strutturati e semistrutturati.
Parliamo di ambienti non adatti ai database relazionali, su cui si basa la maggior parte dei Data Warehouse: richiedendo uno schema rigido, sono in genere limitati all’archiviazione dei dati strutturati delle transazioni. I Data Lake supportano, invece, diversi schemi e non richiedono la definizione di alcuno schema a priori. Ciò consente di gestire diversi tipologie di dati in formati separati.
Di conseguenza, i Data Lake sono una componente chiave per abilitare diversi casi d’uso, sempre più importanti nella gestione di business digitali e omnicanale. Le aziende più innovative, infatti, li adottano e li utilizzano principalmente come piattaforma per l’analisi dei Big Data e per altre applicazioni di data science, che richiedono grandi volumi di informazioni e che prevedono tecniche di analisi avanzate, come il data mining, la modellazione predittiva e l’apprendimento automatico.
L’architettura per la costruzione di un Data Lake
I Data Lake sono spesso associati ai sistemi Hadoop. Nelle implementazioni basate sul framework di elaborazione distribuita, i dati sono caricati nell’Hadoop Distributed File System (HDFS) e risiedono sui diversi nodi di computer di un cluster Hadoop. Sempre più spesso, però, i Data Lake vengono costruiti su servizi di Cloud Object Storage invece che su Hadoop. Anche alcuni database NoSQL sono utilizzati come piattaforme di Data Lake.
Per dare vita a un “lago di dati” si possono utilizzare diverse tecnologie, combinabili in modi differenti. Ciò significa che l’architettura varia spesso da organizzazione a organizzazione.
Bisogna inoltre precisare che non tutti i Data Lake memorizzano solo dati grezzi: alcuni set di dati possono essere filtrati ed elaborati per l’analisi quando vengono ingeriti. In tal caso, l’architettura scelta deve consentire questa operazione e includere una capacità di archiviazione sufficiente per i dati preparati. Molti di essi integrano pure sandbox di analisi, spazi di archiviazione dedicati che i singoli data scientist possono utilizzare per lavorare con i vari oggetti.
I principi architettonici che distinguono i Data Lake dagli archivi di dati tradizionali
A prescindere dalle considerazioni appena fatte, esiste una serie di principi architettonici che distinguono i Data Lake dagli archivi di dati tradizionali. Innanzitutto, nessun dato deve essere eliminato. Tutto ciò che i sistemi di origine raccolgono può essere caricato e conservato in un “lago” se lo si desidera.
I dati, come detto, possono essere archiviati così come sono stati ricevuti dal sistema di origine e poi trasformati e inseriti in uno schema in base ai requisiti specifici di analisi, un approccio noto come schema-on-read.
Qualunque sia la tecnologia da utilizzare per l’implementazione di un Data Lake, è necessario includere altri elementi per garantire che la soluzione sia funzionale e che i dati in esso non vadano sprecati.
Occorrono una struttura di cartelle comune che preveda una serie di convenzioni rispetto alla denominazione; un catalogo di dati ricercabili per aiutare gli utenti a trovare e comprendere gli input; una tassonomia di classificazione per identificare i dati sensibili, con informazioni riguardanti la tipologia di informazioni, il contenuto, gli scenari di utilizzo e i gruppi di possibili utenti. Servono anche strumenti di profilazione dei dati, per fornire approfondimenti sulla loro classificazione e sull’identificazione dei problemi di qualità, e processi di accesso standardizzati per controllare e tenere traccia di chi li utilizza.
Proteggere in modo passivo le informazioni, mascherandole, crittografandole e abilitando sistemi di monitoraggio automatico dell’accesso non basta: bisogna anche stimolare continuamente la cultura aziendale, in modo da aumentare la consapevolezza sul corretto utilizzo dello strumento.
Costruzione di un Data Lake
Nel ricorrere a una soluzione per la costruzione di un data lake, la prima scelta da operare è quella tra l’approccio open source e l’offerta di software proprietari.
Il software open source può esserescaricato gratuitamente dai portali della Apache Software Foundation e della Linux Foundation per essere poi sviluppato e personalizzato in modo autonomo. Al contrario, i fornitori di prodotti chiavi-in-mano offrono – ovviamente a pagamento – una moltitudine di versioni commerciali della tecnologia accompagnate da servizi evoluti di assistenza tecnica.
I fornitori di soluzioni
- Andando in ordine alfabetico, AWS mette a disposizione delle imprese Amazon EMR e S3, e dispone di strumenti di supporto come AWS Lake Formation per la creazione di data lake e AWS Glue per l’integrazione e la preparazione dei dati.
- La Cloudera Data Platform, d’altra parte, può essere implementata nel cloud pubblico o in ambienti ibridi con il supporto di un servizio ad hoc.
- Fondata dai creatori di Spark, Databricks offre invece una piattaforma di Data Lakehouse basata su Cloud che combina elementi di Data Lake e Data Warehouse.
- Dremio commercializza una piattaforma SQL Lakehouse, sulla quale è possibile progettare cruscotti di Business Intelligence per l’interrogazione interattiva di Data Lake.
- Google Cloud Data Fusion si aggiunge a Dataproc e a Google Cloud Storage per l’integrazione dei dati, offrendo una serie di servizi per il trasferimento dei Data Lake on premise nel Cloud.
- La piattaforma HPE GreenLake supporta ambienti Hadoop nel Cloud e on premise, con archiviazione di file e oggetti e un servizio di Data Lakehouse basato su Spark.
- Oltre ad Azure HD Insight e Azure Blob Storage, Microsoft offre Azure Data Lake Storage Gen2, un repository che aggiunge un namespace gerarchico a Blob Storage.
- Le tecnologie Oracle di Data Lake basate sul Cloud includono un servizio di Big Data per cluster Hadoop e Spark, un servizio di Object Storage e una serie di strumenti di gestione dei dati.
- La piattaforma cloud-native Qubole offre funzionalità di gestione, ingegnerizzazione e governance dei dati supportando diverse applicazioni di analisi.
- Sebbene sia nota soprattutto come fornitore di Data Warehouse in Cloud, la piattaforma Snowflake supporta anche i Data Lake e può lavorare con i dati negli Object Store in Cloud.