Data Integrations

Unificare diverse sorgenti informative, in modo da creare una vista unica su un determinato processo.

Possiamo definire la data integration come l’insieme di tutte quelle azioni necessarie a unificare diverse sorgenti dati, eterogenee e non comunicanti tra loro, in modo da creare una vista unica certa, affidabile e aggiornata su un determinato processo.

Gestire in modo efficiente e monitorato il trasferimento dei dati è ormai un driver imprescindibile per la maggior parte delle aziende che dispongono di numerosi fonti dati interne ed esterne all’organizzazioni (database, archivi, open data, web services ecc.). Oggi, al tempo della digital transformation, la necessità è quella di gestire flussi di dati strutturati (interni o esterni) e non strutturati (esempio dati che arrivano dai social) che prolificano quotidianamente.  La data integration permette di consolidare i dati in forme coerenti, fisiche o virtuali per soddisfare i requisiti di “utilizzo” di tutte le applicazioni, i processi aziendali e le analisi a supporto dei decision maikers

Un’azienda ha infatti a disposizione diverse tipologie di dati, generati in vario modo, come ad esempio dall’interazione tra dispositivi elettronici, dall’interazione tra persone e dispositivi, da software gestionali o da CRM aziendali, o ancora generati da fonti esterne all’azienda stessa, come ad esempio da web services o open data messi a disposizione dalla pubblica amministrazione

 Tutti questi dati, tradizionalmente, venivano immagazzinate per silos, ovvero in repository (depositi) organizzati per dipartimento aziendale e isolati tra loro. Si è poi passati al Data warehouse, l’archivio che integra tra loro dati strutturati, e poi al Data lake, l’archivio che conserva dati strutturati e non strutturati da diverse fonti nel loro formato, fino a modelli che fanno convivere e funzionare contemporaneamente entrambi gli archivi.

Pertanto, l’integrazione dei dati, diventa sempre più necessaria e fondamentale per svariati motivi, come ad esempio:

1. gestire, elaborare, confrontare, arricchire molteplici tipologie di dati tra loro al fine di poter produrre analisi avanzate mediante il processo di trasformazione dei dati in informazioni.

2. disporre di dati in modo sicuro, in conformità alle normative, nel formato e nel lasso di tempo necessari

3. diminuire i costi la complessità della gestione delle soluzioni unificare i sistemi e migliorare la collaborazione

4. mappare il data lineage, che è il processo di comprensione, registrazione e visualizzazione dei dati che palesa tutte le trasformazioni che i dati hanno subito lungo il percorso: come sono stati trasformati, cosa è cambiato, quando e perché.

5. in caso di Acquisizioni o fusioni aziendali, o ancora, in caso di migrazioni di database per spostare e/o unire i dati creando un’unica fonte dati consolidata.

Tra le più comuni tecniche di data integration ci sono gli ETL – Extract, Transform, Load e gli ELT – Extract, Load & Transform, algoritmi che si differenziano rispetto ai tempi di esecuzione della “trasformazione/integrazione; infatti nel caso di ETL il processo di trasformazione viene effettuato dal tool di ETL prima di caricare i dati in output sul database. Nel secondo caso, l’integrazione/trasformazione dei dati viene demandata al motore del database di destinazione, dopo la fase caricamento.

1. Estrazione: questo processo comprende la selezione dei dati richiesti da una sorgente o da diverse fonti. I dati estratti vengono quindi organizzati in un data store fisico su disco o su memoria.

2. Trasformazione: i dati vengono trasformati in base ad una serie di regole per adattarsi al modello del data warehouse o alle esigenze operative, tipici esempi di trasformazioni sono modifiche al formato, le concatenazioni, l’eliminazione dei valori nulli o lo scarto riutilizzabile di dati sporchi, che potrebbero portare a risultati non corretti durante le analisi

3. Caricamento: questa fase consiste nel caricamento o presentazione fisica del risultato delle trasformazioni nel sistema target che di solito sono Data Warehouse oppure in diversi formati file messi a disposizione di altre applicazioni o altri sistemi.

Come già detto, nel caso di processi di ELT, la fase di trasformazione si sposta in coda, dopo la fase di caricamento. In questo caso, l’output del processo di ELT è quasi sempre formato da una serie di script, spesso in liguaggio nativo del DB di destinazione, che istruiscono il db stesso ad effettuare tutte le operazioni di integrazione/trasformazione.

Negli ultimi anni, i tools che si occupano di ETL ed ELT, si sono arricchiti di connettori per comunicare con sistemi in cloud, con sistemi e base dati NoSQL, Colonnali e/o Documetali.