Power the agentic enterprise Guarda il keynote di Think

Cos'è l'ETL (Extract, Transform, Load)?

Cos'è l'ETL?

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 uniforme. Carica quindi i dati 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. Può anche affrontare attività di analytics più avanzate, che possono migliorare i processi di back-end e 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

Come si è evoluto l'ETL

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. Successivamente trasformavano i dati in un formato comune e li caricavano 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. Grandi volumi di dati sono stati poi 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. Grazie a data warehouse come Amazon Web Services (AWS), Microsoft Azure e Snowflake, ora è possibile accedere ai dati da qualsiasi parte del mondo. Queste piattaforme possono anche scalare rapidamente per permettere 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.

AI Academy

È la gestione dei dati il segreto dell’AI generativa?

Scopri perché i dati di alta qualità sono fondamentali per un uso efficace dell'AI generativa.

ETL ed ELT a confronto

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 vari repository di dati, come database, data warehouse e data lake, ogni 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 perché non richiede molta pianificazione iniziale per l'estrazione e lo storage dei dati.

Il processo ETL richiede una definizione più chiara 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.

Come funziona l'ETL

Il modo più semplice per capire come funziona l'ETL è capire cosa accade in ogni fase del processo.

Estrazione

Durante l'estrazione dei dati, i dati non elaborati vengono copiati o esportati dalle posizioni di origine a un'area di staging. I team di gestione dei dati possono estrarre dati da varie fonti diverse, che possono essere strutturate o non strutturate. Questi tipi di dati includono, ma non sono limitati a:

  • Server SQL o NoSQL
  • Sistemi CRM ed ERP
  • JSON e XML
  • Flat-file database
  • E-mail
  • Pagine web

Trasformazione

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:

  • Filtrare, pulire, aggregare, deduplicare, convalidare e autenticare i dati.
  • Eseguire calcoli, traduzioni o riepiloghi basati sui dati grezzi. Questo processo può includere la modifica delle intestazioni di riga e colonna per coerenza, la conversione di valute o altre unità di misura, la modifica di stringhe di testo e molto altro.
  • Eseguire audit per garantire la qualità dei dati e la conformità e calcolare le metriche.
  • Rimuovere, crittografare o proteggere i dati regolati dalle autorità di regolamentazione del settore o governative.
  • Formattazione dei dati in tabelle o tabelle collegate in modo che corrispondano allo schema del data warehouse di destinazione.

Caricamento

In quest'ultimo passaggio, i dati trasformati vengono spostati dall'area di staging a un data warehouse di destinazione. In genere, questo processo 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 e altri metodi di integrazione dei dati

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. Questi metodi includono:

  • Change Data Capture (CDC) identifica e acquisisce solo i dati di origine che sono cambiati e li sposta nel sistema di destinazione. Il CDC può essere utilizzato per ridurre le risorse necessarie durante la fase di "estrazione" del processo ETL. Può anche essere utilizzato in modo indipendente per spostare i dati che sono stati trasformati in un data lake o in un altro repository in tempo reale.

  • La replica dei dati copia le modifiche nelle fonti di dati in tempo reale o in batch verso un database centrale. La replica dei dati è spesso elencata come metodo di integrazione dei dati. Di fatto, viene spesso utilizzata per creare backup per il disaster recovery.

  • La virtualizzazione dei dati utilizza un livello di astrazione del software per creare una visualizzazione unificata, integrata e completamente utilizzabile dei dati, senza copiare, trasformare o caricare fisicamente i dati di origine in un sistema di destinazione. Le funzioni di virtualizzazione dei dati consentono a un'organizzazione di creare data warehouse virtuali, data lake e data mart dagli stessi dati di origine per lo storage. Questo approccio evita i costi e la complessità di costruire e gestire piattaforme separate per ciascuna. Sebbene la virtualizzazione dei dati possa essere utilizzata insieme all'ETL, è sempre più vista come un'alternativa all'ETL e ad altri metodi di integrazione dei dati fisici.

  • La Stream Data Integration (SDI) consuma continuamente flussi di dati in tempo reale, li trasforma e li carica in un sistema di analisi di destinazione. La parola chiave qui è "continuamente". Invece di integrare istantanee di dati prese in un momento specifico, l'SDI integra i dati costantemente. Elabora le informazioni quando diventano disponibili. L'SDI supporta un data store per potenziare l'analytics, il machine learning e le applicazioni in tempo reale, al fine di migliorare l'esperienza del cliente, il rilevamento delle frodi e molto altro.

I benefici e le sfide dell'ETL

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. 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.

Strumenti ETL

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:

  • Automazione completa e facilità d'uso: i principali strumenti ETL automatizzano l'intero flusso di dati, dalle fonti dei dati al data warehouse di destinazione. Questa automazione evita ai data engineer le noiose attività di spostamento e formattazione dei dati, per risultati più rapidi e operazioni più efficienti.

  • Un'interfaccia visiva drag-and-drop: questa funzionalità può essere utilizzata per specificare regole e flussi di dati.

  • Supporto per la gestione di dati complessi: questa funzionalità include l'assistenza per calcoli complessi, integrazioni di dati e manipolazioni di stringhe.

  • Sicurezza e conformità: i migliori strumenti ETL crittografano i dati sia in movimento che a riposo e hanno conseguito certificazioni di conformità alle normative di settore o governative, tra cui HIPAA e GDPR.

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).

Domande frequenti sull'ETL

Cos'è un'area di staging?

Un'area di staging è un’area di storage temporanea tra le fonti dei dati e una destinazione finale (come un data warehouse), utilizzata per memorizzare temporaneamente i dati non elaborati. Agisce come una piattaforma di carico dove i dati non elaborati vengono puliti, controllati e trasformati prima di essere trasferiti alla destinazione finale.

Qual è la differenza tra caricamenti iniziali e incrementali?

Il caricamento iniziale consiste nell'estrazione e il caricamento per la prima volta dei dati storici da una fonte di dati verso una destinazione di destinazione. Include l'intero set di dati ed è eseguito una sola volta, all'inizio di un progetto. Il caricamento incrementale è il processo di caricamento dei soli dati nuovi, modificati o eliminati dopo l'ultimo caricamento. Questi processi vengono eseguiti su base pianificata.

Cosa sono le dimensioni a modifica lenta (SCD)?

Questo termine è un po' ambiguo ed è usato in due modi diversi. Le dimensioni a modifica lenta si riferiscono alle tabelle dimensionali in un data warehouse che cambiano sporadicamente nel tempo, anziché seguire una pianificazione fissa. Un esempio spesso citato è l'indirizzo di un cliente. Il termine è usato anche per riferirsi ai metodi e alle tecniche utilizzate per gestire e tracciare le variazioni dei dati dimensionali nel tempo.

Come posso gestire i dati duplicati?

Per gestire i dati duplicati, le organizzazioni devono creare un processo per identificare sistematicamente i dati duplicati e il loro tipo, definire regole chiare per rimuovere o unire i dati duplicati e stabilire misure preventive per evitare futuri inserimenti.

Soluzioni correlate
IBM StreamSets

Crea e gestisci pipeline di dati intelligenti in streaming attraverso un'interfaccia grafica intuitiva, che facilita la perfetta integrazione dei dati in ambienti ibridi e multicloud.

Esplora StreamSets
IBM watsonx.data™

Watsonx.data ti consente di scalare analytics e AI con tutti i tuoi dati, ovunque risiedano, attraverso uno storage dei dati aperto, ibrido e governato.

Scopri watsonx.data
Servizi di consulenza per dati e analytics

Sblocca il valore dei dati enterprise con IBM Consulting, creando un'organizzazione basata su insight in grado di generare vantaggi aziendali.

Esplora i servizi di analytics
Fai il passo successivo

Progetta una strategia dati che elimini i silo, riduca la complessità e migliori la qualità dei dati per esperienze eccezionali di clienti e dipendenti.

  1. Esplora le soluzioni di gestione dei dati
  2. Scopri watsonx.data