E.T.L. (Extract.Tansform.Load) IBM - ISeries Quick-EDD/DR-DRm ETL 1/8 E.T.L. (Extract.Tansform.Load) 2011 Sommario ETL ................................................................................................................................................. 3 I processi ETL (Extraction, Transformation and Loading - estrazione, trasformazione e caricamento) .......................... 3 Cos´è l´ETL?..................................................................................................................................................................................................... 3 Le sfide dell´ETL ............................................................................................................................................................................................ 5 Soluzioni di integrazione dati open source per ETL ......................................................................................................................... 5 strumenti di ETL nelle aziende ................................................................................................... 6 Costo o Investimento? ................................................................................................................................................................................ 6 Quick-EDD/DR-DRm ETL 2/8 E.T.L. (Extract.Tansform.Load) 2011 ETL I processi ETL (Extraction, Transformation and Loading estrazione, trasformazione e caricamento) sono i componenti più importanti e con più valore aggiunto di un'infrastruttura di Business Intelligence (BI). Sebbene Figura 1 – Schema ETL siano per lo più invisibili gli utenti della piattaforma di BI, i processi ETL recuperano i dati da tutti i sistemi operativi e li pre-elaborano per i tool di analisi e di reporting. La precisione e la tempestività dell´intera piattaforma di BI dipendono in larga misura dai processi ETL. Figura 2 - Business Intelligence Cos´è l´ETL? I processi di estrazione, trasformazione e caricamento comprendono step multipli che hanno come obiettivo il trasferimento dei dati dalle applicazioni di produzione ai sistemi di Business Intelligence : y Estrazione dei dati dalle applicazioni di produzione e dai database (ERP, CRM, RDBMS, file ecc.) y Trasformazione di questi dati per la loro riconciliazione su tutti i sistemi sorgente, eseguire calcoli o parsing di stringhe, arricchirli con informazioni di lookup esterne e confrontare il formato richiesto dal sistema target (Third Normal Form Star Schema, Slowly Changing Dimensions, ecc.) Quick-EDD/DR-DRm ETL 3/8 E.T.L. (Extract.Tansform.Load) 2011 Figura 3 - 3NF (Third Normal Form Star Schema) y Caricamento dei dati risultanti nelle varie applicazioni BI: Data Warehouse o Enterprise Data Warehouse, Data Mart, applicazioni Online Analytical Processing (OLAP) o “cubi”, ecc. La latenza dei processi ETL varia da batch (a volte mensilmente o settimanalmente, ma più spesso quotidianamente), a near-real-time con aggiornamenti più frequenti (ogni ora, ogni minuto, ecc). Figura 4 - Diagramma ETL Quick-EDD/DR-DRm ETL 4/8 E.T.L. (Extract.Tansform.Load) 2011 Le sfide dell´ETL Ci sono numerose difficoltà da fronteggiare per ottenere un´implementazione efficiente ed affidabile dei processi ETL. y I volumi di dati crescono in maniera esponenziale, e i processi ETL devono elaborare grandi quantità di dati granulari (prodotti venduti, chiamate telefoniche, transazioni bancarie.). Alcuni sistemi BI raramente vengono aggiornati incrementalmente mentre altri richiedono un caricamento completo ad ogni iterazione. y Con l´aumento della complessità dei sistemi informatici, anche la disparità delle sorgenti aumenta. I processi ETL richiedono una connettività di vasta portata per i pacchetti di applicazioni (ERP, CRM, ecc.), database, mainframe, file, Servizi Web, ecc. y Le strutture e le applicazioni di Business Intelligence comprendono data warehouse, data mart, applicazioni OLAP per l´analisi, il reporting, il dashboarding, lo scorecarding, ecc. Tutte queste strutture target hanno diversi requisiti di trasformazione dei dati e diverse latenze. y Le trasformazioni coinvolte nei processi ETL possono essere altamente complesse. I dati devono essere aggregati, sottoposti a parsing, calcolati, elaborati statisticamente, ecc. Le trasformazioni specifiche BI sono anch´esse necessarie, come lo Slowly Changing Dimensions. y Mentre la BI tende alla simultaneità real-time, i data warehouse e data mart devono essere aggiornati più spesso e le finestre di tempo del caricamento diventano sempre più brevi. Soluzioni di integrazione dati open source per ETL Le soluzioni di integrazione dati Talend sono ottimizzate per l´ETL enterprise-grade. Le seguenti funzioni sono particolarmente importanti per la progettazione, lo sviluppo, l´esecuzione e la manutenzione dei processi ETL : y Modeling del processo business-oriented garantisce una comunicazione ottimale tra l'informatica ed il business y Ambiente di sviluppo grafico che migliora notevolmente la produttività e agevola la manutenzione y Piattaforma molto evolutiva che sfrutta una griglia di commodity hardware e l´unica soluzione a supportare l´architettura doppia ETL + ELT. y Ampissima connettività per supportare tutti i sistemi y Componenti avanzati integrati per l´ETL, compresi manipolazioni di stringhe, Slowly Changing Dimensions, supporto carichi bulk, ecc. Quick-EDD/DR-DRm ETL 5/8 E.T.L. (Extract.Tansform.Load) 2011 STRUMENTI DI ETL NELLE AZIENDE Costo o Investimento? Le potenzialità degli strumenti ETL e i vantaggi che possono offrire alle aziende. Un'introduzione ai sistemi di estrazione, trasformazione e salvataggio dati a supporto dei datawarehouse. Da qualche anno si sente sempre più spesso parlare di ETL, tipicamente parlando di progetti di Business Intelligence. Molte aziende li stanno adottando, generalmente spinte dall’ufficio IT. Ma esattamente cosa sono e a cosa servono questi strumenti? Innanzitutto il significato del termine: le tre lettere sono la sigla inglese di Extract, Transform and Load; si può quindi affermare in sintesi che tratta di una classe di prodotti dedicati alla gestione e trasformazione dei dati. Nulla quindi riguardo alla presentazione delle informazioni ed alla loro analisi, compito questo degli strumenti di reporting. In origine nascono come strumento a supporto dei sistemi di Business Intelligence e/o di DataWarehouse: y Extract: estrazione dai sistemi sorgente dei dati necessari per supportare i processi decisionali y Transform: trasformazione dei dati in informazione, tramite processi di verifica, pulizia ed arricchimento y Load: salvataggio delle informazioni in formati eterogenei Arrivati a questa prima definizione, la domanda spontanea è: perché dovrei investire nell’acquisto di uno di questi strumenti quando queste operazioni si sono sempre effettuate anche senza la loro introduzione in azienda? L’alternativa all’ETL è in sintesi la scrittura di un programma dedicato, sia esso realizzato tramite le funzionalità intrinseche della base dati di riferimento o tramite un linguaggio di programmazione esterno. Partendo dal presupposto che il risultato finale sia comunque raggiungibile, esistono però alcune differenze notevoli tra i due approcci, tali da giustificare in moltissime realtà la spesa necessaria all’acquisto delle licenze di un prodotto di ETL. Ci sono naturalmente differenze anche notevoli tra un prodotto e l’altro, in funzione spesso del posizionamento che il singolo vendor vuole prendere sul mercato, ma alcune caratteristiche sono comunque accomunabili: y 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; sono strumenti dove quindi si scrive pochissimo codice rispetto alla realizzazione di programmi dedicati, in qualsiasi linguaggio essi vengano sviluppati y manutenibilità: gli aspetti evidenziati al punto precedente consentono chiaramente non solo una più semplice implementazione dei progetti, ma anche e soprattutto una loro manutenzione molto più rapida e immediata, evitando i lunghi periodi di analisi spesso necessari per comprendere gli impatti di una modifica al codice, anche se di lieve entità y analisi degli impatti: molti degli strumenti presenti sul mercato mettono a disposizione diverse interfacce per l’analisi delle trasformazioni già realizzate; questi “strumenti nello strumento” permettono di comprendere con pochi click quali passaggi della Quick-EDD/DR-DRm ETL 6/8 E.T.L. (Extract.Tansform.Load) y y y y y y 2011 trasformazione usino determinate informazioni, e dove si propaghino in cascata eventuali modifiche in corso di realizzazione integrazione con gli strumenti di reporting: alcuni vendor di ETL propongono all’interno del loro catalogo anche strumenti di analisi dei dati e reportistica; in questi casi si può sfruttare l’integrazione tra i diversi prodotti per analizzare gli impatti di una modifica al substrato informativo realmente end-to-end, 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 auto-documentazione: gli strumenti di ETL mettono tipicamente a disposizione molte opzioni tramite cui commentare le trasformazioni sviluppate a diversi livelli di dettaglio; tutte queste informazioni qualitative vengono poi messe a disposizione dell’utente tramite apposite interfacce che costruiscono della documentazione tecnica automaticamente generata, che consente in modo rapido e sicuro di documentare i diversi passi che trasformano i dati aziendali in preziose informazioni per il management; non solo velocità nella realizzazione della documentazione tecnica quindi, ma anche e soprattutto sicurezza di avere documentazione sempre aggiornata e allineata con quanto è effettivamente utilizzato ogni giorno in ogni singolo caricamento dati 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 visuale, 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 trasformazioni pre-costruite: gli strumenti di ETL vengono tipicamente forniti con un set di trasformazioni già pronte per realizzare le operazioni più comuni e spesso più complesse; questi oggetti portano diversi vantaggi tra cui: 9 una sensibile riduzione dei tempi di deployment perché si favorisce il riutilizzo di soluzioni già sviluppate e soprattutto già testate 9 una migliore comprensibilità di quanto già sviluppato perché questi oggetti “standard” eseguono operazioni note e ben definite, rendendo quindi immediata la comprensione della loro funzione in un qualsiasi flusso di lavoro ambiente di debug: gli strumenti di ETL forniscono generalmente un ambiente di debug, in cui cioè è 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, poiché abbinati all’interfaccia visuale velocizzano il processo di problem-setting e quindi la determinazione della soluzione da realizzare schedulatore e monitor interni: ogni prodotto viene tipicamente fornito con uno schedulatore interno e con un relativo strumento di monitoraggio, che consentono in modo del tutto integrato di gestire la pianificazione e la verifica dei caricamenti. Le caratteristiche fin qui evidenziate permettono già di capire come in molte realtà aziendali l’acquisto di un prodotto di questo genere sia velocemente ammortizzabile tramite un aumento di efficienza ed efficacia dell’ufficio IT, ovviamente una volta trascorso un seppur breve periodo di apprendimento. Come accennato all’inizio dell’articolo, questa tipologia di strumenti viene spesso introdotta all’interno delle aziende in occasione di grandi progetti di Business Intelligence, spesso di DataWarehouse. Questo perché le loro potenzialità li rendono uno strumento ottimo per la realizzazione di questi sistemi. Per sfruttare appieno l’investimento, però, questi strumenti non devono essere considerati Quick-EDD/DR-DRm ETL 7/8 E.T.L. (Extract.Tansform.Load) 2011 solo come il “programma per caricare il DataWarehouse”, ma come lo strumento tramite cui far passare le grandi movimentazioni di informazioni sempre più presenti all’interno delle aziende. In questo modo si potranno sfruttare appieno ad esempio le caratteristiche di documentazione, rendendo molto più trasparente l’interoperabilità tra i diversi sistemi aziendali. In quest’ottica l’ETL non è più solo un software che velocizza il lavoro dell’ufficio IT, ma diventa parte integrante della Business Intelligence aziendale e permette di rendere esplicito molto know-how spesso isolato all’interno di poche persone, conoscenza questa difficilmente documentabile e tramandabile senza degli strumenti adeguati a causa del suo evolversi spesso frammentato e sedimentato negli anni. 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, o dove le necessità di interoperabilità dei sistemi costringano a numerosi e frequenti sistemi di allineamento delle informazioni per poter mantenere consistenza nei dati aziendali. Quick-EDD/DR-DRm ETL 8/8