ETL: extract, trasform, load

etl

Le informazioni sono nascoste nei dati, che sono ammassati in modi più o meno ordinati in data base, data warehouse, data mart, e che sono continuamente generati e trasformati da sistemi OLTP, ERP, CRM. Più i dati sono numerosi e meno sono utili, perché richiedono troppo tempo e lavoro per esaminarli, selezionarli e arrivare a decisioni operative o strategiche.

Per mettere insieme un data set utilizzabile bisogna selezionare i dati pertinenti all’argomento di cui ci occupiamo eliminando tutti gli altri, classificarli in qualche modo per poterli ritrovare e per renderli omogenei o confrontabili, caricarli in una memoria locale o remota per renderli disponibili ad ulteriori elaborazioni o analisi. Il processo ETL (Extract, Transform, Load ) comprende l’estrazione, la trasformazione e il caricamento dei dati in un sistema di sintesi, come un data mart. I dati vanno cercati, esaminati per scegliere solo quelli interessanti, confrontati per raggruppare quelli simili, eliminare i duplicati o quelli che non aggiungono informazioni significative, decodificati o tradotti, calcolati, estratti da tabelle e inclusi in altre tabelle, visualizzati con grafici e mappe.

Il processo ETL serve a consolidare i dati, rendendo omogenei quelli di natura diversa, e a memorizzarli in file, cartelle e tabelle di sintesi. In base al problema per cui sono selezionati, il livello deve essere abbastanza dettagliato, ma non troppo, perché particolari inutili appesantiscono la consultazione. Per esempio, le misure dei pezzi di un’impalcatura possono essere espresse in numeri interi, perché decimali a tre cifre non sarebbero di nessuna utilità al costruttore.

Bisogna fare attenzione che all’interno di un sistema i processi di ETL seguano gli stessi criteri e le stesse metodologie, altrimenti potrebbe capitare che lo stesso fenomeno venga descritto con caratteristiche e valori diversi, generando confusione per gli utilizzatori finali. Per esempio, se un profitto è calcolato prima o dopo le tasse da diversi sistemi, può avere valori diversi. Lo stesso dicasi per il numero dei clienti, se dall’anagrafica vengono inclusi o esclusi quelli che non hanno acquistato nulla nell’ultimo anno. I dati devono essere univoci specialmente se a trattarli sono diversi dipartimenti aziendali, perché altrimenti diventano intrasportabili da un settore all’altro.

I sistemi automatici ETL diventano particolarmente importanti quando i dati sono milioni e miliardi, come nel trattamento dei big data. La trasformazione dei dati per renderli gestibili, confrontabili, compatibili, è particolarmente importante per organizzazioni a rete estese su ampi territori con etnie e culture diverse, e operanti con modalità diverse, per esempio con distribuzione e vendita in punti vendita fisici o con e-commerce.

In sintesi, un sistema ETL serve a ridurre i tempi di elaborazione di business intelligence, che possono partire direttamente da data warehouse e data mart, a ridurre i costi di omogeneizzazione dei dati lungo tutti i flussi di dati, a migliorare la qualità dei dati, a ottimizzare gli investimenti tecnologici fatti grazie a multipiattaforme scalabili e ad applicazioni ed ambienti operativi interoperabili.

L’ETL può essere un processo, una piattaforma o un software che estrae dati grezzi da una sorgente in base alle richieste e alle transazioni che avvengono nel sistema informativo aziendale, li trasforma e li carica in un server come data warehouse o come data mart, ossia insieme di dati omogeneizzati e pronti per altri usi. Una variante è l’ELT, che dopo aver estratto i dati li carica nel server di destinazione, e poi li processa per renderli utilizzabili per gli scopi desiderati. In tal modo restano a disposizione degli analisti sia i dati grezzi che quelli consolidati, più utili alla business intelligence, e si riducono tempi e costi di gestione.

Le due modalità del processo, ETL e ELT, hanno in comune la fase di extract con cui si richiedono i dati alle varie fonti, dai gestionali ERP a file di testo e fogli di calcolo, data base relazionali e transazionali, analisi tridimensionali OLAP. ETL deposita i dati in un server temporaneo che li trasforma omogeneizzandoli, e poi li carica nei data warehouse e data mart per l’utilizzazione finale. ELT carica i dati grezzi nel server di destinazione che ne conserva una copia e li trasforma depositandoli nei data warehouse e data mart.