Un data lake è un ambiente di data storage a basso costo progettato per gestire enormi quantità di dati non elaborati in qualsiasi formato, inclusi dati strutturati, semi-strutturati e non strutturati. La maggior parte dei data lake utilizza lo storage a oggetti basato su cloud, come AWS S3, Google Cloud Storage o IBM Cloud Object Storage.
I data lake sono nati per aiutare le organizzazioni ad affrontare il flusso di big data, in gran parte non strutturati, creati da app e servizi connessi a Internet tra la fine degli anni 2000 e l'inizio del 2010.
A differenza dei database e dei data warehouse tradizionali, i data lake non richiedono che tutti i dati seguano uno schema definito. Invece, i data lake possono memorizzare diversi tipi di dati in vari formati in un unico repository centralizzato. I data lake utilizzano al meglio il cloud computing per rendere il data storage più scalabile e conveniente.
I data lake sono oggi componenti fondamentali delle architetture dei dati di molte organizzazioni. Secondo l'IBM CDO Study, il 75% dei più importanti Chief Data Officer (CDO) sta investendo nei data lake.
Grazie al loro storage flessibile, i data lake possono aiutare le organizzazioni ad abbattere i silos di dati e a costruire data fabric olistici. Sono utili anche per i data scientist e gli ingegneri dei dati, che spesso utilizzano i data lake per gestire gli enormi set di dati non strutturati necessari per i workload dell'intelligenza artificiale (AI) e del machine learning (ML).
Per molto tempo, le organizzazioni si sono affidate ai database relazionali (sviluppati negli anni '70) e ai data warehouse (sviluppati negli anni '80) per gestire i propri dati. Queste soluzioni sono ancora parti importanti degli ecosistemi IT di molte organizzazioni, ma sono state progettate principalmente per set di dati strutturati.
Con la crescita di Internet, e in particolare con l'arrivo dei social media e dei media in streaming, le organizzazioni si sono trovate a gestire molti più dati non strutturati, come testi e immagini in formato libero. A causa dei loro schemi rigorosi e dei costi di storage relativamente elevati, i data warehouse e i database relazionali erano poco adatti per gestire questo flusso di dati.
Nel 2011 James Dixon, allora Chief Technology Officer di Pentaho, coniò il termine "data lake". Dixon vedeva il lake come un'alternativa al data warehouse. Mentre i data warehouse forniscono dati preelaborati per casi d'uso aziendali mirati, Dixon ha immaginato un data lake come un grande insieme di dati conservati nel loro formato naturale. Gli utenti possono estrarre i dati di cui hanno bisogno da questo data lake e utilizzarli a loro piacimento.
Molti dei primi data lake sono stati costruiti su Apache Hadoop, un framework software open source per l'elaborazione distribuita di set di dati di grandi dimensioni. Questi primi data lake erano ospitati on-premise, ma questo è diventato rapidamente un problema via via che il volume dei dati continuava ad aumentare.
Il cloud computing ha offerto una soluzione: spostare i data lake verso servizi di cloud object storage più scalabili.
I data lake sono ancora in evoluzione oggi. Molte soluzioni di data lake offrono attualmente caratteristiche che vanno oltre lo storage economico e scalabile, come strumenti di sicurezza e governance dei dati, cataloghi di dati e gestione dei metadati
.I data lake sono anche componenti fondamentali dei data lakehouse, una soluzione di gestione dei dati relativamente nuova che combina lo storage a basso costo di un data lake e le funzionalità di analytics ad alte prestazioni di un data warehouse. (Per maggiori informazioni, vedere "Data lake e data lakehouse a confronto").
Sebbene i primi data lake siano stati creati su Hadoop, il cuore di un data lake moderno è un servizio di cloud object storage. Le opzioni più comuni includono Amazon Simple Storage Service (Amazon S3), Microsoft Azure Blob Storage, Google Cloud Storage e IBM Cloud Object Storage.
Il cloud obiect storage consente alle organizzazioni di memorizzare diversi tipi di dati non elaborati nello stesso storage dei dati. Inoltre, è generalmente più scalabile e più conveniente rispetto allo storage on-premise. I provider di cloud storage consentono agli utenti di avviare cluster di grandi dimensioni su richiesta, richiedendo il pagamento solo per lo storage utilizzato.
Le risorse di storage e di elaborazione sono separate l'una dall'altra in un data lake. Per elaborare i dati, gli utenti devono collegare strumenti di trattamento dei dati esterni. Apache Spark, che supporta interfacce come Python, R e Spark SQL, è una scelta popolare.
La divisione di storage ed elaborazione aiuta a mantenere bassi i costi e alta la scalabilità. Le organizzazioni possono aggiungere altro spazio di archiviazione senza scalare le risorse di calcolo insieme ad esso
.Lo storage centrale del data lake è collegato a varie fonti di dati, come database, app, dispositivi e sensori Internet of Things (IoT) tramite un livello di data ingestion.
La maggior parte dei data lake utilizza un processo di estrazione, caricamento, trasformazione (ELT) anziché un processo di estrazione, trasformazione, caricamento (ETL) per acquisire i dati. I dati rimangono nel loro stato originale quando il lake li inserisce e non vengono trasformati fino a quando necessario. Questo approccio, che consiste nell'applicare uno schema solo quando si accede ai dati, è denominato "schema in lettura".
Oltre a questi componenti principali, le organizzazioni possono inserire altri livelli nelle proprie architetture di data lake per renderle più sicure e utilizzabili. Questi livelli possono includere:
Livelli di storage multipli e distinti per ospitare diverse fasi del trattamento dei dati. Ad esempio, un data lake potrebbe avere un livello per i dati non elaborati, un livello per i dati ripuliti e un livello per i dati di applicazioni affidabili.
I livelli di sicurezza e governance, come le soluzioni di governance dei dati integrate o i controlli di gestione delle identità e degli accessi (IAM), mantengono la qualità dei dati e proteggono dagli accessi non autorizzati.
Un catalogo dati che aiuta gli utenti a trovare facilmente i dati utilizzando filtri di metadati o altri metodi.
I data lake, i data warehouse e i lakehouse sono tutti tipi di strumenti di gestione dei dati, tuttavia con importanti differenze. Spesso vengono utilizzati insieme in un'architettura di dati integrata per supportare vari casi d'uso.
In modo simile a un data lake, un data warehouse aggrega i dati provenienti da diverse fonti eterogenee in un unico archivio, in genere un sistema di database relazionale. La differenza fondamentale è che i data warehouse puliscono e preparano i dati che inseriscono in modo che siano pronti per essere utilizzati per l'analytics.
I data warehouse sono progettati principalmente per supportare query ad alte prestazioni, analisi quasi in tempo reale e attività di business intelligence (BI). In quanto tali, sono ottimizzati per i dati strutturati e strettamente integrati con analytics engine, dashboard e strumenti di visualizzazione dei dati .
I data warehouse tendono ad avere uno storage più costoso, meno flessibile e meno scalabile rispetto ai data lake. Le organizzazioni generalmente utilizzano i data warehouse per progetti di analytics specifici, mentre si affidano ai data lake per lo storage multiuso su larga scala
Un data lakehouse è una soluzione di gestione dei dati che combina il data storage flessibile di un data lake e le funzionalità di analytics ad alte prestazioni di un data warehouse.
Come un data lake, anche un data lakehouse può memorizzare dati in qualsiasi formato a basso costo. I data lakehouse costruiscono anche un'infrastruttura di analytics in stile warehouse oltre al sistema data lake di storage cloud, unendo le caratteristiche delle due soluzioni.
Le organizzazioni possono utilizzare i lakehouse per supportare numerosi workload, tra cui AI, ML, BI e analytics. I lakehouse possono anche fungere da percorso di modernizzazione delle architetture di dati. Le organizzazioni possono abbinare i lakehouse ai data lake e ai data warehouse esistenti senza un costoso intervento di eliminazione e sostituzione
Molte organizzazioni utilizzano i data lake come soluzioni di storage multiuso per i dati in entrata perché possono contenere facilmente petabyte di dati in qualsiasi formato.
Anziché configurare pipeline di dati diverse per diversi tipi di dati, le organizzazioni possono inserire tutti i dati in entrata nello storage del data lake. Gli utenti possono accedere direttamente ai dati dal data lake o spostarli in un data warehouse o in un'altra piattaforma dati, a seconda delle esigenze.
Le organizzazioni possono persino utilizzare i data lake per memorizzare dati "just-in-case", con casi d'uso non ancora definiti. Poiché i data lake sono economici e scalabili, le organizzazioni non devono preoccuparsi di spendere risorse in dati di cui potrebbero non avere ancora bisogno.
Le elevate capacità di storage e i bassi costi di storage rendono i data lake una scelta comune per il backup e il disaster recovery.
I data lake possono anche essere un modo economico per memorizzare dati poco utilizzati o inattivi. Questo è utile per archiviare vecchi dati e conservare i record storici che potrebbero aiutare con i controlli di conformità, le richieste normative o persino nuove analisi nel corso del tempo.
I data lake svolgono un ruolo importante nei workload di AI, ML e analytics dei big data, come la creazione di modelli predittivi e l'addestramento di applicazioni di AI generativa (gen AI). Questi progetti richiedono grandi quantità di dati non strutturati che i data lake possono gestire in modo economico ed efficiente.
Secondo l'IBM CEO Study, il 72% dei CEO più performanti concorda sul fatto che avere gli strumenti di AI generativa più avanzati offre un vantaggio competitivo a un'organizzazione . Data l'importanza dell'AI e del machine learning (ML), ha senso che i data lake siano diventati un investimento fondamentale nell'architettura dei dati per molte organizzazioni.
I data lake possono aiutare a supportare le iniziative di integrazione dei dati, che mirano a combinare e armonizzare i dati provenienti da più fonti in modo che possano essere utilizzati per vari scopi analitici, operativi e decisionali.
Secondo i dati di benchmarking dell'IBM Institute for Business Value, il 64% delle organizzazioni afferma che l'abbattimento delle barriere organizzative alla condivisione dei dati è una delle maggiori sfide in relazione alle persone. La ricerca mostra che fino al 68% dei dati delle organizzazioni non viene mai analizzato. Le organizzazioni non possono utilizzare pienamente i propri dati se le persone non possono utilizzarli quando ne hanno bisogno.
I data lake possono facilitare l'accesso ai dati e la condivisione dei dati offrendo alle organizzazioni un modo semplice per memorizzare tutti i tipi di dati in un repository centrale accessibile.
I data lake possono aiutare le organizzazioni a ottenere più valore dai propri dati aziendali semplificando la memorizzazione, la condivisione e l'utilizzo di tali dati. Più specificamente, i data lake possono offrire:
Flessibilità: i data lake possono inserire set di dati strutturati, semi-strutturati e non strutturati. Le organizzazioni non devono mantenere storage separati per diversi tipi di dati, il che può aiutare a semplificare le architetture dei dati.
Costi ridotti: i dati non devono essere sottoposti a un costoso processo di trasformazione e pulizia per lo storage e il cloud object storage è generalmente più economico rispetto alle alternative on-premise. Le organizzazioni possono ottimizzare i budget e le risorse in modo più efficace attraverso le iniziative di gestione dei dati.
Scalabilità: poiché i data lake separano le risorse di elaborazione e lo storage, e poiché in genere utilizzano servizi di cloud storage, sono più facili da scalare verso l'alto o verso il basso rispetto a molte altre soluzioni di data storage.
Meno silos di dati: secondo i dati di benchmarking dell'IBM Institute for Business Value, il 61% delle organizzazioni afferma che i silos di dati rappresentano una delle sfide principali. I data lake possono aiutare ad abbattere i silos di dati eliminando la necessità di memorizzare diversi tipi di dati in luoghi diversi. Un data lake centrale o un insieme di data lake può essere più accessibile rispetto a storage dei dati eterogenei distribuiti tra le unità di business.
Poiché non applicano uno schema rigoroso e accettano molti tipi di dati diversi da molte fonti, i data lake possono avere faticare con la governance dei dati e la qualità dei dati. Senza un'adeguata gestione, i data lake possono facilmente diventare "paludi di dati", ovvero insiemi disordinati di dati inaffidabili che rendono difficile per gli utenti l'acquisizione di insight fruibili.
Per evitare queste situazioni, le organizzazioni possono investire in strumenti di tagging e classificazione, come sistemi di gestione dei metadati e cataloghi di dati che semplificano la navigazione.
Le soluzioni di governance dei dati e sicurezza, come i controlli degli accessi, gli strumenti di prevenzione della perdita di dati e le soluzioni di data detection and response possono aiutare a l'accesso, l'utilizzo o l'alterazione dei dati senza autorizzazione.
I data lake non hanno strumenti di elaborazione ed esecuzione di query integrati come molti data warehouse e lakehouse. Inoltre, le prestazioni delle query e dell'analytics possono soffrire con l'aumento del volume di dati immessi in un data lake, soprattutto se i dati non sono ottimizzati per il recupero.
L'utilizzo delle configurazioni e degli strumenti giusti, come formati di storage ottimizzati e motori di query, può contribuire a garantire prestazioni elevate, indipendentemente dalle dimensioni del data lake.
Ottieni il massimo valore dai tuoi dati, ovunque si trovino, con il data lakehouse ibrido e aperto per AI e analytics.
Risolvi le attuali sfide legate ai dati con un'architettura lakehouse. Connettiti ai dati in pochi minuti, ottieni rapidamente insight affidabili e riduci i costi del data warehouse.
Sblocca il valore dei dati aziendali con IBM Consulting e crea un'organizzazione basata su insight in grado di generare vantaggi aziendali.