ETL (estrazione, trasformazione, caricamento), è un processo di integrazione dei dati che combina, pulisce e organizza i dati provenienti da più fonti in un unico set di dati coerente per l'archiviazione in un data warehouse, data lake o altro sistema di destinazione.
Le pipeline di dati ETL forniscono le basi per l'analisi dei dati e i workflow di machine learning. Attraverso una serie di business rule, l'ETL ripulisce e organizza i dati in modo da soddisfare esigenze specifiche di business intelligence, come il reporting mensile, ma può anche affrontare attività di analytics più avanzate, che possono migliorare i processi di back-end o le esperienze degli utenti finali. Le pipeline ETL vengono spesso utilizzate dalle organizzazioni per:
Estrarre i dati dai sistemi legacy
Pulire i dati per migliorarne la qualità e stabilirne la coerenza
Caricare i dati in un database di destinazione
Le aziende generano dati da sempre, tuttavia l'analytics moderna è diventata possibile solo con l'arrivo del computer digitale e del data storage.
Un importante passo avanti arrivò negli anni '70, con il passaggio a database centralizzati più grandi. L'ETL è stato quindi introdotto come processo per l'integrazione e il caricamento dei dati per il calcolo e l'analisi, diventando infine il metodo principale per elaborare i dati nei progetti di data warehousing.
Alla fine degli anni '80, i data warehouse e il passaggio dai database transazionali ai database relazionali che memorizzavano le informazioni in formati di dati relazionali crebbero in popolarità. Poiché i database transazionali più vecchi memorizzavano le informazioni transazione per transazione, con informazioni duplicate sui clienti che venivano memorizzate a ogni transazione, non c'era un modo semplice per accedere ai dati dei clienti in modo unificato nel tempo. Con i database relazionali, l'analytics è diventata la base della business intelligence (BI) e uno strumento significativo nel processo decisionale.
Prima dell'arrivo di software ETL più sofisticati, i tentativi erano stati in gran parte sforzi manuali da parte del team IT per estrarre i dati da vari sistemi e connettori, trasformare i dati in un formato comune e quindi caricarli in tabelle interconnesse. Tuttavia, le prime fasi dell'ETL sono state utili, poiché algoritmi avanzati, oltre all'ascesa delle reti neurali, hanno prodotto opportunità sempre più profonde per insight analitici.
L'era dei big data è arrivata negli anni '90, quando la velocità di calcolo e la capacità di storage hanno continuato a crescere rapidamente, con grandi volumi di dati estratti da nuove fonti, come i social media e l'Internet of Things (IoT). Rimaneva un fattore limitante, ovvero che i dati venivano spesso memorizzati in data warehouse on-premise.
Il passo successivo importante, sia nell'informatica che nell'ETL, è stato il cloud computing, divenuto popolare alla fine degli anni '90. Utilizzando data warehouse come Amazon Web Services (AWS), Microsoft Azure e Snowflake, ora è possibile accedere ai dati da tutto il mondo e scalarli rapidamente per consentire alle soluzioni ETL di offrire insight estremamente dettagliati e un nuovo vantaggio competitivo.
L'ultima evoluzione sono le soluzioni ETL che utilizzano lo streaming di dati per fornire insight aggiornati al secondo da enormi quantità di dati.
La differenza più evidente tra ETL ed ELT (estrazione, caricamento, trasformazione) è la differenza nell'ordine delle operazioni. L'ELT copia o esporta i dati dalle posizioni di origine, ma anziché caricarli in un'area di staging per la trasformazione, carica i dati non elaborati direttamente nel data store di destinazione per trasformali in base alle esigenze.
Sebbene entrambi i processi utilizzino una varietà di repository di dati, come database, data warehouse e data lake, ciascun processo presenta vantaggi e svantaggi. L'ELT è utile per importare set di dati non strutturati ad alto volume poiché il caricamento può avvenire direttamente dalla fonte. L'ELT può essere più ideale per la gestione dei big data poiché non richiede molta pianificazione iniziale per l'estrazione e lo storage dei dati.
Il processo ETL richiede una maggiore definizione all'inizio. È necessario identificare punti dati specifici per l'estrazione, insieme a eventuali "chiavi" potenziali da integrare tra sistemi di origine eterogenei. La fonte dei dati di input viene spesso tracciata utilizzando i metadati. Anche dopo che il lavoro è stato completato, è necessario costruire le business rule per le trasformazioni dei dati. Questo lavoro può solitamente dipendere dai requisiti dei dati per un determinato tipo di analisi, che determinerà il livello di sintesi che i dati devono avere.
Sebbene le pipeline ELT siano diventate sempre più popolari con l'adozione dei cloud database, la tecnologia ELT è ancora un processo di sviluppo, il che significa che le best practice sono ancora in fase di definizione.
Il modo più semplice per capire come funziona l'ETL è capire cosa accade in ogni fase del processo.
Durante l'estrazione dei dati, i dati non elaborati vengono copiati o esportati dalle posizioni di origine in un'area di staging. I team di gestione dei dati possono estrarre dati da una varietà di fonti che possono essere strutturate o non strutturate. Questi tipi di dati includono, tra gli altri:
Nell'area di staging i dati non elaborati vengono sottoposti a elaborazione. Qui i dati vengono trasformati e consolidati per il loro previsto caso d'uso analitico. Questa fase del processo di trasformazione può includere:
In quest'ultimo passaggio, i dati trasformati vengono spostati dall'area di staging a un data warehouse di destinazione. In genere, ciò comporta un caricamento iniziale di tutti i dati, seguito dal caricamento periodico delle modifiche incrementali dei dati e, meno spesso, da aggiornamenti completi per cancellare e sostituire i dati nel data warehouse. Per la maggior parte delle organizzazioni che utilizzano ETL, il processo è automatizzato, ben definito, continuo e basato su batch. In genere, il processo di carico ETL avviene durante le ore di riposo, quando il traffico sui sistemi di origine e sul data warehouse è al minimo.
ETL ed ELT sono solo due metodi di integrazione dei dati ed esistono anche altri approcci utilizzati per facilitare i workflow di integrazione dei dati. Alcune di queste includono:
Le soluzioni ETL migliorano la qualità eseguendo la pulizia dei dati prima di caricare i dati su un repository diverso. Essendo un'operazione batch che richiede molto tempo, l'ETL è consigliato più spesso per la creazione di repository di dati di destinazione più piccoli, che richiedono aggiornamenti meno frequenti, mentre altri metodi di integrazione dei dati, tra cui ELT (Extract, Load, Transform), CDC (Change Data Capture) e la virtualizzazione dei dati, sono utilizzati per integrare volumi di dati sempre più grandi che cambiano o flussi di dati in tempo reale.
In passato, le organizzazioni scrivevano il proprio codice ETL. Oggi sono disponibili molti strumenti ETL open source e commerciali, così come servizi basati sul cloud, tra cui scegliere. Le capacità tipiche di questi prodotti includono:
Inoltre, molti strumenti ETL si sono evoluti per includere funzionalità ELT e supportare l'integrazione dei dati in tempo reale e in streaming per applicazioni di intelligenza artificiale (AI).
Le Application Programming Interface (API) che utilizzano l'EAI (Enterprise Application Integration) possono essere utilizzate al posto dell'ETL per una soluzione più flessibile e scalabile che include l'integrazione del workflow. Sebbene l'ETL sia ancora la principale risorsa di integrazione dei dati, l'EAI è sempre più utilizzata con le API negli ambienti basati sul web.
Crea una pipeline di dati attendibili con uno strumento ETL modernizzato su una piattaforma cloud-native per gli insight.
Crea pipeline di dati resilienti, ad alte prestazioni e ottimizzate in termini di costi per le tue iniziative di AI generativa, real-time analytics, modernizzazione del data warehouse e per le tue esigenze operative con le soluzioni IBM per l'integrazione dei dati.
Sblocca il valore dei dati aziendali con IBM Consulting e crea un'organizzazione basata su insight in grado di generare vantaggi aziendali.