Soluzioni

ETL: cos’è, 7 soluzioni da scegliere nel 2023  

Extract, Transform, Load è la raccolta dei dati da diverse sorgenti, la loro organizzazione e la loro centralizzazione in un’unica base dati. Un processo molto costoso in termini di risorse ma necessario alla qualità dei dati. Ci sono software che vanno in soccorso delle aziende, ne abbiamo scelti sette

Pubblicato il 02 Mag 2023

analytics gap

Acronimo di Extract, Transform, Load (estrarre, trasformare e caricare i dati), l’ETL è un processo essenziale che consente di utilizzare tutti i dati generati dagli asset aziendali e che, dopo essere puliti e resi omogenei, possono essere fatti confluire verso un unico database.

In un’azienda esistono diverse fonti di dati, alcune delle quali costituite da applicazioni usate soltanto da pochi utenti oppure usate in rare e specifiche occasioni. Possono anche essere poco utili ai fini delle analisi dei dati stessi ma, in un’ottica di raccolta, omogeneizzazione e concentrazione dei dati assumono un ruolo specifico, perché la concentrazione dei dati non è fine a sé stessa e non tocca a chi li raccoglie decidere quali informazioni possono essere importanti e la cultura dell’analisi dei dati non esclude a priori che ogni settore dell’azienda possa venire coinvolto.

ETL

I dati non sono soltanto quelli degli applicativi usati dall’azienda, sono quelli che provengono dai canali web, dai dispositivi mobili di cui i dipendenti vengono dotati, dai macchinari per la produzione e, più in generale, da dispositivi IoT e sensori.

ETL: i criteri necessari sono funzionalità e velocità

In termini di impiego di risorse l’ETL è molto costoso. In una realtà aziendale in cui i dati meritano di rientrare nella categoria dei Big data, ci si muove tra una quantità di informazioni notevole che, provenendo da diverse fonti, tendono a essere generati e archiviati in modo non conforme. Occorrono hardware e software performanti soprattutto nei momenti del processo che riguardano la trasformazione dei dati, i quali possono essere elencati così:

  • pulizia: momento durante il quale vengono eliminati gli errori nei dati e avviene la mappatura secondo gli standard del database di destinazione. In questa fase vengono anche rimossi i dati duplicati,
  • revisione: riguarda la conversione dei dati nelle unità prescelte e quindi in formati considerati coerenti,
  • derivazione: in questa fase vengono usati i valori rilevati all’origine dei dati per applicare le regole decise per la trasformazione. Un valore considerato lordo, per esempio, può essere rivalutato deducendo i costi a questo collegato al fine di lavorare su valori netti,
  • unione: procedura che, per esempio, somma i valori relativi a una merce provenienti però da due basi dati diverse. Al costo di acquisto può essere integrato quello di trasporto per ottenere il prezzo reale di ogni singolo prodotto,
  • divisione: alcuni dati alla loro origine possono essere archiviati in modo non confacente alle tabelle di destinazione, un esempio classico è la necessità di dividere il campo “Nome e Cognome” nelle colonne “Nome” e “Cognome”, separate tra di loro,
  • sintesi: l’obiettivo è di unire dati dai valori poco rilevanti in valori significativi. Per esempio, molti clienti ordinano poche unità di uno specifico prodotto, può quindi essere utile sapere il fatturato totale del prodotto stesso,
  • crittografia: è un momento di vitale importanza che richiede un impiego di risorse rilevante e che viene eseguito prima che i dati raggiungano la propria destinazione. La crittografia rientra nella compliance delle norme di privacy e sicurezza e non è eludibile, a maggiore ragione quando i dati vengono trasferiti sul Cloud.

Appare evidente che, soprattutto nelle grandi organizzazioni, la velocità di esecuzione assuma un’importanza di rilievo. La funzionalità stessa dell’ETL è correlata alla capacità di elaborazione di calcolo.

ETL su cloud: come funziona e quali problemi risolve

I dati escono dall’azienda per essere archiviati in database in Cloud, oggi messi a disposizione a costi competitivi da una varia schiera di fornitori. Le aziende possono generare dati al proprio interno oppure direttamente all’esterno, si pensi soprattutto ai dispositivi IoT o ai sensori che archiviano i dati online. Occorre quindi che tutte queste informazioni entrino in un processo ETL il quale, a sua volta, può essere più complesso proprio in virtù della promiscuità di ambienti dai quali i dati provengono.

Se la complessità del convogliare verso il medesimo database dati provenienti da ambienti diversi può essere risolta da specialisti mediante creazione di interfacce e l’uso di Api, la strada si fa particolarmente in discesa utilizzando processi ETL in Cloud che offrono una velocità superiore in un ambiente affidabile che consente di creare schemi di Business intelligence personalizzati, andando a creare così un ulteriore vantaggio competitivo.

ETL e Machine learning: comprendere i dati

Come detto, gli ETL sono esosi in termini di costo, con riferimento sia alla capacità di calcolo dell’hardware e del software coinvolti nel processo, sia in riferimento al fatto che richiedono molta codifica. A questo si va ad aggiungere il fatto che ai Data scientist sono assegnati diversi compiti e che l’ETL è solo uno dei processi utili a liberare il valore aggiunto che i dati devono fornire. Riuscire ad abilitare il Machine learning è prerogativa dell’ETL che raccoglie, trasforma e consolida i dati anche in modo automatizzato giacché, una volta stabilito un modello valido, l’azienda può replicarlo ad libitum, avendo acquisito una piena conoscenza dell’origine dei dati di cui dispone. Per potere allestire, alimentare e gestire un’unica base dati è essenziale conoscere l’intero flusso di informazioni generate dall’azienda, questione che è da considerare come business critical perché, in sintesi, gli ETL sono un processo critico di data warehousing.

ETL per raccogliere dati di marketing

Intendendo il marketing come l’intero processo che lega lo studio di un prodotto alla sua profittabilità, occorre scinderne la sfera operativa in tre categorie le quali trovano nell’integrazione dei dati un autentico file rouge:

  • marketing analitico: riguarda lo studio del mercato e quindi dei desideri dei clienti, degli scogli da superare e della concorrenza. Tutto ciò ha il valore aggiunto di obbligare l’impresa a prendere le misure con la propria realtà. In qualche modo si tratta della traslitterazione di ciò che i dati sono in grado di fare,
  • marketing strategico: è relativo alla pianificazione delle attività per rimanere sul mercato. Anche in quest’ambito l’uso (persino maniacale) dei dati rappresenta una bussola capace di condurre l’impresa passo a passo,
  • marketing operativo: la spiegazione breve è quella secondo cui l’impresa dispiega mezzi e fa scelte utili al raggiungimento degli obiettivi strategici che si è posta. Appare palese quanto i dati siano la cartina di tornasole, il Gps e il timoniere che indicano quanto è lontano l’obiettivo e quale rotta occorre seguire per raggiungerlo.

Le fonti di dati sono molteplici: servizio di assistenza (pre e post-vendita), sentiment online, engagement sui canali social e feedback nel senso più ampio del termine. Al fianco di questi si situano anche dati esterni, quali per esempio le quotazioni del valore delle materie prime o delle tecnologie necessarie alla produzione di beni e servizi oppure i dati provenienti da altri stakeholder coinvolti nei processi logistici o di vendita.

ETL e IoT: trasferire i dati in un unico Hub

Fare convergere tutti i dati in un unico database è obiettivo ultimo dell’ETL. Quando questo flusso trae origine da dispositivi IoT le cose possono complicarsi ulteriormente, perché si tratta per lo più di dati non strutturati generati da molti dispositivi che variano anche per tipologia. Fare leva sugli ETL non diventa più soltanto questione di raccolta e uniformazione dei dati ma introduce livelli più approfonditi, tra i quali:

  • monitoraggio: è possibile capire in tempo reale quali dispositivi non stanno emettendo dati e sono quindi non operativi,
  • rilevamento anomalie: picchi anomali o cali inspiegabili nel flusso dei dati balzano all’occhio con maggiore sollecitudine,
  • analisi in tempo reale: i dati possono essere osservati e analizzati nel momento in cui vengono generati e questo va tipicamente appannaggio anche dei clienti, ai quali viene data facoltà di comprendere come vengono utilizzati i dati,
  • apprendimento automatico: i dati possono essere impiegati per lo sviluppo di modelli IA ma anche per la manutenzione predittiva.

In tutti questi casi si palesa la necessità che i dati vengano trasformati dal loro formato in dati facilmente esaminabili dagli strumenti in dotazione all’azienda.

Replicare i database con l’ETL

La replica dei dataset non va presa alla lettera. Partendo dal presupposto che la replica dei dati è concettualmente sbagliata e che questa assume un senso soltanto per garantirne un alto elevato di disponibilità (tipicamente backup o disaster recovery), nell’ambito degli ETL il discorso è molto più sfaccettato e non va confuso in modo semplicistico con il concetto di replica dei dati strettamente detto. Ci si muove in un ambito nel quale i dati vanno analizzati ed esaminati anche in tempo reale, arricchiti (e in alcuni casi persino restituiti al punto di origine) e utilizzati per applicazioni, database di origine e punti di raccolta (data warehouse o data lake).

Si tratta di una vera e propria sfida concettuale e ingegneristica che può essere affrontata partendo dalle differenze tra data warehouse e data lake. Se è vero che i confini tra le due architetture diventino sempre più labili, è anche vero che occorre valutarle per ciò che sono:

  • un data warehouse è un repository di dati strutturati ed elaborati per uno scopo definito,
  • un data lake è un insieme di dati, anche grezzi, il cui scopo può non essere ancora pienamente definito,

Questa differenza è utile per comprendere come, per esempio, la replica dei dati in un data lake permette un’ulteriore elaborazione – per esempio mediante script – per applicare regole di omogenizzazione o di analisi prima di convogliarli verso un data warehouse. È opportuno avere una copia dei dataset utilizzati a mo’ di test per evitare di dovere procedere a un’ulteriore collect dei dati dalle loro origini.

ETL per la migrazione su Cloud

Gli ETL forniscono di norma gli strumenti necessari alla migrazione su Cloud ma, al di là della possibilità tecnica di effettuare la migrazione, occorre pianificare ogni evento, per esempio chiedendosi se:

  • è opportuno migrare tutti i database usati da un’azienda oppure soltanto il data warehouse,
  • quali dati vanno migrati prima degli altri a seconda delle necessità operative degli utenti,
  • è opportuno scegliere architetture fisiche o virtuali.

I dati sono sempre sensibili e vitali, non vanno mai lesinate simulazioni e test (anche in questo caso le repliche di dataset assumono un ruolo specifico) perché i contesti di migrazione sono molteplici e non c’è un solo modo di operare, così come non esiste un manuale da consultare all’occorrenza. Test, valutazione dei rischi e stretta, fedele e ragionata pianificazione sono elementi imprescindibili.

I criteri per scegliere l’ETL per la propria azienda

È proibitivo stilare un elenco di funzionalità che si applichi a diverse realtà aziendali, è però possibile fare una lista di quelle funzionalità che non possono assolutamente mancare. Tra queste, una soluzione ETL deve:

  • essere utilizzabile con tutte le sorgenti dati usate dall’azienda, siano queste locali o in Cloud,
  • gestire la trasformazione dei dati e il loro filtraggio,
  • deve includere strumenti per il riutilizzo dei modelli affinché possano essere usati anche per gestire altri flussi di dati senza doverne ricostruire o scriverne di nuovi,
  • gestire streaming di integrazione e di flusso di dati per continuare a interfacciarsi alle origini di dati in Cloud. Questo dovrebbe essere un prerequisito anche per quelle aziende che ancora non hanno dati in Cloud perché cambiare soluzione ETL nel corso del tempo può non essere immediato e opportuno,
  • essere scalabile e non contemplare soltanto strumenti di facile utilizzo e dedicati a piccole realtà imprenditoriali.

Abbiamo individuato sette servizi che rispecchiano i punti citati nell’elenco qui sopra.

I servizi Google per l’ETL

ETL

Tra i diversi strumenti messi a disposizione da Big G ne spiccano tre. Cloud Data Fusion è un servizio Cloud per l’integrazione dei dati realizzato mediante il framework Cdap, tecnologia Open source per l’analisi dei dati. Mette a disposizione decine di connettori che possono essere configurati e inseriti nel flusso di integrazione in modalità no-code, quindi senza conoscenze di programmazione. Un servizio che garantisce rapidità di esecuzione e standard di sicurezza elevati.

L’elaborazione dei dati è gestita da Dataflow e ha un valore specifico sia nella riduzione dei tempi necessari demandando all’infrastruttura hardware di Google lo sforzo computazionale, sia per quanto riguarda l’elaborazione di dati storici che consentono la rilevazione delle anomalie ma che riveste un ruolo anche nelle analisi predittive.

Infine, Dataproc è orientato all’uso di Data lake o Data warehouse, ossia la destinazione dei dati raccolti e poi gestiti per essere resi compatibili con gli obiettivi aziendali. Anche in questo caso, essendo una soluzione erogata in Cloud, sgrava l’azienda dalla necessità di avere una struttura per l’operatività relativa all’elaborazione dei dati, al monitoraggio e alle attività di logging.

A fare da collante alla facilità d’uso dei prodotti di Google c’è la classica interfaccia che richiama quella tradizionale di altri servizi di larga diffusione come, per esempio, Google Analytics ma anche la suite Google Workspace.

Alteryx, l’ETL che estrae dati

ETL

È una suite di prodotti che guarda soprattutto alle grandi organizzazioni e il cui costo è da calcolare nell’ordine delle decine di migliaia di dollari.

Alteryx è una piattaforma no-code che permette di creare modelli di analisi di facile distribuzione e riutilizzo. Guarda soprattutto ai Data scientist e agli analisti dei dati consentendo di combinare diversi tipi di dati con relativa facilità. Un ambiente in cui si può ridurre a poche ore il lavoro che normalmente richiederebbe giorni per essere eseguito.

C’è la possibilità di provare i prodotti a titolo gratuito per un tempo limitato, considerata la complessità è opportuno che i Data scientist facciano le considerazioni di rito prima di approcciarsi a soluzioni come Alteryx.

Anatella, l’ETL che legge tutti i formati di dati

ETL

Disponibile in cloud e on-premise, Anatella è uno strumento duttile che consente l’estrazione, la pulizia e il consolidamento dei dati. Due vantaggi immediati riguardano la possibilità di scrivere codice supplementare e la flessibilità con cui si integra alle più diffuse piattaforme per la Business intelligence quali, per esempio, PowerBI di Microsoft o Tableau.

Le funzionalità di Data mining sono particolarmente utili alle analisi predittive e la capacità di trasformazione è da prendere in considerazione soprattutto laddove i dati provengono da un elevato numero di fonti diverse.

Tableau Prep, l’ETL utile per trasformare i dati

ETL

Tableau mette a disposizione soluzioni Cloud e on-premise, ovvero installate fisicamente su server di proprietà di chi ne fa uso. I due punti di forza principali di Tableau Prep risiedono nella sicurezza e nella privacy dei dati e, a ciò, si aggiunge la facilità d’uso. Poiché guarda a un pubblico variegato, al di là delle funzionalità no-code, si può intervenire sulla pulizia e la preparazione dei dati anche con script creati ad hoc in Python e R. Tableau Prep è inserito in Tableau Desktop, il cui costo parte dai 70 dollari al mese per utente (64 euro circa), prezzo che può variare in modo più che sensibile a seconda delle necessità del cliente finale e dalle sue tante configurazioni.

Hevo

ETL

Piattaforma Cloud no-code che dà supporto nel semplificare e automatizzare i flussi di dati di una qualsiasi impresa, è uno strumento che può essere usato da ogni organizzazione nella quale vige una cultura dei dati, al di là del core business e della propria grandezza.

Offre decine di connettori per la raccolta di dati da diversi database (in locale e in Cloud) e quindi anche da applicazioni basate sul web. Hevo è davvero utilizzabile da chiunque, la nostra prova su un database SQL installato su una macchina virtuale ha fatto emergere una (apprezzabile) velocità di esecuzione.

La versione free permette di comprendere meglio le potenzialità dello strumento ma è limitata a un milione di record e nel numero di connettori disponibili. Le altre soluzioni hanno un prezzo a partire da 239 dollari al mese (218 euro circa).

Pentaho

ETL

Piattaforma no-code, Pentaho Data Integration fa parte di una suite di prodotti che coprono tutte le necessità di aziende data-driven. Nel caso specifico degli ETL si presta all’analisi e alla reportistica, muovendosi con una spiccata duttilità nelle strutture dati in Cloud. Fornisce connettori per diverse tecnologie che possono essere utilizzati e implementati facendo affidamento su un’interfaccia grafica di facile comprensione e offre strumenti di analisi preconfigurati per supportare quelle imprese che stanno muovendo i primi passi nel mondo degli ETL.

Gli strumenti offerti prevedono la preparazione e l’analisi dei dati per favorire la migrazione in Cloud in modo sicuro e scalabile.

Esiste in due versioni, una più limitata e sorretta dalla comunità di utenti e l’altra, su licenza, più completa. I prezzi sono comunicati a chi ne fa richiesta.

K3

ETL

Altra piattaforma no-code che si rivolge a un pubblico vasto di utenti e si adatta tanto alle piccole quanto alle grandi organizzazioni.

Può essere usata sia in Cloud sia on-premise ed è dotata di connettori per centinaia di applicazioni e database ma, a renderla una soluzione molto semplice da implementare subentrano due elementi interessanti: il motore per le regole sui dati che contempla una moltitudine di possibilità già impostate (e comunque ulteriormente parametrizzabili) e la mappatura delle pipeline che è davvero semplice da utilizzare. I prezzi di K3 sono comunicati a chi ne fa richiesta, vale però la pena richiedere una demo gratuita che spiega le potenzialità di questa soluzione.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 3