ETL (extract, transform, load) è l’acronimo che si riferisce al processo di estrazione , trasformazione e caricamento dei dati provenienti dalle fonti più svariate in un data warehouse o in un data mart per tutte le operazioni di Business Intelligence.
Le fasi del processo si articolano come segue:
Estrazione: implica la predisposizione di routine in grado di leggere i record contenuti nel database sorgente e di predisporli per la successiva fase. I dati subiscono quindi un processo di trasformazione che consiste nel selezionare solo quelli coerenti con il sistema, eliminare i duplicati, eseguire collegamenti tra dati da diverse fonti e aggregarli. Tale trasformazione ha lo scopo di consolidare i dati (cioè rendere omogenei dati provenienti da sorgenti diverse) e di fare in modo che siano aderenti alla logica di business del sistema di analisi per cui viene sviluppato. Una routine di trasformazione è la pulitura, utilizzata anche per sostituire con un singolo valore i dati che figurano in molteplici modalità all’interno del database: il nome Fiat può figurare sotto diversi campi, come Fiat S.p.A., Fiat Auto, Fiat ecc.
Le versioni multiple dello stesso dato saranno sostituite da un singolo, univoco dato.
L’ultima fase del processo ETL è il caricamento dei dati nella base dati di destinazione. Nella fase di caricamento esistono due modelli distinti di replicazione dei dati. Nella replicazione ‘push’, l’applicativo spinge i dati trasformati al database di destinazione. Nella replicazione ‘pull’, al contrario, l’applicazione o il database di destinazione richiedono i dati, in conformità alle esigenze specifiche del momento. I sistemi di ETL sono infatti l’infrastruttura chiave per il supporto decisionale dei sistemi di Business Intelligence. Si tratta di software che consentono di trasformare dati e contenuti non organizzati in informazioni strategicamente utili per prendere decisioni critiche e operare con efficacia.
Comprendere le tendenze e fare dei paragoni prima di prendere decisioni importanti diventa più facile grazie ad informazioni a livello aggregato che possono essere visualizzate ed analizzate rapidamente. L’accesso a dati dettagliati viene eseguito se necessario (la specificità delle informazioni dipende dal grado di granulosità). Il Data Warehouse è alla base di ogni applicazione di Analytical CRM in quanto rappresenta il mezzo per collezionare, validare, integrare e storicizzare i dati aziendali sul cliente derivanti dai canali classici o dal canale Web (Webhouse si intende un Data Warehouse che raccoglie anche dati provenienti dal canale web ad es. attraverso clickstream, registrazioni degli utenti …) che costituiscono l’input delle attività di analisi. E’, inoltre, l’insieme delle strutture dati e degli strumenti necessari per ottenere, a partire dai dati operazionali prodotti e gestiti da un sistema informativo aziendale, informazioni utili ai manager come supporto alle decisioni.
Il Data Warehouse possiede le seguenti caratteristiche:
• Subject-oriented: i dati sono organizzati in funzione di uno specifico processo aziendale.
• Integrated: i dati che confluiscono nel Data Warehouse provengono normalmente da varie sorgenti (sistemi transazionali, operazionali, altri data base). Vengono ripuliti e trasformati per consentirne un accesso semplice ed efficace.
• Non-volatile: l’accesso ai dati avviene in sola lettura e risulta estremamente rapido.
• Time-variant: i dati vengono organizzati secondo la dimensione temporale, fondamentale ai fini delle analisi di business.
I Data Mart sono informazioni mirate orientate ad un tema specifico. Il livello di aggregazione dei dati nel Data Mart risulta spesso più alto che nel Data Warehouse, che contiene anche dati di dettaglio, in quanto è disegnato per soddisfare in modo più diretto ed esplicito le esigenze dell’utente finale.
Diverse sono le caratteristiche che il software ETL deve possedere per rispondere alle finalità di supporto alle decisioni strategiche d’impresa:
1. strumento grafico: gli ETL sono strumenti dedicati a persone che hanno esperienza sulle basi di dati, ma non necessariamente per programmatori: sono infatti progettati per rendere più semplice e visuale lo sviluppo di trasformazioni complesse sui dati; tutti gli strumenti presenti sul mercato propongono una visione grafica del flusso dati, rendendo quindi molto più immediata l’interpretazione di un processo di caricamento o di manipolazione dei dati.
2. indipendenza dalla base dati: una delle caratteristiche accomunanti gli ETL è la possibilità di far dialogare basi dati eterogenee in modo completamente trasparente; da un’unica interfaccia, con un unico software, si riesce quindi a mettere in comunicazione le diverse fonti informative dislocate nell’azienda, integrando e consolidando il patrimonio informativo dell’azienda senza la necessità di realizzare per ogni sistema un diverso programma di estrazione dati
3. integrazione con gli strumenti di reporting: per analizzare gli impatti di modifica dei dati, visualizzando graficamente quali report siano impattati da una modifica al sistema gestionale o viceversa quali fonti informative vadano integrate per apportare nuove informazioni ad una analisi esistente
4. ambiente di debug: in cui è possibile testare le operazioni eseguite, verificando passo dopo passo le trasformazioni effettuate; questi ambienti sono estremamente utili nella comprensione di qualsiasi problematica si dovesse riscontrare,velocizzano il processo di problem-setting e quindi la determinazione della soluzione da realizzare
5. auto-documentazione: consente in modo rapido e sicuro di documentare i diversi passi che trasformano i dati aziendali in preziose informazioni per il management, velocità nella realizzazione della documentazione tecnica, ma anche e soprattutto sicurezza di avere documentazione sempre aggiornata e allineata in tempo reale.
6. monitoring: consente in modo del tutto integrato di gestire la pianificazione e la verifica dei caricamenti di dati.
In quest’ottica l’ETL non deve quindi essere interpretato come l’ennesima licenza software da acquistare, ma come uno strumento che se correttamente interpretato può portare un vero cambiamento all’interno dell’azienda, specie per le realtà dove siano presenti molti sistemi eterogenei e si vede la necessità di omogeneizzarli per formulare strategie funzionali alla vision aziendale.