Che cos'è l'ETL?

Il processo di estrazione, trasformazione e caricamento (ETL) consiste nella combinazione di dati provenienti da più fonti in un grande archivio centrale denominato data warehouse. L'ETL utilizza una serie di regole aziendali per pulire e organizzare i dati grezzi e prepararli per l'archiviazione, l'analisi e il machine learning (ML). L'analisi dei dati consente di rispondere a esigenze specifiche di business intelligence (come la previsione dell'esito delle decisioni aziendali, la generazione di report e dashboard, la riduzione dell'inefficienza operativa e altro ancora).

Perché l'ETL è importante?

Le organizzazioni odierne dispongono di dati strutturati e non strutturati provenienti da varie origini, tra cui:

  • Dati dei clienti raccolti da sistemi di pagamento online e gestione dei rapporti con i clienti (CRM)
  • Dati di inventario e operazioni provenienti da sistemi di fornitori
  • Dati dei sensori rilevati da dispositivi di Internet delle cose (IoT)
  • Dati di marketing ricavati da social media e feedback dei clienti
  • Dati sui dipendenti provenienti da sistemi di risorse umane interni

Applicando il processo di estrazione, trasformazione e caricamento (ETL), è possibile preparare singoli set di dati non elaborati in un formato e una struttura più fruibili ai fini dell'analisi e ottenere così approfondimenti più significativi. I rivenditori al dettaglio online, ad esempio, possono analizzare i dati dei punti vendita per ottenere una previsione della domanda e gestire le scorte. I team di marketing possono integrare i dati CRM con il feedback dei clienti sui social media per studiare il comportamento dei consumatori.

Quali vantaggi offre l'ETL alla business intelligence?

La tecnologia di estrazione, trasformazione e caricamento (ETL) migliora la business intelligence e l'analisi dei dati rendendo più affidabile, preciso, dettagliato ed efficiente il processo.

Contesto storico

L'ETL fornisce un contesto storico approfondito ai dati dell'organizzazione. Un'impresa può combinare dati legacy con dati provenienti da nuove piattaforme e applicazioni. Si possono visualizzare i set di dati più vecchi insieme alle informazioni più recenti, così da avere una visione dei dati sul lungo termine.

Visione dei dati integrata

L'ETL fornisce una visione dei dati integrata per ottenere analisi e report approfonditi. La gestione di più set di dati richiede tempo e coordinazione, con il rischio che sorgano inefficienze e ritardi. L'ETL combina database a varie forme di dati in una singola vista unificata. Il processo di integrazione dei dati ne migliora la qualità e riduce il tempo necessario per trasferirli, categorizzarli o standardizzarli. In tal modo diventa più semplice analizzare, visualizzare e razionalizzare set di dati voluminosi.

Analisi dei dati accurate

L'ETL offre analisi dei dati accurate per adempiere agli standard di conformità e normativi. È possibile integrare le soluzioni di ETL con strumenti di controllo qualità per eseguire il profiling, l'audit e la pulizia dei dati, così da garantirne l'affidabilità.

Automazione delle operazioni

L'ETL automatizza le operazioni di elaborazione dei dati ripetibili per aumentare l'efficienza dell'analisi. Gli strumenti di ETL automatizzano il processo di migrazione dei dati ed è possibile configurarli in modo da integrare le modifiche ai dati su base periodica o anche al momento del runtime. Di conseguenza, i data engineer possono dedicare più tempo all'innovazione e meno a gestire operazioni noiose quali il trasferimento e la formattazione dei dati.

Come si è evoluto l'ETL?

Il processo di estrazione, trasformazione e caricamento (ETL) è nato con la comparsa di database relazionali in grado di archiviare i dati sotto forma di tabelle per l'analisi. I primi strumenti di ETL cercavano di convertire i dati dai formati transazionali ai formati relazionali per sottoporli ad analisi.

ETL tradizionale

Tradizionalmente i dati non elaborati venivano archiviati in database transazionali che supportavano molte richieste di lettura e scrittura ma non si prestavano all'analisi. Possiamo immaginarli come una riga di foglio elettronico. In un sistema di e-commerce, ad esempio, il database transazionale archiviava l'articolo acquistato, i dettagli del cliente e i dettagli dell'ordine in un'unica transazione. Nel corso dell'anno, accumulava un lungo elenco di transazioni con voci ripetute per lo stesso cliente che aveva acquistato più articoli durante l'anno. Considerata la duplicazione dei dati, diventava impegnativo analizzare gli articoli più venduti o le tendenze di acquisto nell'anno in oggetto.

Per superare tale problema, gli strumenti di ETL convertivano in automatico i dati transazionali in dati relazionali con tabelle interconnesse. Gli analisti potevano ricorrere alle query per individuare relazioni tra le tabelle, oltre a schemi e tendenze.

ETL moderno

Con l'evolversi della tecnologia ETL, sia i tipi di dati sia le origini dei dati sono aumentati in maniera esponenziale. La tecnologia cloud si è affermata per creare database di vaste dimensioni (chiamati anche data sink). I data sink possono ricevere dati da più risorse e disporre di risorse hardware sottostanti in grado di dimensionarsi nel corso del tempo. Gli strumenti di ETL sono inoltre diventati più complessi e possono lavorare con i data sink moderni. Sono in grado di convertire i dati dai formati legacy ai formati attuali. Seguono alcuni esempi di database moderni.

Data warehouse

Un data warehouse è un repository centrale che può archiviare diversi database. All'interno di ciascun database, è possibile organizzare i dati in tabelle e colonne che descrivano i tipi di dati nella tabella. Il software di data warehouse funziona su diversi tipi di hardware di archiviazione, ad esempio unità di memoria a stato solido (SSD), dischi rigidi e altre soluzioni di archiviazione cloud, per ottimizzare l'elaborazione dei dati.

Data lake

Un data lake permette di archiviare dati strutturati e non strutturati in un unico repository centralizzato su qualsiasi scala. È possibile archiviare i dati così come sono senza doverli prima strutturare in base a domande che potrebbero sorgere in futuro. I data lake consentono inoltre di eseguire diversi tipi di analisi sui dati, come query SQL, analisi di big data, ricerca di testo completo, analisi dei dati in tempo reale e machine learning (ML), per prendere decisioni più consapevoli.

Come funziona l'ETL?

Il processo di estrazione, trasformazione e caricamento (ETL) consiste nel trasferire dati dal sistema di origine a quello di destinazione a intervalli periodici. Il processo di ETL si articola in tre fasi:

  1. Estrazione dei dati rilevanti dal database di origine
  2. Trasformazione dei dati per renderli più idonei all'analisi
  3. Caricamento dei dati nel database di destinazione

Che cos'è l'estrazione di dati?

Nell'estrazione dei dati, gli strumenti di estrazione, trasformazione e caricamento (ETL) estraggono o copiano dati non elaborati provenienti da più origini e li archiviano in un'area di staging. L'area di staging (o zona di destinazione) è un'area di archiviazione intermedia per archiviare in via temporanea i dati estratti. Le aree di staging dei dati sono speso transitorie, vale a dire che i loro contenuti vengono cancellati una volta completata l'estrazione. Tuttavia, l'area di staging potrebbe anche mantenere un archivio di dati a fini di risoluzione dei problemi.

La frequenza con cui il sistema invia dati dall'origine all'archivio dati di destinazione dipende dal meccanismo di acquisizione dei dati di modifica sottostante. L'estrazione dei dati generalmente avviene in uno dei tre modi seguenti.

Notifica di aggiornamento

Nella notifica di aggiornamento, il sistema di origine invia una notifica quando un record di dati viene modificato. Successivamente è possibile eseguire il processo di estrazione per tale modifica. La maggior parte dei database e delle applicazioni Web offre meccanismi di aggiornamento per supportare questo metodo di integrazione dei dati.

Estrazione incrementale

Alcune origini dei dati non forniscono notifiche di aggiornamento, ma possono individuare ed estrarre i dati che sono stati modificati in un determinato periodo di tempo. In tal caso, il sistema verifica la presenza di modifiche a intervalli regolari, ad esempio una volta a settimana, una volta al mese o al termine di una campagna. È necessario estrarre soltanto i dati modificati.

Estrazione completa

Alcuni sistemi non sono in grado di individuare le modifiche ai dati o di inviare notifiche, pertanto ricaricare tutti i dati è l'unica soluzione. Questo metodo di estrazione richiede di conservare una copia dell'ultima estrazione per verificare quali sono i record nuovi. Poiché tale approccio prevede volumi di trasferimento dati elevati, consigliamo di usarlo solo per tabelle di piccole dimensioni.

Che cos'è la trasformazione dei dati?

Nella trasformazione dei dati, gli strumenti di estrazione, trasformazione e caricamento (ETL) trasformano e consolidano i dati non elaborati nell'area di staging per prepararli per il data warehouse di destinazione. La fase di trasformazione dei dati può comportare i seguenti tipi di modifica dei dati.

Trasformazione dei dati di base

Le trasformazioni di base migliorano la qualità dei dati rimuovendo errori, svuotando i campi dei dati o semplificando i dati. Di seguito sono riportati alcuni esempi di tali trasformazioni.

Pulizia dei dati

La pulizia dei dati rimuove gli errori ed esegue la mappatura dei dati di origine rispetto al formato dei dati di destinazione. Ad esempio, è possibile mappare i campi di dati vuoti al numero 0, il valore dati "Genitore" a "G" o "Figlio" a "F".

Deduplicazione dei dati

La deduplicazione nella pulizia dei dati individua e rimuove i record doppi.

Revisione del formato dei dati

La revisione del formato converte i dati, tra cui insiemi di caratteri, unità di misura e valori data/ora, in un formato coerente. Un'azienda alimentare, ad esempio, potrebbe avere database di ricette differenti con ingredienti misurati in chilogrammi e in libbre. L'ETL convertirà tutto in libbre.

Trasformazione dei dati avanzata

Le trasformazioni avanzate sfruttano regole aziendali per ottimizzare i dati allo scopo di facilitarne l'analisi. Di seguito sono riportati alcuni esempi di tali trasformazioni.

Derivazione

La derivazione applica regole aziendali ai dati per calcolare nuovi valori a partire da quelli esistenti. Ad esempio, è possibile convertire il ricavo in guadagno sottraendo le spese oppure calcolare il costo totale di un acquisto moltiplicando il prezzo di ciascun articolo per il numero di articoli ordinati.

Unione

Nella preparazione dei dati, l'unione collega dati uguali provenienti da origini diverse. Ad esempio, si può trovare il costo di acquisto totale di un articolo sommando il valore di acquisto da vari fornitori e archiviando nel sistema di destinazione soltanto il totale definitivo.

Divisione

È possibile dividere una colonna o un attributo di dati in più colonne nel sistema di destinazione. Se, ad esempio, l'origine dei dati salva il nome del cliente come "Mario Rossi", è possibile dividerlo in nome e cognome.

Sintesi

La sintesi migliora la qualità dei dati riducendo un numero di valori di dati elevato in un set di dati ridotto. Ad esempio, i valori delle fatture degli ordini dei clienti possono presentare molti piccoli importi diversi. È possibile sintetizzare i dati sommandoli nell'arco di un determinato periodo per creare un parametro di lifetime value del cliente (CLV).

Crittografia

È possibile proteggere i dati sensibili per adempiere alle leggi in materia di dati o alle norme di privacy dei dati aggiungendo la crittografia prima che il flusso venga trasmesso al database di destinazione.

Che cos'è il caricamento dei dati?

Nel caricamento dei dati, gli strumenti di estrazione, trasformazione e caricamento (ETL) trasferiscono i dati trasformati dall'area di staging al data warehouse di destinazione. Per la maggior parte delle organizzazioni che vi ricorrono, si tratta di un processo automatizzato, ben definito, continuo e basato su batch. Di seguito sono descritti due metodi per il caricamento dei dati.

Caricamento completo

Nel caso del caricamento completo, tutti i dati dell'origine vengono trasformati e trasferiti nel data warehouse. In genere il caricamento completo avviene la prima volta che si caricano i dati di un sistema di origine nel data warehouse.

Caricamento incrementale 

Nel caso del caricamento incrementale, lo strumento di ETL carica a intervalli regolari il valore delta (o differenza) tra sistemi di destinazione e origine. Il servizio archivia la data dell'ultima estrazione, in modo che vengano caricati soltanto i record aggiunti successivamente a tale data. Esistono due sistemi per implementare il caricamento incrementale.

Caricamento incrementale in streaming

Se si dispone di volumi di dati ridotti, è possibile inviare in streaming modifiche continue al data warehouse di destinazione mediante pipeline di dati. Quando la velocità dei dati sale a milioni di eventi al secondo, si può usare l'elaborazione del flusso di eventi per monitorare ed elaborare i flussi di dati per prendere decisioni più tempestive.

Caricamento incrementale in batch

Se si dispone di volumi di dati di grandi dimensioni, è possibile raccogliere periodicamente le modifiche ai dati di caricamento in batch. Durante tale intervallo di tempo preimpostato, né il sistema di origine né quello di destinazione possono subire interventi, perché i dati sono sincronizzati.

Che cos'è l'ELT?

Il processo di estrazione, caricamento e trasformazione (ELT) è un'estensione di quello di estrazione, trasformazione e caricamento (ETL) con un'inversione dell'ordine delle operazioni. È possibile caricare dati direttamente nel sistema di destinazione prima di elaborarli. L'area di staging intermedia non è necessaria, perché il data warehouse di destinazione include funzionalità di mappatura dei dati. Con l'adozione dell'infrastruttura cloud, l'ELT è diventato un processo sempre più diffuso e garantisce ai database di destinazione la capacità di elaborazione necessaria per le trasformazioni.

Differenze tra ETL ed ELT

L'ELT è adatto a set di dati non strutturati di volume elevato che richiedono un caricamento frequente. È anche ideale per i big data, perché la pianificazione dell'analisi può essere eseguita in seguito all'estrazione e all'archiviazione dei dati. Questo metodo lascia il grosso delle trasformazioni alla fase di analisi e si concentra sul caricamento nel data warehouse di dati grezzi che hanno subito un'elaborazione minima.

Il processo ETL richiede maggiore definizione all'inizio. È infatti necessario coinvolgere fin da subito l'analisi per definire tipi, strutture e relazioni dei dati di destinazione. I data scientist sfruttano l'ETL principalmente per caricare i database legacy nel warehouse e, a oggi, l'ELT è ormai una procedura standard.

Che cos'è la virtualizzazione dei dati?

La virtualizzazione dei dati utilizza un livello di astrazione software per creare una vista dei dati integrata senza estrarli, trasformarli o caricarli fisicamente. Le organizzazioni sfruttano tale funzionalità come repository di dati unificato virtuale senza le spese e la complessità legate alla creazione e alla gestione di piattaforme separate per origine e destinazione. Se da un lato è possibile usarla in parallelo al processo di estrazione, trasformazione e caricamento (ETL), dall'altro la virtualizzazione dei dati viene sempre più spesso considerata un'alternativa all'ETL e ad altri metodi di integrazione dei dati fisici. Ad esempio, è possibile usare AWS Glue Elastic Views per creare rapidamente una tabella virtuale, cioè una vista materializzata, a partire da più datastore di origine.

Che cos'è AWS Glue?

AWS Glue è un servizio di integrazione dei dati serverless che facilita la scoperta, la preparazione, lo spostamento e l'integrazione dei dati da più origini per l'analisi, il machine learning e lo sviluppo di applicazioni.

  • È possibile scoprire e connettersi a oltre 80 diversi datastore.
  • È possibile gestire i dati in un catalogo centralizzato.
  • Ingegneri dei dati, sviluppatori ETL, analisti di dati e utenti aziendali possono utilizzare AWS Glue Studio per creare, eseguire e monitorare le pipeline ETL per caricare i dati nei data lake.
  • AWS Glue Studio offre interfacce Visual ETL, Notebook ed editor di codice, in modo tale che gli utenti dispongano di strumenti adeguati alle loro competenze.
  • Con le sessioni interattive, gli ingegneri dei dati possono esplorare i dati, nonché creare e testare i processi utilizzando l'IDE o il notebook che preferiscono.
  • AWS Glue è serverless e scala automaticamente su richiesta, in modo che sia possibile concentrarsi sull'acquisizione di informazioni da dati su scala petabyte, senza gestire l'infrastruttura.

Comincia a usare AWS Glue creando un account AWS.

Passaggi successivi di AWS ETL

Scopri ulteriori risorse correlate al prodotto
Ulteriori informazioni su AWS Glue 
Registrati per creare un account gratuito

Ottieni accesso istantaneo al piano gratuito di AWS. 

Registrati 
Inizia subito nella console

Inizia subito a costruire con AWS nella Console di gestione AWS.

Accedi