I dati vengono generati con un flusso incessante, in ogni singolo istante, da miliardi di dispositivi interconnessi in tutto il mondo. Ma come è possibile estrarre valore da questa straordinaria risorsa digitale? Il paradigma Big Data, gli Advanced Analytics e l’evoluzione moderna delle Business Intelligence costituiscono una soluzione ampia e variegata per affrontare il problema, ma necessitano di metodologie e strumenti all’altezza della situazione.

Tra i processi tecnologici più utili in tal senso ritroviamo ETL (Extract, Trasnform, Load) il cui compito è proprio quello di avvicinarsi al dato grezzo per intraprendere quel percorso preparatorio che lo porterà a diventare fruibile per i processi analitici. Un’azienda moderna, che vuole realmente definirsi digitale, riponendo nella cultura dei dati un effettivo presupposto di valore, non può oggi prescindere da strumenti evoluti in grado di implementare i processi ETL nella pipeline di data management.

Cos’è l’ETL e cosa si intende per Extract, Transform, Load

L’ETL, acronimo di Extract, Transform, Load coincide con i processi di estrazione, trasformazione e caricamento dei dati in un sistema di sintesi come il data warehouse, dove vengono utilizzati per finalità di tipo analitico.

Gli ETL sono caratterizzati da livelli differenti, in funzione dei livelli di repository. Semplificando il concetto potremmo descrivere due differenti ordini, in cui nel primo livello i dati vengono conservati con un livello di dettaglio elevato, da cui partono ulteriori livelli ETL. È ad esempio il caso delle OLAP (On Line Analytical Processing) che necessitano di dataset per svolgere analisi specifiche, a cui corrispondono processi ETL altrettanto specifici.

Come da definizione, i processi che compongono nel suo ciclo completo un ETL sono fondamentalmente tre e anche se a livello logico ci appaiono sequenziali, i sistemi di moderna concezione sono in grado di eseguirli in maniera parallela, ai fini di accelerare lo svolgimento complessivo:

Extract (Estrazione)

La prima fase dell’ETL prevede l’estrazione dei dati da una fonte eterogenea, che può essere costituita da comuni file di testo o XML, database relazionali con o senza OLTP, database NoSQL, data log di attività IT, report su errori ed anomalie, eventi di sicurezza, sistemi aziendali come ERP e CRM e molti altri ancora.

Transform (Trasformazione)

La seconda fase dell’ETL prevede la trasformazione della struttura e del formato di un dataset per renderlo funzionale al sistema di sintesi dove verranno caricati i dati. Tali operazioni vengono svolte in maniera differente se si procede con una codifica manuale o utilizzando appositi software ed è piuttosto frequente vedere la predisposizione di un’apposita area di staging, che coincide in buona sostanza con un server indipendente dalla fonte dei dati e dalla loro destinazione ultima.

La trasformazione dei dati coincide con una serie di operazioni utili a rendere omogenea la struttura dei dati provenienti da fonti differenti, in modo da renderli fruibili in maniera efficace per i processi di business intelligence e di business analytics che si occupano di analizzarli.

Tre le principali azioni che il processo di trasformazione sui dati prevede, ritroviamo:

  • – Selezione dei dati, per conservare solo le parti che costituiscono interesse per il sistema di sintesi;
  • – Normalizzazione dei dati, con un processo di pulizia che elimina i duplicati e i dati corrotti;
  • – Traduzione dei dati codificati;
  • – Derivazione di nuovi dati utili al sistema di sintesi;
  • – Accoppiamenti (join) dei dati appartenenti a differenti tabelle;
  • – Raggruppamento dei dati in un formato specifico

Load (Caricamento)

Dopo le fasi di estrazione e trasformazione, i dati sono finalmente pronti per essere caricati sul sistema di sintesi, che nel caso di un ETL vede la propria vocazione specifica nel data warehouse. Il caricamento dei dati può avvenire attraverso due modalità operative:

  • Caricamento integrale: prevede la riscrittura completa dei dati ogni volta che viene eseguito un caricamento, andando pertanto a sostituire i dati già presenti sul sistema;
  • Caricamento incrementale: prevede il continuo aggiornamento dei dati, senza l’interessamento diretto dei file che non sono di fatto oggetto di modifiche.

Il processo ETL nel Data Warehouse

Il principale ruolo di un ETL coincide nell’alimentazione dei dati per un sistema di sintesi come il data warehouse. I tre processi fondamentali che lo contraddistinguono (Extract, Transform, Load) consentono infatti di rendere disponibili i dati nel modo più efficiente possibile, affinché risultino perfettamente fruibili dalle applicazioni di analytics utilizzate per generare valore informativo a partire dai dati. L’ETL assume dunque una rilevanza fondamentale in termini di business, in quanto contribuisce attivamente alla catena di valore che coinvolge i processi digitali delle aziende.

Business Intelligence Architecture: grafico che mostra il ruolo dell'ETL e come si relazioni le funzioni Extract-Transform-Load rispetto agli altri strati architetturali ed applicativi che consentono di fare l'analisi dei dati
Business Intelligence Architecture: grafico che mostra il ruolo dell’ETL e come si relazioni le funzioni Extract-Transform-Load rispetto agli altri strati architetturali ed applicativi che consentono di fare l’analisi dei dati

Gli strumenti ETL agiscono di norma in una fase propedeutica al caricamento dei dati sul data warehouse. Non è un caso che tale fase coincida con l’ultimo processo previsto dal ciclo dello stesso ETL, completando l’azione intrapresa con l’estrazione e la trasformazione dei dati. Non bisogna tuttavia trascurare il fatto che tali attività sono ormai concepite in una maniera fluida, in quanto in molti casi il flusso dei dati è caratterizzato da una natura incessante, oltre a coinvolgere ormai ordini di grandezza estremamente importanti.

A prescindere dal fatto che si utilizzi un data warehouse on-premise o in cloud, è opportuno distinguere l’attività di un ETL in due tipologie di pipeline, la cui scelta è dettata soprattutto in funzione delle esigenze di gestione dei dati (data management).

Pipeline ETL real time

Consente di svolgere i tre processi fondamentali dell’ETL in un contesto che prevede la continua generazione ed acquisizione dei flussi di dati provenienti da una pluralità di fonti, come i sistemi IoT o i canali di comunicazione di un’azienda, con cui gli utenti sono chiamati continuamente ad interagire.

La natura dei dati può essere sia strutturata che non strutturata e richiede applicazioni analitiche capaci di rispondere in tempo reale alle richieste da applicazioni sempre più diffuse, come la manutenzione predittiva degli impianti di fabbrica, il rilevamento delle frodi finanziarie o le attività di marketing e vendita online delle aziende di prodotto.

Gli strumenti ETL consentono di rendere disponibili i dati da analizzare attraverso un processo di trasformazione in tempo reale, direttamente connesso con l’acquisizione del dato dalla fonte, che può essere eventualmente oggetto di una parziale pre-elaborazione. Si tratta di una pipeline di moderna concezione, attualmente oggetto di continua evoluzione, che vedrà una diffusione sempre maggiore nei prossimi anni, quando è prevista una crescita esponenziale delle attività legate ai Big Data Analytics.

Pipeline ETL batch automatizzata

Si riferisce ai processi di natura tradizionale, che prevedono dei cicli periodici di estrazione, trasformazione e caricamento dei dati sul data warehouse, dove sono resi disponibili per le applicazioni di business intelligence. Grazie alla possibilità di pianificare i processi ETL, è possibile raccogliere enormi quantità di dati grezzi in sistemi di archiviazione di varia natura, on-premise e in cloud e pianificare i cicli ETL in vari momenti.

Grazie all’elevato livello di automatizzazione offerto dagli strumenti ETL di moderna concezione, diventa ormai possibile escludere l’impegno umano, contribuendo ad una generale accelerazione del processo e alla conseguente riduzione del numero di errori che le fasi ripetitive potrebbero inevitabilmente generare.

Perché l’ETL è importante nell’analisi dei dati

I processi ETL contribuiscono in vari modi a rendere più efficienti e profittevoli le strategie legate all’utilizzo dei dati in azienda e convergono prevalentemente nel garantire la disponibilità dei dati stessi con una qualità elevata, in modo da facilitare l’azione delle applicazioni di business intelligence e business analytics.

I sistemi ETL vengono di norma utilizzati in varie attività finalizzate all’analisi dei dati tra cui:

Utilizzo dei dati in cloud

Per le aziende è sempre più frequente avvalersi di sistemi di sintesi dei dati offerti dai servizi in cloud ed in questo frangente l’azione degli ETL risulta oltremodo preziosa per estrarre i dati da varie fonti (on-premises e in cloud) e trasformarli in un formato compatibile con la tecnologia data lake o data warehouse predisposta dal CSP (Cloud Service Provider) che offre il servizio. In particolare, i software ETL di moderna concezione sono in grado di automatizzare le fasi di pulizia, standardizzazione e sincronia dei dati con una logica votata alla portabilità, in modo da favorire l’approccio al multicloud ed evitare spiacevoli situazioni di lock-in con un determinato provider.

Come analizzato nel precedente paragrafo, l’ETL costituisce una cassetta degli attrezzi fondamentale per mantenere in perfetta efficienza un sistema di data warehouse utilizzato dalle applicazioni analitiche. Ciò vale sia nel caso della preparazione dei dati strutturati che, come viene richiesto sempre più di frequente, anche per quanto concerne i dati semi-strutturati e non strutturati che possono interessare le attività di business analytics. Tali caratteristiche rimangono più che mai valide nel caso dei data warehouse moderni, nella loro implementazione nativa in cloud.

Ottimizzazione per le attività di business intelligence

La flessibilità di un ETL consente di trattare dati di tipo strutturato e non strutturato provenienti da più fonti, adattandosi senza problemi anche ai flussi in streaming e in tempo reale, sia on-prem che in cloud (es. SaaS, data lake in cloud, ecc.). Grazie all’ETL i data warehouse possono acquisire uno storico di dati incredibilmente vario e caratterizzato da grandi numeriche, con una data quality in grado di rendere efficiente l’azione delle applicazioni analitiche.

Gli strumenti ETL possono quindi implementare e visualizzare i dati in qualsiasi contesto, risultando perfettamente funzionali a tutte le moderne applicazioni di business intelligence, per effettuare analisi predittive su una base dati capace di garantire un livello di performance che i sistemi tradizionali non avrebbero mai potuto raggiungere.

Ottimizzazione per le attività di business analytics

Negli ultimi anni è fortemente cresciuta l’analisi dei dati basata sulle tecniche di intelligenza artificiale, in particolare il machine learning, le cui applicazioni sono in grado di apprendere autonomamente dallo storico dei dati impiegato per il suo allenamento. In altri termini, maggiore è la quantità e migliore è la qualità dei dati utilizzati nel training, tanto questi fattori possono influire in maniera positiva sull’efficienza del sistema di apprendimento automatico, rendendolo più performante nell’esecuzione delle analisi predittive, sempre più utilizzate per il supporto decisionale.

Gli ETL possono quindi rifornire i sistemi di sintesi dei dati con una “materia prima” di elevata qualità, da cui le applicazioni con funzionalità di machine learning possono estrarre un valore predittivo in grado di generare ricadute positive in vari ambiti di business. Gli strumenti ETL oggi sono sempre più rilevanti ed utilizzati nell’ambito dell’analisi dei dati e il comparto dei business analytics non costituisce ad oggi un’eccezione.

I vantaggi dell’ETL

Oggi un numero sempre maggiore di aziende sta cercando di raggiungere una nuova identità attraverso la trasformazione digitale, ma quelle che riescono davvero a capitalizzare il valore dei dati di cui dispongono sono ancora poche, almeno in termini di benefici tangibili, in quanto i dati rimangono il più delle volte confinati nei cosiddetti silos, laddove rimangono isolati e scarsamente fruibili.

Osservando il problema da questa prospettiva, i processi ETL possono determinare un vero e proprio punto di svolta, purché la loro azione sia inquadrata nel contesto di una data strategy realmente consapevole e tarata in funzione delle effettive esigenze aziendali.

I vantaggi che l’implementazione dei processi ETL è in grado di innescare in un’azienda che investe consapevolmente nella cultura dei dati:

  • Workflow orientato alla data quality: il flusso di lavoro dei processi ETL prevede l’estrazione dei dati da varie fonti, con uno storage temporaneo che rende possibile la pulizia e la trasformazione in un formato compatibile con quello dei sistemi di sintesi in cui i dati vengono caricati alla fine di un ciclo che può essere ripetuto continuamente, attraverso dei batch pianificati o addirittura in tempo reale. Questa catena di preparazione, se implementata in maniera corretta risulta coerente con la data quality richiesta dalle applicazioni di analisi del dato, fondamentali per estrarre valore informativo;
  • Ottimizzazione tempi e costi (time-to-value): i processi ETL consentono di rendere solida ed orientata al miglioramento continuo l’approccio data driven delle pipeline aziendali, grazie ad un’aggregazione dei dati sempre più efficiente. Tale approccio consente di aumentare genericamente il ROI, grazie alla riduzione del time to value e delle risorse richieste per generare valore attraverso i dati;
  • Supporto ai principali sistemi di data analytics: i processi ETL possono gestire enormi quantità e varietà di dati rendendoli disponibili alle attività di business intelligence e business analytics.
  • Interfacce User Friendly: i software ETL di moderna concezione presentano interfacce semplici, con logiche self-service e funzionalità drag-and-drop che celano la notevole complessità assorbita dal core dell’applicazione. Le GUI (Graphic User Interface) di tali software rendono la preparazione del dato un processo alla portata di un pubblico non strettamente tecnico o qualificato nelle discipline della scienza dei dati. Gli strumenti ETL consentono inoltre di evitare la codifica manuale, che sarebbe oltremodo complessa da gestire soprattutto nell’ottica di un’implementazione di lungo periodo, in cui non è auspicabile rimanere vincolati all’operato di alcuni programmatori.
  • Compliance standard GDPR: le procedure automatizzate dei processi ETL consentono di agire in maniera selettiva sui dati, predisponendo la loro collocazione nelle regioni conformi al loro trattamento e alla loro conformazione.

Tra le caratteristiche che gli strumenti ETL dovrebbero pertanto garantire, potremmo sintetizzare:

  • Portabilità (cloud oriented): la capacità di preparare i dati in maniera funzionale al caricamento su vari sistemi di sintesi consente una flessibilità operativa generalmente apprezzata quando ci si avvale di infrastrutture IT di natura ibrida, che prevedono l’utilizzo di sistemi on-prem e multicloud. Eseguire l’integrazione dei dati e poterli riutilizzare in varie circostanze costituisce in tal senso un valore aggiunto non indifferente.
  • Connettori: gli strumenti ETL devono garantire una elevata capacità di connessione con le principali fonti di dati, ai fini di automatizzare le fasi di estrazione ed accelerare complessivamente il processo, risolvendo oltretutto la possibilità di errori grazie alle impostazioni correttive che il connettore è in grado di eseguire in maniera trasparente. Un ETL è chiamato ad estrarre centinaia di fonti differenti, per cui l’elevata disponibilità di connettori costituisce un plus determinante.
  • Gestione degli errori: un sistema ETL efficiente deve garantire una gestione efficace ed il più possibile automatizzata della coerenza dei dati estratti. Tali qualità devono perdurare anche nella fase di trasformazione dei dati, evitando perdite ed errori durante l’esecuzione delle operazioni.
  • Semplicità di utilizzo: oltre a possedere un’interfaccia intuitiva, uno strumento ETL deve risultare semplice anche nelle logiche di impiego, soprattutto per quanto concerne la visibilità dei dati e le funzionalità self service che è chiamato a rendere disponibili. Tali qualità si riflettono molto spesso in una riduzione di tempi di esecuzione e di possibili errori derivanti dalla scarsa comprensione del dato processato.
  • Open source: per quanto non si tratti di una prerogativa essenziale, un’architettura aperta garantisce una maggior flessibilità, anche nel caso in cui si opti per una soluzione commerciale basata su una base open source.

ETL e ELT: analogie e differenze

Nell’ambito tecnologico che fa riferimento alla scienza dei dati, oltre agli ETL è frequente ritrovare anche i sistemi ELT (Extract, Load, Trasform) che al di là dell’inversione delle ultime due lettere che costituiscono l’acronimo, si riferiscono ad un contesto di esigenze diverse rispetto a quello che viene normalmente proposto all’azione degli ETL.

Occorre fare una premessa, utile a comprendere sin da subito le particolari differenze tra i due sistemi. Mentre gli strumenti ETL esistono ormai da moltissimi anni, gli ELT sono di recente implementazione, scaturita dall’esigenza di un sistema più flessibile soprattutto quando si tratta di archiviare e gestire i dati in cloud. Grazie a questa logica, si tende a privilegiare l’archiviazione di grandi quantità di dati, provenienti ad esempio dai flussi real time dei sistemi IoT, piuttosto che dagli streaming multimediali, senza preoccuparsi di affinare la loro preparazione.

Il sistema ELT deve quindi preoccuparsi di estrarre il dato dalla fonte e caricarlo direttamente sul sistema di sintesi predisposto, come un data lake o un data warehouse. Soltanto nel caso in cui si presenti l’effettiva esigenza di analizzare un data set l’ELT si pone il problema di procedere alla sua trasformazione.

Tale scenario si rivela ottimale soprattutto in presenza di grandi quantità di dati non strutturati, ma se opportunamente implementato risulta efficiente anche per snellire le procedure tradizionali, evitando di fatto un’onerosa fase di trasformazione che potrebbe rivelarsi del tutto superflua, se il dato in questione non venisse poi sottoposto ad attività di business intelligence e business analytics.

La strategia di gestione del dato che prevede l’impiego dei processi ELT risulta oltretutto utile a sfruttare una delle principali qualità del cloud, che consente di impiegare grandi risorse computazionali quando si tratta di intervenire sui big data, rendendo il processo di trasformazione molto più veloce rispetto alle soluzioni implementabili nei data warehouse on-premise. D’altro canto, gli ELT consentono di estendere ai data lake quelle funzionalità di preparazione del dato che in un primo momento sono state concepite per i data warehouse.

ARGOMENTI CORRELATI
Categoria: ANALYTICS
IoT internet of things | Immagine grafica che richiama, in sottofondo, un obiettivo di una telecamera, con dati in codice binario attorno, a richiamare il concetto di sensore IoT, oggetti connessi che producono e trasmettono dati

Cos’è e come funziona l’IoT

La Internet of Things (IoT) rappresenta una tecnologia emergente della quarta rivoluzione industriale. Vediamo cos'è e quali sono le sue… Leggi tutto

Smart City concetto grafico

Cosa sono le Smart City, come funzionano. Esempi e tecnologie abilitanti

Perché oggi si parla tanto di Smart City? E perché i dati sono così importanti per garantire lo sviluppo e… Leggi tutto

Data Warehouse Immagine grafica che richiama importanza del Data Warehouse per esempio per la Business Intelligence

Data Warehouse, cos’è e perché ha ancora un peso rilevante nelle aziende

La trasformazione digitale ha reso i dati la principale risorsa da cui estrarre valore in funzione dei vari processi di… Leggi tutto