ETL, acronimo di Extract, Transform e Load , è un processo di integrazione dei dati che combina i dati provenienti da più origini dati in un singolo archivio dati coerente che viene caricato in un data warehouse o su altri sistemi di destinazione.
Poiché nel corso degli anni '70 i database sono cresciuti in termini di popolarità, ETL è stato presentato come un processo per l'integrazione e il caricamento dei dati per il calcolo e l'analisi, fino a diventare il metodo principale per l'elaborazione dei dati per i progetti di data warehousing.
ETL pone le basi per l'analytics dei dati e i flussi di lavoro di machine learning. Attraverso una serie di regole di business, ETL ripulisce e organizza i dati in modo tale da risolvere le specifiche esigenze di business intelligence, come la produzione di report mensile, ma è anche in grado di affrontare l'analytics più avanzata, al fine di migliorare i processi di back-end o le esperienze dell' utente finale . ETL viene spesso utilizzato da un organizzazione per:
Scopri come creare ed eseguire un lavoro ETL
Leggi il report Magic Quadrant for Data Integration Tools di Gartner del 2021
Leggi il prospetto informativo di IBM DataStage (169 KB)
La disparità più evidente tra ETL e ELT è la differenza nell'ordinare le operazioni. ELT copia o esporta i dati dalle ubicazioni di origine, ma invece di caricarli in un'area di staging per la trasformazione, i dati non elaborati vengono caricati direttamente sull'archivio dati di destinazione per essere trasformati a seconda delle esigenze.
Sebbene entrambi i processi traggono vantaggio da una serie di repository di dati, come ad esempio database, data warehouse e data lake, ciascun processo comporta vantaggi e svantaggi. ELT è particolarmente utile per i dataset non strutturati con volumi elevati, poiché il caricamento può avvenire direttamente dall'origine. ELT rappresenta la soluzione ideale per la gestione dei big data, in quanto non richiede una considerevole pianificazione anticipata per lo storage e l'estrazione dei dati. Il processo ETL, invece, richiede una maggiore definizione dal principio. È necessario individuare i punti dati specifici per l'estrazione, insieme alle potenziali "chiavi" da integrare tra i vari sistemi di origine. Anche dopo che il lavoro è stato completato, è necessario creare delle regole di business per la trasformazione dei dati. Questa operazione in genere può dipendere dai requisiti dei dati per un determinato tipo di analisi dei dati che stabilirà il livello di riepilogo richiesto dai dati. ELT, anche se è diventato sempre più diffuso con l'adozione dei database cloud, ha i suoi limiti poiché è un processo nato da poco, il che significa che le best practice sono ancora in corso di definizione.
Il modo più semplice per comprendere il funzionamento di ETL è capire cosa accade in ogni fase del processo.
Durante l'estrazione dei dati, i dati non elaborati vengono copiati o esportati dalle ubicazioni di origine all'area di staging. I team di gestione dei dati possono estrarre i dati da un'ampia serie di origini dati, che possono essere strutturate o non strutturate. Tali origini includono, a titolo di esempio:
Nell'area di staging, i dati non elaborati sono sottoposti all'elaborazione dei dati. In questo scenario, i dati vengono trasformati e consolidati per il caso di utilizzo analitico previsto. Questa fase può coinvolgere le seguenti operazioni:
In questo ultima fase, i dati trasformati vengono spostati dall'area di staging a un data warehouse di destinazione. Generalmente, ciò comporta un caricamento iniziale di tutti i dati, seguito da un caricamento periodico di modifiche incrementali dei dati e, più raramente, da aggiornamenti completi per cancellare e sostituire i dati in warehouse. Per la maggior parte delle organizzazioni che utilizzano ETL, il processo è automatizzato, ben definito, continuo e basato su batch. Generalmente, ETL viene eseguito fuori dall'orario di lavoro, quando il traffico sui sistemi di origine e sul data warehouse è ridotto al minimo.
ETL e ELT sono semplicemente due metodi di integrazione dei dati, ed esistono anche altri approcci che vengono utilizzati per semplificare i flussi di lavoro dell'integrazione dei dati. Tra di loro ricordiamo:
Le soluzioni ETL migliorano la qualità eseguendo la pulizia dei dati prima di caricarli in un repository differente. ETL è un'operazione in batch dispendiosa in termini di tempo ed è consigliato sempre più spesso per la creazione di repository di dati di destinazione di piccole dimensioni che richiedono aggiornamenti poco frequenti, mentre altri metodi di integrazione dei dati, tra cui ELT (extract, load, transform), CDC (change data capture) e la virtualizzazione dei dati—vengono utilizzati per integrare volumi sempre maggiori di dati che cambiano o flussi di dati in tempo reale.
In passato, le organizzazioni scrivevano il codice ETL per conto proprio. Oggi, esistono molti servizi cloud e strumenti ETL commerciali e open source tra cui scegliere. Le tipiche funzionalità di questi prodotti includono:
Inoltre, molti strumenti ETL si sono evoluti per includere la funzionalità ELT e supportare l' integrazione dei dati in streaming e in tempo reale per le applicazioni AI (Artificial Intelligence - Intelligenza Artificiale).
Le API (Application Programming Interface) che si avvalgono dell'EAI (Enterprise Application Integration) possono essere utilizzate al posto di ETL per una soluzione più flessibile e scalabile che include l'integrazione del flusso di lavoro . Anche se ETL rimane ancora la risorsa di riferimento per l' integrazione dei dati , l'EAI viene utilizzato sempre più frequentemente con le API nelle configurazioni in ambito Web.
IBM Cloud Pak for Data è una piattaforma di dati aperta ed estensibile che fornisce una struttura per rendere tutti i dati disponibili per AI e analytics, su qualsiasi cloud.
L'AI libera il valore dei dati lungo nuove strade. Con le soluzioni DataOps l'utente organizza i suoi dati preparandoli al mondo AI e multicloud.
L'integrazione dei dati permette di trasformare i dati strutturati e non strutturati e distribuirli in qualsiasi sistema su una piattaforma di big data scalabile.