Molto spesso capita di dover far dialogare due sistemi informativi per lo scambio di dati, in tali situazioni si ricorre ad un sistema ETL per il trasferimento dei dati. Extract, Transform, Load (ETL) è un’espressione che si riferisce al processo di estrazione, trasformazione e caricamento dei dati in un sistema di sintesi. I dati vengono estratti da sistemi sorgenti quali database transazionali (OLTP), comuni file di testo o da altri sistemi informatici (ad esempio, sistemi ERP o CRM). Subiscono quindi un processo di trasformazione, che consiste ad esempio nel:
- Selezionare solo quelli che sono di interesse per il sistema
- Normalizzare i dati (per esempio eliminando i duplicati)
- Tradurre dati codificati
- Derivare nuovi dati calcolati
- Eseguire accoppiamenti (join) tra dati recuperati da differenti tabelle
- Raggruppare i dati
Tale trasformazione ha lo scopo di consolidare i dati (cioè rendere omogenei dati provenienti da sorgenti diverse) e di fare in modo che siano più aderenti alla logica di business del sistema di analisi per cui viene sviluppato. Vengono infine memorizzati nelle tabelle del sistema di sintesi (load). Un sistema ETL permette di connettersi ad: Applicazioni (ERP, CRM, etc.), databases, mainframes, files, Web Services, e così via. Data warehouses, data marts, applicazioni OLAP – per analisi, reporting, dashboarding, scorecarding.
L’integrazione di dati operazionali è spesso ottenuta implementando programmi o routines personalizzati, realizzati in risposta ad un bisogno specifico. Data migration/loading e data synchronization/replication sono le applicazioni più comuni dell’integrazione di dati operazionali, e solitamente richiedono:
- Mapping e trasformazioni dei dati complessi, con aggregazioni, calcoli dovuti alla diversità della struttura dei dati,
- Conflitti dei dati che devono essere gestiti e risolti,
- Sincronizzazione dei dati quasi a tempo reale.