Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un data lake è un repository di archiviazione che contiene grandi volumi di dati nel formato nativo e non elaborato. I data lake ridimensionano i costi in modo conveniente per gestire terabyte e petabyte di dati, rendendoli adatti per la gestione di set di dati di grandi dimensioni e diversificati. I dati provengono in genere da molte origini diverse e possono includere dati strutturati come tabelle relazionali, dati semistrutturati come JSON, XML o file di log e dati non strutturati come immagini, audio o video.
Data Lake archivia tutti i tipi di dati nello stato originale, non trasformato e applica la trasformazione solo quando i dati sono necessari. Questo approccio è noto come schema-on-read. Al contrario, un data warehouse applica la struttura e applica le trasformazioni durante l'inserimento dei dati. Questo approccio è noto come schema-on-write.
I casi d'uso comuni di Data Lake includono:
Inserimento e spostamento dei dati: Raccogliere e consolidare i dati dai servizi cloud, dai dispositivi IoT (Internet delle cose), dai sistemi locali e dalle origini di streaming in un unico repository.
Elaborazione di Big Data: Gestire dati ad alta velocità su larga scala usando framework di elaborazione distribuiti.
Analisi e Machine Learning: Supportare l'analisi esplorativa, l'analisi avanzata e il training dei modelli di intelligenza artificiale e l'ottimizzazione su set di dati di grandi dimensioni e diversi.
Business Intelligence (BI) e creazione di report: Abilitare dashboard e report integrando subset curati di dati lake in warehouse o strumenti di business intelligence.
Archiviazione e conformità dei dati: Archiviare set di dati cronologici o non elaborati per la conservazione a lungo termine, la verificabilità e la conformità alle normative.
Vantaggi di un data lake
Conserva i dati non elaborati per un uso futuro: Data Lake archivia i dati nel formato non elaborato, che garantisce la disponibilità a lungo termine per un uso futuro. Questo approccio è particolarmente utile negli ambienti Big Data in cui le potenziali informazioni dettagliate dei dati potrebbero non essere note in anticipo. È anche possibile archiviare i dati in base alle esigenze senza perderne lo stato non elaborato.
Esplorazione auto-servizio: Analisti e data scientist possono eseguire query sui dati direttamente per sperimentare e scoprire modelli.
Supporto dei dati flessibili: A differenza dei warehouse che richiedono formati strutturati, data lake gestiscono dati strutturati, semistrutturati e non strutturati in modo nativo.
Scalabilità e prestazioni elevate: Nelle architetture distribuite, i data lake inseriscono ed elaborano i dati in parallelo su larga scala. Spesso superano le pipeline di estrazione, trasformazione e caricamento tradizionali in carichi di lavoro ad alto volume. Ottenere questi vantaggi in termini di prestazioni tramite:
Parallelismo: I motori di calcolo distribuiti come Apache Spark suddividono i dati ed eseguono trasformazioni su molti nodi contemporaneamente. I framework tradizionali di ETL spesso dipendono dall'elaborazione sequenziale o dall'elaborazione multithread limitata.
Scalabilità: I sistemi distribuiti vengono ridimensionati orizzontalmente aggiungendo in modo elastico nodi di calcolo e archiviazione in base alle esigenze. Le pipeline ETL tradizionali dipendono in genere dal ridimensionamento verticale di un singolo host, che soddisfa rapidamente i limiti delle risorse.
Nozioni di base per le architetture ibride: I data lake spesso coesistono con i warehouse in un approccio lakehouse che combina l'archiviazione non elaborata con le prestazioni delle query strutturate.
Una soluzione data lake moderna comprende due componenti principali:
Archiviazione: Offre durabilità, tolleranza ai guasti, scalabilità infinita e inserimento ad alta velocità di diversi tipi di dati.
Processing: Motori come Spark in Azure Databricks e Microsoft Fabric alimentano queste soluzioni. Questi motori supportano trasformazioni, analisi e Machine Learning su larga scala.
Le soluzioni mature incorporano la gestione dei metadati, la sicurezza e la governance per mantenere la qualità dei dati, l'individuabilità e la conformità.
Architettura tipica del data lake
Un'architettura tipica Azure data lake è costituita da più livelli che organizzano i dati mentre si spostano nelle fasi di inserimento, trasformazione e consumo.
I livelli comuni includono:
Strato grezzo (bronzo): Archivia i dati inseriti nel formato originale con una trasformazione minima.
Livello pulito (argento): Contiene dati convalidati e trasformati ottimizzati per i carichi di lavoro di analisi e Machine Learning.
Livello curato (oro): Archivia set di dati aggregati e pronti per l'azienda usati dai team per la creazione di report, i dashboard e le applicazioni di dati downstream.
Questa progettazione a più livelli, nota come architettura medallion, migliora la qualità dei dati, la governance e le prestazioni.
Quando usare un data lake
È consigliabile usare un data lake per l'analisi esplorativa, l'analisi scientifica dei dati avanzata e i carichi di lavoro di Machine Learning. I data lake mantengono i dati in formato non elaborato e supportano lo schema in lettura, in modo che i team possano sperimentare diversi tipi di dati e scoprire informazioni dettagliate che i data warehouse tradizionali potrebbero non acquisire.
Data lake come origine per i data warehouse
Un data lake può fungere da sorgente upstream per un data warehouse, in cui i dati non elaborati vengono inseriti dai sistemi di origine e caricati nel data lake. I warehouse moderni come il Fabric Data Warehouse usano motori SQL di elaborazione parallela elevata (MPP) predefiniti per trasformare i dati non elaborati in un formato strutturato tramite extract, caricamento, trasformazione (ELT). Questo approccio è diverso dalle pipeline ETL tradizionali, in cui il motore ETL estrae e trasforma i dati prima di caricarli nel warehouse. Entrambi gli approcci offrono flessibilità a seconda del caso d'uso. Bilanciano la qualità dei dati, le prestazioni e l'utilizzo delle risorse e assicurano che il warehouse sia ottimizzato per l'analisi.
Scenari di streaming di eventi e IoT
I data lake sono efficaci per i casi d'uso di streaming di eventi e IoT, in cui i dati ad alta velocità devono essere mantenuti su larga scala senza limiti iniziali dello schema. I data lake possono inserire e archiviare flussi di eventi relazionali e non relazionali, gestire volumi elevati di scritture di piccole dimensioni con bassa latenza e supportare una velocità effettiva parallela elevata. Queste funzionalità rendono i data lake adatti alle applicazioni come il monitoraggio in tempo reale, la manutenzione predittiva e il rilevamento anomalie.
Nella tabella seguente vengono confrontati data lake e data warehouse.
| Feature | Lago di dati | Magazzino dati |
|---|---|---|
| Tipo di dati | Non elaborato, non strutturato, semistrutturato e strutturato | Dati strutturati e curati organizzati in schemi relazionali |
| Prestazioni delle query | Le prestazioni delle query dipendono dai motori di elaborazione e la trasformazione può verificarsi in fase di query (schema in lettura) | Ottimizzato per query analitiche ad alte prestazioni su dati strutturati (schema-on-write) |
| Latenza | Latenza più elevata a causa dell'elaborazione in fase di query | Bassa latenza con dati pre-elaborati e strutturati |
| Fase di trasformazione dei dati | La trasformazione si verifica in fase di query, che influisce sul tempo di elaborazione complessivo | La trasformazione si verifica durante il processo ETL o ELT |
| Scalabilità | Scalabilità elevata e conveniente per grandi volumi di dati diversificati | Scalabile ma più costoso, soprattutto su larga scala |
| Cost | Costi di archiviazione inferiori a causa dell'archiviazione a basso costo per i dati non elaborati. I costi di calcolo vengono sostenuti quando i dati vengono elaborati o sottoposti a query. | Costi più elevati a causa di ottimizzazioni di calcolo e prestazioni dedicate per i carichi di lavoro analitici |
| Idoneità del caso d'uso | Ideale per Big Data, Machine Learning ed analisi esplorative. Nelle architetture medallion i team usano il livello oro per la creazione di report. | Ideale per bi, creazione di report e analisi strutturata dei dati |
Sfide dei data lake
Scalabilità e complessità: La gestione di petabyte di dati non elaborati, non strutturati e semistrutturati richiede un'infrastruttura solida, un'elaborazione distribuita e un'attenta gestione dei costi.
Colli di bottiglia di elaborazione: Con l'aumento del volume e della diversità dei dati, i carichi di lavoro di trasformazione e di interrogazione possono causare latenza, il che richiede un'attenta progettazione della pipeline e orchestrazione dei carichi di lavoro.
Rischi per l'integrità dei dati: Senza convalida e monitoraggio sicuri, errori o inserimenti incompleti possono compromettere l'affidabilità del contenuto del lago.
Qualità e governance dei dati: Origini e formati diversi complicano l'applicazione degli standard. La gestione, la catalogazione e i framework di governance dei metadati sono fondamentali.
Prestazioni su larga scala: Le prestazioni delle query e l'efficienza di archiviazione possono peggiorare man mano che il lake aumenta, che richiede strategie di ottimizzazione come il partizionamento, l'indicizzazione e la memorizzazione nella cache.
Sicurezza e controllo di accesso: Garantire le autorizzazioni e il controllo appropriati in set di dati diversi per evitare l'uso improprio dei dati sensibili richiede la pianificazione.
Individuazione: Senza una catalogazione adeguata, i laghi possono trasformarsi in paludi di dati dove sono presenti informazioni preziose, ma inaccessibili o male interpretate.
Scelte di tecnologia
Quando si crea una soluzione Data Lake completa in Azure, prendere in considerazione le tecnologie seguenti:
Azure Data Lake Storage combina Azure Blob Storage con funzionalità data lake per fornire l'accesso compatibile con Apache Hadoop, le funzionalità dello spazio dei nomi gerarchico e la sicurezza avanzata per l'analisi efficiente dei Big Data. Gestisce grandi quantità di dati strutturati, semistrutturati e non strutturati.
Azure Databricks è una piattaforma di analisi dei dati basata sul cloud e machine learning che combina il meglio di Spark con un'integrazione approfondita nell'ecosistema Azure. Offre un ambiente collaborativo in cui i data engineer, i data scientist e gli analisti possono inserire, elaborare, analizzare e modellare grandi volumi di dati.
Azure Data Factory è un'integrazione dei dati basata sul cloud e un servizio ETL. È possibile usarlo per spostare, trasformare e orchestrare i flussi di lavoro dei dati in origini diverse, sia nel cloud che in locale.
Fabric è una piattaforma di analisi dei dati end-to-end che unifica lo spostamento dei dati, l'analisi scientifica dei dati, l'analisi in tempo reale e bi in un'unica esperienza SaaS (Software as a Service).
Ogni tenant Fabric viene automaticamente fornito con un unico data lake logico noto come OneLake. OneLake è basato su Data Lake Storage e offre un livello di archiviazione unificato in grado di gestire dati strutturati e non strutturati.
Collaboratori
Microsoft gestisce questo articolo. I seguenti collaboratori hanno scritto questo articolo.
Autore principale:
- Avijit Prasad | Consulente cloud
Altro collaboratore:
- Raphael Sayegh | Cloud Solution Architect
Per visualizzare i profili di LinkedIn non pubblici, accedere a LinkedIn.
Passaggi successivi
- Che cos'è OneLake?
- Introduzione a Data Lake Storage
- Training: Introduzione a Data Lake Storage
- Usare Data Lake Storage con cluster Azure HDInsight
- Usare identità gestite Azure nel catalogo unity per accedere all'archiviazione
- Caricare i dati in Data Lake Storage utilizzando Data Factory
- Connettersi a Data Lake Storage in Microsoft Purview
- Migliori pratiche per l'uso di Data Lake Storage