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ò archiviare dati strutturati e non strutturati e non richiede uno schema definito per archiviare i dati, una caratteristica nota come "schema-on-read". Questa flessibilità nei requisiti di storage è particolarmente utile per data scientist, data engineer e sviluppatori, consentendo loro di accedere ai dati per attività di data discovery e progetti di machine learning.
Un recente report Voice of the Enterprise (link esterno a ibm.com) di 451 Research ha stabilito che quasi "tre quarti (71%) delle imprese stanno attualmente utilizzando o sperimentando un ambiente di data lake o intendono farlo entro i prossimi 12 mesi e il 53% degli intervistati sono già in fase di distribuzione o POC." Gli intervistati in questo report evidenziano l'agilità aziendale come un vantaggio chiave delle loro implementazioni, che possono variare. Hanno anche rilevato che i data lake sono generalmente ospitati nel cloud o "on-premise" attraverso i data center di un'organizzazione.
Mentre alcuni utenti stanno trovando valore nei data lake, altri rischiano di diventare vittime di data swamp o data pit. Un data swamp ("palude di dati") è il risultato di un data lake mal gestito, ovvero che manca di adeguate pratiche di qualità e governance dei dati per fornire informazioni approfondite. Senza un'adeguata supervisione, i dati in questi repository saranno resi inutili. I data pit ("pozzi di dati"), d'altra parte, sono simili ai data swamp in quanto forniscono uno scarso valore aziendale, ma in questi casi l'origine del problema relativo sui dati non è chiara. Allo stesso modo, il coinvolgimento dei team di data governance e data science può aiutare a proteggersi da queste insidie.
Sebbene i data lake e i data warehouse archivino entrambi dati, ogni repository ha i propri requisiti di storage, il che lo rende la scelta ideale per scenari diversi. Ad esempio, i data warehouse richiedono uno schema definito per soddisfare requisiti specifici di analisi dell'output di dati, come dashboard, visualizzazioni di dati e altre attività di business intelligence. Tali requisiti sono generalmente specificati dagli utenti aziendali e da altri stakeholder, che utilizzeranno regolarmente l'output dei report. La struttura sottostante di un data warehouse è tipicamente organizzata come un sistema relazionale (cioè in un formato di dati strutturato), che estrae dati da database transazionali. I data lake, per contro, incorporano dati provenienti da sistemi sia relazionali che non relazionali, consentendo ai data scientist di incorporare dati strutturati e non strutturati in più progetti di data science.
Ciascun sistema ha anche una propria serie di vantaggi e svantaggi. Ad esempio, i data warehouse tendono ad essere più performanti, ma hanno un costo maggiore. 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 li rende ideale per i dati aziendali.
Sebbene l'adozione dei data lake e dei data warehouse aumenterà solo con la crescita di nuove origini di dati, i limiti di entrambi i repository di dati stanno portando a una convergenza in queste tecnologie. Un data lakehouse unisce i vantaggi in termini di costi di un data lake alla struttura dei dati e alle capacità di gestione dei dati di un data warehouse. Secondo un altro report del sondaggio (link esterno ad ibm.com) di 415 Research, "due terzi delle aziende stanno già utilizzando o sperimentando un ambiente data lakehouse o prevedono di farlo entro 12 mesi". Inoltre, hanno rilevato che il 93% delle organizzazioni che hanno adottato i data lake prevede anche di adottare una data lakehouse nei prossimi 12 mesi.
I data lake sono comunemente associati ad Apache Hadoop, un framework software open source che fornisce un'elaborazione distribuita e affidabile, a basso costo, per lo storage di big data. Sono stati solitamente implementati on-premise, ma come indicato nel report di 451 Research, coloro che adottano queste soluzioni si stanno rapidamente spostando in ambienti cloud in quanto forniscono maggiore flessibilità agli utenti finali. A differenza delle distribuzioni on-premise, i provider di storage cloud consentono agli utenti di creare cluster di grandi dimensioni secondo le necessità, richiedendo solo il pagamento per lo spazio di storage specificato. Ciò significa che se si ha bisogno di potenza di calcolo aggiuntiva per eseguire un lavoro in poche ore anziché in alcuni giorni, è possibile farlo facilmente su una piattaforma cloud acquistando nodi di calcolo aggiuntivi. Forrester Research (link resides outside of ibm.com) segnala che le aziende che utilizzano data lake cloud rispetto a data lake on-premise ottengono risparmi di circa il 25%.
In Hadoop, l'Hadoop Distributed File System (HDFS) archivia e replica i dati su più server mentre Yet Another Resource Negotiator (YARN) determina come allocare le risorse su tali server. È quindi possibile utilizzare Apache Spark per creare un ampio spazio di memoria per l'elaborazione dei dati, consentendo agli utenti più avanzati di accedere ai dati tramite interfacce che utilizzano Python, R e Spark SQL.
Poiché il volume dei dati cresce a una velocità esponenziale, i data lake rappresentano un componente essenziale della pipeline dei dati.
Poiché i data lake vengono sfruttati principalmente per la loro capacità di archiviare grandi quantità di dati non elaborati, il fine aziendale dei dati non deve necessariamente essere definito dall'inizio. Detto questo, di seguito sono riportati due casi d'uso principali dei data lake:
- Proof of Concepts (POC): L'archiviazione di data lake è l'ideale per i progetti proof-of-concept. La loro capacità di archiviare diversi tipi di dati è particolarmente vantaggiosa per i modelli machine learning, offrendo l'opportunità di incorporare dati strutturati e non strutturati in modelli predittivi. Ciò può essere utile per casi d'uso quali la classificazione del testo, poiché i data scientist non possono utilizzare i database relazionali allo scopo (almeno non senza la preelaborazione dei dati per soddisfare i requisiti dello schema). I data lake possono anche fungere da sandbox per altri progetti di analisi di big data. Ciò può variare dallo sviluppo di dashboard su larga scala al supporto di app IoT, che in genere richiede lo streaming di dati in tempo reale. Una volta definito lo scopo e il valore dei dati, questi possono essere sottoposti a elaborazione ETL o ELT per l'archiviazione in un data warehouse a valle.
- Backup e ripristino dei dati: L'elevata capacità di storage e i bassi costi di storage consentono ai data lake di agire come un'alternativa di archiviazione in caso di disaster recovery. Possono anche essere utili per l'audit dei dati per garantire la qualità poiché i dati vengono archiviati nel loro formato nativo (cioè senza trasformazioni). Ciò può essere particolarmente utile se un data warehouse non dispone della documentazione appropriata relativa all'elaborazione dei dati, consentendo ai team di eseguire controlli incrociati sul lavoro dei precedenti proprietari dei dati.
Infine, poiché i dati in un data lake non richiedono necessariamente la definizione di un fine immediato per l'archiviazione, i data lake possono anche essere considerati un'alternativa per archiviare dati freddi o inattivi a un prezzo conveniente, il che può risultare utile in un secondo momento per verifiche normative o nuove analisi.
Più flessibile: I data lake possono ingerire set di dati strutturati, semi-strutturati e non strutturati, il che li rende ideali per analisi avanzate e progetti di machine learning.
Costo: Poiché i data lake non richiedono tanta pianificazione anticipata per assimilare i dati (ad es. definizione di schema e trasformazione), è necessario investire meno denaro nelle risorse umane. Inoltre, i costi di storage effettivi dei data lake sono inferiori rispetto ad altri repository di storage, come i data warehouse. Ciò consente alle aziende di ottimizzare i propri budget e le proprie risorse in modo più efficace attraverso le iniziative di gestione dei dati.
Scalabilità: I data lake possono aiutare le aziende a scalare in due direzioni. La funzionalità self-service e la capacità di storage complessiva rendono i data lake più scalabili rispetto ad altri servizi di storage. Inoltre, i data lake forniscono una sandbox per i lavoratori per sviluppare POC adeguate. Una volta che un progetto ha dimostrato valore su scala ridotta, è più facile espanderne il flusso di lavoro su scala più ampia utilizzando l'automazione.
Silos di dati ridotti: Dall'assistenza sanitaria alla supply chain, le aziende di vari settori sperimentano silos di dati all'interno della loro organizzazione. Poiché i data lake acquisiscono dati non elaborati in diverse funzioni, tali dipendenze iniziano ad essere automaticamente eliminate poiché non esiste più un unico proprietario per un determinato set di dati.
Esperienza cliente migliorata: Anche se questo vantaggio non sarà immediatamente visibile, il successo del proof of concept può migliorare l'esperienza utente complessiva, consentendo ai team di comprendere e personalizzare meglio il percorso del cliente attraverso analisi nuove e approfondite.
Sebbene i data lake offrano una serie di vantaggi, non sono privi di sfide. Alcuni di esse includono:
- Prestazioni: L'aumento del volume dei dati immessi in un data lake va a scapito delle prestazioni, che sono già più lente rispetto ad altri sistemi di storage di dati.
- Governance: Sebbene la capacità di un data lake di ingerire varie origini dati offra alle aziende un vantaggio nelle loro pratiche di gestione dei dati, questa richiede anche una forte governance per gestirle in modo appropriato. I dati dovrebbero essere contrassegnati e classificati con metadati pertinenti per evitare swamp di dati e queste informazioni dovrebbero essere facilmente accessibili tramite un catalogo di dati, abilitando le funzionalità self-service per il personale meno esperto, quali ad esempio gli analisti aziendali. Infine, dovrebbero essere predisposti anche delle protezioni per rispettare la privacy e gli standard normativi; questo può includere controlli di accesso, crittografia dei dati e altro.
Scopri di più sulla partnership tra IBM e Cloudera per fornire 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 di dati incentrata sull'AI.
Scopri in che modo la State Bank of India ha utilizzato le diverse soluzioni di IBM, oltre alla metodologia IBM Garage™, per sviluppare una piattaforma bancaria online completa.