Originariamente coniato dall'ex CTO di Pentaho, un data lake è un ambiente di storage a basso costo, che in genere ospita petabyte di dati non elaborati. A differenza di un data warehouse, un data lake può memorizzare dati strutturati e dati non strutturati e non richiede uno schema definito per memorizzare i dati, una caratteristica nota come «schema-on-read». Questa flessibilità nei requisiti di storage è particolarmente utile per data scientist, data engineer e sviluppatori, poiché consente loro di accedere ai dati per esercizi di data discovery e progetti di machine learning.
Un report recente Voice of the Enterprise (link esterno a ibm.com) condotto da 451 Research ha stabilito che quasi "tre quarti (71%) delle aziende stanno attualmente utilizzando o sperimentando un ambiente data lake o pianificano di farlo entro i prossimi 12 mesi e il 53% degli intervistati è già in fase di implementazione o di POC." Gli intervistati in questo report mettono in risalto l'agilità aziendale come un vantaggio chiave derivante dalle loro implementazioni, che può variare. Hanno inoltre scoperto che i data lake sono generalmente ospitati nel cloud oppure "on-premise" attraverso i data center di un'organizzazione.
Se da un lato le aziende che adottano i data lake ne trovano il valore, dall'altro alcune possono essere vittime di data swamp o data pit. Un data swamp è il risultato di un data lake gestito non correttamente, ovvero privo di pratiche adeguate di qualità dei dati e di governance dei dati per fornire informazioni utili. Senza un'adeguata supervisione, i dati contenuti in questi archivi saranno resi inutili. I data pit, invece, sono simili ai data swamp in quanto offrono scarso valore aziendale, ma in questi casi l'origine del problema dei dati non è chiara. Allo stesso modo, il coinvolgimento dei team di data governance e data science può aiutare a prevenire queste insidie.
Ridimensiona i carichi di lavoro dell'AI, per tutti i tuoi dati, ovunque
The Forrester Wave™: Data Management for Analytics, primo trimestre 2023
Abbonati al canale Youtube IBM
Iscriviti alla newsletter IBM
Anche se sia i data lake sia i data warehouse memorizzano dati, ogni repository ha i propri requisiti di storage, il che lo rende la scelta ideale per diversi scenari. Ad esempio, i data warehouse richiedono uno schema definito per soddisfare specifici requisiti di analisi dei dati per l'output di dati come dashboard, visualizzazioni di dati e altre attività di business intelligence. Questi requisiti sono generalmente specificati dagli utenti business e da altri stakeholder pertinenti che utilizzeranno regolarmente i risultati del reporting. La struttura alla base di un data warehouse solitamente è organizzata come un sistema relazionale (cioè in un formato di dati strutturato), ricavando dati da database transazionali. I data lake, d'altro canto, incorporano i dati di sistemi relazionali e non relazionali, consentendo ai data scientist di incorporare dati strutturati e dati non strutturati in più progetti di data science.
Ogni sistema ha anche una propria serie di vantaggi e svantaggi. Ad esempio, i data warehouse tendono ad essere più performanti, ma hanno un costo più elevato. I data lake possono essere più lenti nella restituzione dei risultati delle query, ma hanno costi di storage inferiori. Inoltre, la capacità di storage dei data lake lo rende ideale per i dati aziendali.
Sebbene l'adozione di data lake e data warehouse sia destinata ad aumentare con la crescita di nuove fonti di dati, i limiti di entrambi i repository di dati stanno portando a una convergenza di queste tecnologie. Un data lakehouse coniuga i vantaggi economici di un data lake con la struttura dei dati e le funzionalità di gestione dei dati di un data warehouse. Secondo un altro report di indagine (link esterno a ibm.com) condotto da 415 Research, "due terzi delle aziende stanno già utilizzando o stanno sperimentando un ambiente di data lakehouse, o prevedono di farlo entro 12 mesi." Inoltre, è emerso che il 93% delle organizzazioni che hanno adottato i data lake prevede anche di adottare un data lakehouse nei prossimi 12 mesi.
I data lake sono generalmente associati ad Apache Hadoop, un framework software open source che fornisce un'elaborazione distribuita, affidabile e a basso costo per lo storage di big data. Tradizionalmente venivano implementati on-premise, ma come indicato nel report condotto da 451 Research, gli utenti stanno rapidamente passando agli ambienti cloud, che offrono agli utenti finali maggiore flessibilità. A differenza delle implementazioni on-premise, i fornitori di cloud storage consentono agli utenti di creare cluster di grandi dimensioni secondo necessità, richiedendo solo il pagamento per lo storage richiesto. Ciò significa che se hai bisogno di ulteriore potenza di calcolo per eseguire un lavoro in poche ore anziché in pochi giorni, puoi farlo facilmente su una piattaforma cloud acquistando nodi di calcolo aggiuntivi. Forrester Research (link esterno a ibm.com) riporta che le aziende che utilizzano i data lake cloud rispetto ai data lake on-premise registrano risparmi di circa il 25%.
All'interno di Hadoop, Hadoop Distributed File System (HDFS) memorizza e replica i dati su più server mentre Yet Another Resource Negotiator (YARN) stabilisce come allocare le risorse su tali server. È quindi possibile utilizzare Apache Spark per creare un ampio spazio di memoria per il trattamento dei dati, consentendo agli utenti più esperti di accedere ai dati attraverso interfacce utilizzando Python, R e Spark SQL.
Poiché il volume dei dati cresce a un ritmo esponenziale, i data lake rappresentano una componente essenziale della pipeline di dati.
Poiché i data lake vengono sfruttati principalmente per la loro capacità di memorizzare grandi quantità di dati non elaborati, lo scopo aziendale dei dati non deve necessariamente essere definito all'inizio. Detto questo, di seguito sono riportati due casi d'uso principali per i data lake:
- Proof of concept, POC: lo storage dei data lake è ideale per progetti proof of concept, POC. La loro capacità di memorizzare diversi tipi di dati è particolarmente vantaggiosa per i modelli di machine learning, offrendo l'opportunità di incorporare dati strutturati e dati non strutturati in modelli predittivi. Questo può essere utile per casi d'uso come la classificazione del testo, in quanto i data scientist non sono in grado di utilizzare database relazionali per questo (almeno non senza aver prima elaborato i dati per soddisfare i requisiti dello schema). I data lake possono anche avere funzione di sandbox per altri progetti di analisi dei big data. Questo può andare dallo sviluppo di dashboard su larga scala al supporto di app IoT, che in genere richiedono dati in streaming in tempo reale. Una volta determinato lo scopo e il valore dei dati, può quindi essere sottoposto a elaborazione ETL o ELT per lo storage in un data warehouse a valle.
- Data backup and recovery: l'elevata capacità e i bassi costi di storage consentono ai data lake di essere l'alternativa di storage per gli incidenti di disaster recovery. Possono anche essere utili per i controlli dei dati per assicurare la garanzia della qualità in quanto i dati vengono memorizzati nel loro formato nativo (cioè senza trasformazioni). Questo può essere particolarmente utile se un data warehouse non dispone della documentazione appropriata sul trattamento dei dati, consentendo ai team di verificare il lavoro dei precedenti proprietari di dati.
Infine, poiché i dati in un data lake non richiedono necessariamente uno scopo immediato per lo storage, può anche essere un modo per memorizzare dati inattivi o inattivi a un prezzo conveniente, il che può essere utile in un secondo momento per richieste normative o nuove analisi nette.
Più flessibile: i data lake possono inserire dataset strutturati, semi-strutturati e non strutturati, rendendoli ideali per progetti avanzati di analisi e machine learning.
Costo: poiché i data lake non richiedono una pianificazione iniziale per l'inserimento dei dati (ad es. definizione dello schema e della trasformazione), è necessario investire meno denaro nelle risorse umane. Inoltre, i costi effettivi di storage dei data lake sono inferiori rispetto ad altri repository di storage, come i data warehouse. Questo consente alle aziende di ottimizzare i budget e le risorse in modo più efficace nelle iniziative di gestione dei dati.
Scalabilità: i data lake possono aiutare le aziende a scalare in un paio di modi. La funzionalità self-service e la capacità complessiva di storage rendono i data lake più scalabili rispetto ad altri servizi di storage. Inoltre, i data lake offrono ai lavoratori una sandbox per sviluppare POC di successo. Una volta che un progetto ha dimostrato il suo valore su scala ridotta, è più facile espandere il workflow su scala più ampia utilizzando l'automazione.
Riduzione dei silo di dati: dalla sanità alla supply chain, le aziende di vari settori sperimentano silo di dati all'interno delle loro organizzazioni. Poiché i data lake inseriscono dati non elaborati attraverso diverse funzioni, tali dipendenze iniziano ad eliminarsi poiché non esiste più un unico proprietario per un determinato set di dati.
Esperienza del cliente migliorata: anche se questo beneficio non sarà immediatamente visibile, proof of concept (POC) di successo possono migliorare l'esperienza dell'utente complessiva, consentendo ai team di comprendere e personalizzare meglio il percorso del cliente attraverso analisi nuove e approfondite.
Sebbene i data lake offrano numerosi benefici, non sono esenti da sfide. Alcuni di questi includono:
- Prestazioni: l'aumento del volume di dati immessi in un data lake va a scapito delle prestazioni, che sono già più lente rispetto ad altri sistemi di storage di dati alternativi.
-Governance: se da un lato la capacità di un data lake di inserire varie fonti di dati offre alle aziende un vantaggio nelle pratiche di gestione dei dati, dall'altro richiede anche una solida governance per una gestione appropriata. I dati devono essere contrassegnati e classificati con metadati pertinenti per evitare data swamp e queste informazioni devono essere facilmente accessibili attraverso un catalogo di dati, abilitando la funzionalità self-service per il personale meno tecnico, come gli analisti aziendali. Infine, dovrebbero essere messi in atto anche guardrail per soddisfare gli standard normativi e di privacy; questo può includere controlli di accesso, crittografia dei dati e altro ancora.
Potenzia le tue applicazioni, l'analisi e l'AI con qualsiasi dato in un cloud aperto.
Scopri di più sulla partnership tra IBM e Cloudera volta a offrire una piattaforma dati aziendale per il cloud ibrido.
Scopri le best practice per garantire la qualità, l'accessibilità e la sicurezza dei dati come base per un'architettura dei dati incentrata sull'AI.
Scopri come la State Bank of India ha utilizzato diverse soluzioni IBM, insieme alla metodologia IBM Garage™, per sviluppare una piattaforma completa di online banking.
Scopri la prossima evoluzione delle soluzioni di gestione dei dati sul mercato.