L'ingestione dei dati è il primo passo nel ciclo di vita del data engineering. Consiste nella raccolta di dati da fonti eterogenee come database, applicazioni SaaS, file, API e dispositivi IoT, e nel loro trasferimento in un repository centralizzato come un data lake, data warehouse o lakehouse. Questo permette alle organizzazioni di pulire e unificare i dati per sfruttare analisi e AI a supporto di decisioni data-driven.
Tradizionalmente, l'ingestione dei dati è stata gestita utilizzando una combinazione di script personalizzati, framework open source come Apache NiFi e Kafka o soluzioni di ingestione offerte dai fornitori di servizi cloud come AWS Glue, Google Cloud Dataflow e Azure Data Factory. Questi approcci richiedono spesso un notevole impegno ingegneristico per la manutenzione, soprattutto quando si tratta di gestire evoluzioni degli schemi, coerenza dei dati ed elaborazione in tempo reale su larga scala. Molte aziende, inoltre, fanno affidamento su strumenti separati per l'ingestione, la trasformazione e l'orchestrazione, con conseguente aumento di complessità e creazione di silos di dati.
A differenza dell'ETL (extract, transform, load), che trasforma i dati prima del caricamento, l'ingestione dei dati sposta i dati grezzi direttamente nella destinazione, permettendo un accesso più rapido e una maggiore flessibilità.
I metodi di ingestione dei dati variano in base al caso d'uso, consentendo la raccolta in batch pianificati, in flussi continui o con un approccio ibrido.
Diverse strutture di dati richiedono specifiche tecniche di ingestione ed elaborazione:
Gli strumenti di ingestione dei dati spaziano da opzioni open source come Apache NiFi e Kafka, noti per la flessibilità e la possibilità di personalizzazione, alle piattaforme commerciali come la Databricks Data Intelligence Platform, che combina ingestione, trasformazione e orchestrazione in un unico ambiente.
Databricks Lakeflow è una soluzione unificata e intelligente per il data engineering basata sulla Databricks Data Intelligence Platform. Copre ingestione, trasformazione e orchestrazione dei dati.
Come parte di Lakeflow, Lakeflow Connect offre connettori per fonti di dati eterogenee, permettendo modalità di ingestione flessibili, semplici ed efficienti sia per dati strutturati che non strutturati da applicazioni aziendali, fonti di file e database.
Lakeflow Connect consente l'ingestione dei dati da una varietà di fonti:
Gli strumenti di ingestione efficaci semplificano l'elaborazione dei dati grazie a funzionalità quali:
Gli strumenti open source offrono flessibilità e controllo, ma spesso richiedono una maggiore configurazione, risultando quindi ideali per i team tecnici. Databricks combina solide basi open source con un ampio ecosistema di partner. La Databricks Data Intelligence Platform fornisce ingestione gestita con governance e automazione integrate, riducendo costi operativi e complessità.
L'ingestione dei dati costituisce di norma la fase iniziale dell'elaborazione dei dati, che va dalla raccolta all'analisi, e apre la strada ad altre operazioni successive. Il suo scopo principale è raccogliere dati grezzi da varie fonti e trasferirli in un sistema di archiviazione come data lake, data warehouse o lakehouse. La maggior parte delle organizzazioni necessita di passaggi aggiuntivi oltre l'ingestione, perché i dati grezzi devono essere ulteriormente raffinati prima di poter essere usati per l'analisi e il processo decisionale. L'ingestione consiste nel raccogliere dati da più sorgenti senza modificarne il formato, privilegiando rapidità e flessibilità di accesso così da facilitare le fasi di elaborazione successive.
L'ingestione trasferisce i dati grezzi provenienti da varie fonti in un repository, senza trasformazioni, con l'obiettivo di garantire accesso immediato a dati non modificati.
L'ETL consiste nell'estrarre i dati, trasformarli in base a specifiche esigenze e caricarli in un sistema di destinazione, e ha come obiettivo principale la preparazione dei dati per l'analisi. (Scopri la differenza tra ETL ed ELT.)
Le pipeline di dati gestiscono l'intera sequenza di passaggi necessari per spostare ed elaborare i dati trasformati. Oltre a ingestione ed ETL, una pipeline comprende diverse operazioni successive, come test di validazione, rimozione dei duplicati, esecuzione degli algoritmi di machine learning ed elaborazione dei dati in streaming.
L'ingestione dei dati è ideale per i casi che richiedono un accesso rapido ai dati grezzi per ricavare informazioni quasi in tempo reale. L'ETL è adatto a situazioni che necessitano di dati preparati e strutturati per la business intelligence e l'analisi, come la generazione di report standardizzati. Le pipeline di dati offrono un framework più ampio per gestire flussi di lavoro complessi, integrando più passaggi in un processo coeso.
Nelle architetture moderne, ingestione dei dati ed ETL si completano spesso a vicenda. Ad esempio, i dati possono essere inizialmente acquisiti in un lakehouse, dove i processi ETL li preparano successivamente per analisi e reportistica avanzata, mentre una pipeline di dati più ampia automatizza l'intero flusso di lavoro, dall'ingestione fino al machine learning e all'analisi. Databricks Lakeflow integra questi processi, creando un flusso di lavoro unificato per una gestione dei dati flessibile e completa.
Stabilire best practice di base è essenziale per garantire flussi di lavoro di ingestione efficienti, affidabili e ben governati:
Una volta stabiliti i processi di ingestione, l'ottimizzazione continua rende più semplice adattarsi all'evoluzione delle esigenze aziendali e aiuta a gestire volumi di dati crescenti in modo efficace.
