ETL

Che cos'è e perché è importante

Con Extract, Transform, Load (ETL) si intende un tipo d'integrazione dei dati articolato in tre fasi, ovvero estrazione, trasformazione e caricamento, che ha lo scopo di aggregare dati provenienti da fonti eterogenee. Lo si utilizza spesso per creare data warehouse. Durante questo processo i dati vengono raccolti (estrazione) da un sistema di origine, convertiti (trasformazione) in un formato che consente l'analisi e archiviati (caricamento) in un data warehouse o altro tipo di sistema. Extract, Load, Transform (ELT), vale a dire estrazione, caricamento e trasformazione, è un approccio alternativo ma affine al precedente, progettato per trasferire l'elaborazione all'interno dei database, così da migliorarne la performance.

Storia dell'ETL

L'ETL divenne popolare negli anni '70, quando le organizzazioni iniziarono a usare molteplici repository, o database, per archiviare diversi tipi d'informazioni di business. Ben presto si avvertì l'esigenza d'integrare i dati sparsi nei vari database. L'ETL diventò la procedura standard per estrarre dati da sorgenti differenti e trasformarli, prima di caricarli in una sorgente target o destinazione.

Tra la fine degli anni '80 e l'inizio degli anni '90 fecero la loro comparsa i data warehouse. Si tratta di un particolare tipo di database che fornisce un accesso integrato ai dati a partire da molteplici sistemi, quali mainframe, minicomputer, PC e fogli di calcolo. Ma i vari reparti spesso scelgono strumenti ETL diversi da utilizzare con data warehouse diversi. A seguito di fusioni e acquisizioni, molte organizzazioni si sono ritrovate con numerose soluzioni ETL non integrate.

Nel corso del tempo, il numero dei formati dei dati, delle sorgenti e dei sistemi si è incredibilmente accresciuto. Attualmente, il processo Extract, Transform, Load è solo uno dei diversi metodi utilizzati dalle organizzazioni per raccogliere, importare ed elaborare i dati. I processi ETL ed ELT sono entrambi elementi fondamentali della più ampia strategia d'integrazione dei dati alla base di un'organizzazione.

Perché l'ETL è importante

Da molti anni le aziende si affidano al processo ETL per avere una visione consolidata dei dati e prendere decisioni migliori. Ancora oggi, questo metodo d'integrazione dei dati provenienti da sistemi e sorgenti molteplici resta un dispositivo chiave nel quadro degli strumenti d'integrazione dei dati a disposizione di un'organizzazione.

Extract Transfrom Load - infographic

L'ETL viene utilizzato per spostare e trasformare i dati provenienti da sorgenti diverse e caricarli in destinazioni di vario tipo, come Hadoop.

  • Se utilizzato con il data warehouse di un'impresa (data at rest), l'ETL fornisce una visione completa dei dati storici.
  • Offrendo una visione consolidata, il processo ETL agevola gli utenti di business nell'analisi e nel reporting dei dati utili per le iniziative aziendali.
  • L'ETL può migliorare la produttività degli specialisti dei dati poiché codifica e riutilizza i processi per lo spostamento dei dati, senza richiedere competenze tecniche per la scrittura di codici o script.
  • Con il passare del tempo l'ETL si è evoluto per supportare i requisiti d'integrazione emergenti, come i dati in streaming.
  • Le organizzazioni hanno bisogno sia dell'ETL che dell'ELT per mettere insieme i dati, garantirne l'accuratezza ed eseguire i controlli comunemente richiesti per l'archiviazione, il reporting e l'analisi

L'ETL nel mondo di oggi

Al giorno d'oggi, i fast data (dati in streaming) possono essere acquisiti e analizzati al volo attraverso gli streaming analytics. Grazie a questo approccio, è possibile agire immediatamente basandosi su ciò che accade in quel preciso momento. Ma la visione storica ottenuta con l'ETL contestualizza i dati. Di conseguenza, le organizzazioni ne ricavano una comprensione completa della loro attività nel tempo. Sono due approcci che occorre usare insieme.

Icona a forma di cubo

Sette modi per modernizzare la Data Integration

La Data Integration (integrazione dei dati) è un processo che esiste da anni, ma gioca ancora un ruolo chiave nell'acquisizione, elaborazione e trasferimento dei dati. Segui i suggerimenti di TDWI per modernizzare la tua data integration.

Scopri di più

I vantaggi della Single Customer View

L'azienda Enerjisa archiviava i dati dei clienti su diversi sistemi e in diversi formati. Con il software SAS® di Data Management, ha ripulito e integrato i record, riducendoli del 25% e accrescendone la completezza del 30%.

Leggi la testimonianza

Product Brief - Icon

Ripensare la Data Integration

Invece di estinguersi, le vecchie tecnologie coesistono spesso con le nuove. Oggigiorno la data integration sta evolvendosi per tenere il passo con fonti di dati, formati e tecnologie diversi. In questo documento illustreremo un interessante approccio all'integrazione dei dati.

Scarica il white paper

Le aziende che avranno maggior successo sono quelle che adotteranno una strategia chiara e precisa e che riconoscono nella data integration una pietra angolare, fondamentale per la loro differenziazione competitiva.
David Loshin, Presidente di Knowledge Integrity Inc. The new data integration landscape: moving beyond ad hoc ETL to an enterprise data integration strategy

 

Il software SAS di Data Integration 

Il software SAS di Data Integration distribuisce le attività d'integrazione su qualsiasi piattaforma e si connette praticamente a qualsiasi data warehouse di origine o destinazione.

Scopri di più sul software SAS di data integration

Come si utilizza l'ETL

I principali strumenti ETL ed ELT lavorano in tandem con altri strumenti di data integration e con vari aspetti del data management, come qualità e governance dei dati, virtualizzazione e metadati. Tra gli usi più frequenti figurano:

ETL e impieghi tradizionali

L'ETL è un metodo collaudato al quale molte organizzazioni fanno ogni giorno ricorso. Ad esempio, i retailer che hanno necessità di consultare regolarmente i dati di vendita o i provider di servizi sanitari che desiderano un quadro accurato delle richieste di risarcimento. L'ETL è in grado di combinare e far emergere i dati delle transazioni da un data warehouse o altro data store, in modo che siano pronti per essere visualizzati dagli addetti ai lavori in un formato che possano comprendere. L'ETL viene anche utilizzato per migrare i dati da sistemi legacy ai sistemi moderni con formati di dati diversi. Inoltre, viene spesso adoperato per consolidare i dati provenienti da fusioni aziendali e per raccogliere e aggregare i dati da fornitori o partner esterni.

ETL e Big Data: trasformazioni e Adapter

Chi ottiene il maggior numero di dati, vince. Sebbene non sia necessariamente vero, la facilità di accesso a un'ampia gamma di dati può offrire alle aziende un vantaggio competitivo. Le aziende hanno bisogno di accedere a tutti i tipi di big data: video, social media, Internet of Things (IoT), log dei server, dati spaziali, dati aperti o in crowdsourcing e così via. I fornitori di ETL aggiungono spesso nuove trasformazioni ai loro strumenti per andare incontro alle esigenze più recenti e supportare queste nuove fonti di dati. Gli adapter consentono l'accesso a un'enorme varietà di fonti di dati. Gli strumenti di data integration interagiscono con questi adattatori per estrarre e caricare i dati in modo efficiente.

ETL per Hadoop e molto altro

L'ETL si è evoluto per supportare l'integrazione dei data warehouse tradizionali, e non solo. Gli strumenti avanzati di ETL sono in grado di caricare e convertire dati strutturati e non strutturati in Hadoop. Questi strumenti leggono e scrivono molteplici file in parallelo da e verso Hadoop, semplificando il modo in cui i dati vengono accorpati in un processo di trasformazione comune. Alcune soluzioni incorporano librerie di trasformazioni ETL precostituite sia per i dati di transazione che d'integrazione presenti in Hadoop. L'ETL consente inoltre l'integrazione in sistemi transazionali, archivi di dati operazionali, piattaforme di BI, hub di Master Data Management (MDM) e cloud.

ETL e accesso ai dati in modalità self-service

La preparazione dei dati self-service è una tendenza in rapida ascesa che consente agli utenti di business o ad altri esperti di dati senza competenze tecniche di accedere, combinare e trasformare i dati. È un approccio ad hoc che snellisce l'organizzazione e libera l'IT dall'onere di fornire dati in formati diversi agli utenti di business. Minore è il tempo impiegato nella preparazione dei dati, maggiore è il tempo dedicato alla creazione di insight. Di conseguenza, gli esperti di dati aziendali e IT potranno migliorare la loro produttività e le organizzazioni potranno dedicare il tempo risparmiato al processo di decision making.

ETL e Data Quality

L'ETL e gli altri software di data integration – utilizzati per pulire, profilare e verificare i dati – ne garantiscono l'affidabilità. Gli strumenti di ETL si integrano con gli strumenti per la data quality e i fornitori di ETL incorporano strumenti correlati all'interno delle loro soluzioni, come quelli per data mapping e lineage.

ETL e Metadati

I metadati ci aiutano a comprendere il lineage dei dati, ovvero la loro provenienza, e il loro impatto sugli altri data asset all'interno dell'organizzazione. Man mano che le architetture dei dati crescono in complessità, diventa importante tenere traccia del modo in cui i diversi elementi dei dati vengono utilizzati e collegati all'interno dell'organizzazione. Per esempio, se si aggiunge il nome di un account Twitter al database dei clienti, occorrerà comprendere le conseguenze sui lavori ETL, le applicazioni o i report.



SAS® Data Management in azione

Grazie a SAS Data Management è possibile sfruttare gli enormi volumi di dati – per esempio, i dati sui clienti dai feed di Twitter – per ottenere informazioni di valore. Ad esempio, Matthew Magne ci spiega in che modo SAS è in grado di far confluire i dati di Twitter in un data lake, ripulirli e profilarli, per poi rivelare quali clienti presentano maggiori probabilità di abbandono. In questo modo sarà possibile elaborare un piano per trattenerli.

Come funzionano

L'ETL è strettamente connesso a numerose funzioni, processi e tecniche di data integration. Comprenderli fornirà un quadro più chiaro di come funziona l'ETL. 

SQLLo structured query language è il metodo più usato per l'accesso e la trasformazione dei dati all'interno di un database.
Trasformazioni, regole di business e adapter 
Dopo aver estratto i dati, l'ETL utilizza le regole di business per trasformare i dati in nuovi formati. Una volta trasformati, i dati sono caricati nella destinazione.
Data Mapping (Mappatura dei dati)La mappatura dei dati fa parte del processo di trasformazione. Sostanzialmente fornisce a un'applicazione istruzioni precise su come ottenere i dati che dovrà poi elaborare. Inoltre, indica quale campo sorgente è associato a un determinato campo di destinazione. Per esempio, il terzo attributo di un flusso di dati sull'attività di un sito web può essere il nome utente, il quarto la data e l'ora di quell'attività e il quinto il prodotto su cui l'utente ha cliccato. L'applicazione o il processo ETL che usa quel dato mapperà questi stessi campi o attributi dal sistema di origine (per esempio, il feed con i dati dell'attività sul sito) nel formato richiesto dal sistema di destinazione. Se il sistema di destinazione fosse il sistema di gestione della relazione con i clienti (customer relationship management), potrebbe memorizzare come primo dato il nome utente e come quinto data e ora, mentre potrebbe non memorizzare affatto il prodotto selezionato. In questo caso, la trasformazione della data nel formato atteso e il posizionamento secondo l'ordine giusto potrebbero avvenire tra il momento in cui i dati vengono letti nella sorgente e quello in cui vengono scritti nella destinazione.
Script  L'ETL è un metodo per automatizzare gli script (istruzioni) che vengono eseguiti in background per spostare e trasformare i dati. Prima dell'ETL per trasferire i dati tra sistemi specifici, gli script venivano scritti singolarmente in C o COBOL. In questo modo, si originavano molteplici database con numerosi script. I primi strumenti di ETL funzionavano su mainframe come processo batch. In seguito, l'ETL è migrato su piattaforme UNIX e PC. Ancora oggi, le organizzazioni utilizzano sia gli script sia metodi programmatici di spostamento di dati.
ETL e ELT a confrontoIn principio c'era l'ETL. Successivamente, le organizzazioni hanno aggiunto l'ELT come metodo complementare. L'ELT estrae i dati da un sistema di origine, li carica in un sistema di destinazione e sfrutta la potenza di elaborazione del sistema di origine per eseguire le trasformazioni. Ciò velocizza l'elaborazione dei dati, poiché avviene dove questi risiedono.
Data quality   Prima d'integrare i dati, spesso viene creata un'area di staging in cui è possibile pulire i dati, standardizzarne i valori (NC e North Carolina, Mister e Mr., Matt e Matthew), verificare gli indirizzi ed eliminare i duplicati. Molte soluzioni sono ancora indipendenti, ma le procedure di data quality possono ora essere eseguite come una delle trasformazioni nel processo di data integration.
Pianificazione ed elaborazione  Gli strumenti e le tecnologie ETL possono fornire una pianificazione in batch o funzionalità in tempo reale. È inoltre possibile elaborare volumi elevati di dati sul server o portare l'elaborazione al livello di database. Questo approccio, che prevede l'elaborazione in un database anziché in un motore specializzato, evita la duplicazione dei dati e la necessità di utilizzare capacità extra nella piattaforma del database.
Elaborazione in batch  Solitamente l'ETL sfrutta l'elaborazione in batch per spostare grandi volumi di dati tra due sistemi durante la cosiddetta batch window. In questo arco di tempo predefinito – per esempio tra le 12.00 e le 13.00 – non è possibile eseguire nessuna attività nel sistema di origine né tantomeno in quello di destinazione, poiché è in corso la sincronizzazione dei dati. Molte banche effettuano l'elaborazione in batch di notte per risolvere le transazioni che avvengono durante il giorno.
Servizi webI servizi web sono un metodo basato sull'uso di Internet per fornire dati o funzionalità a varie applicazioni in tempo quasi reale. Questo metodo semplifica i processi d'integrazione dei dati e riesce a ricavare valore dai dati in modo più veloce. Per esempio, supponiamo che un cliente contatti il servizio clienti di un'azienda. È possibile creare un servizio web che restituisca il profilo completo del cliente con un tempo di risposta inferiore al secondo, semplicemente passando il numero di telefono a un servizio web che estrae i dati da molteplici fonti o da un hub MDM. Avendo una maggiore conoscenza del cliente, l'addetto al servizio clienti potrà prendere decisioni più efficaci su come interagire con quel cliente.
Master data management 
Con MDM s'intende il processo di aggregazione dei dati per creare una vista unica dei dati attraverso sorgenti multiple. Ciò comprende sia l'ETL sia le funzionalità di data integration, per combinare i dati e creare un cosiddetto golden record o best record.
Virtualizzazione dei datiLa virtualizzazione è un metodo agile per combinare i dati e creare una vista virtuale dei dati senza doverli spostare. Sebbene vengano eseguite le operazioni di mappatura e unione dei dati, la virtualizzazione dei dati si differenzia dall'ETL perché non occorre una tabella di staging fisico per archiviare i risultati. La vista, infatti, viene spesso archiviata in memory e allocata nella cache per migliorare le prestazioni. Alcune soluzioni di data virtualization, come SAS Federation Server, forniscono funzioni di mascheramento dinamico dei dati, randomizzazione e hashing per rendere disponibili i dati sensibili a ruoli o gruppi specifici. SAS fornisce inoltre data quality on-demand, durante la creazione della vista.
Event stream processing e ETL  Con l'aumento della velocità dei dati fino a milioni di eventi al secondo, l'event stream processing può essere utilizzata per monitorare i flussi dei dati, elaborarli e contribuire a prendere decisioni più tempestive. Nel settore energetico, per esempio, si usa l'analisi predittiva sui flussi dei dati per capire quando occorre riparare una pompa sommersa, in modo da ridurre il tempo d'inattività della pompa, nonché l'entità e la gravità del danno.