ETL: confronto, criteri di selezione, consulenza [guida 2022]

ETL: confronto, criteri di selezione, consulenza [guida 2022]

ETL: Estrai (Extract) – Trasforma (Transform)- Carica (Load). Queste 3 parole da sole riassumono le funzionalità che le soluzioni software appartenenti a questa famiglia devono assolvere. QUINDI, uno strumento ETL è un software che semplifica la preparazione dei dati, in locale o sul cloud. Quest’ultimo si concentra sulla realizzazione di 3 tipi di operazioni sui dati: (1) estrarli da file di diversa natura; (2) trasformarli e arricchirli per prepararli allo sfruttamento; (3) ricaricarli in un altro sistema in modo che possano essere valutati.

L’interfaccia grafica delle soluzioni ETL semplifica queste operazioni. Queste soluzioni si basano su “caselle” che possono essere assemblate per ottenere il risultato desiderato. Si tratta, quindi, di una soluzione “No Code” che può essere messa in (quasi) tutte le mani.

In questo articolo ti spiego tutto quello che devi sapere su ETL e ti do la mia opinione personale per aiutarti nella tua scelta. Questo articolo non è commerciale (non vendo ETL) ma presenta solo un punto di vista oggettivo.


Sommario


ETL: Qual è la loro origine

La storia degli ETL inizia negli anni ’80. A quel tempo apparivano soluzioni software specifiche per gestire i flussi tra database “semplici”. Negli anni ’90 è stato fatto un cambiamento per adattarli ai data-warehouse (DWH).

Negli anni 2000 il mercato è diventato più strutturato e gli ETL sono stati divisi in due categorie:

  • ELT: alcuni ETL diventano ELT e si concentrano esclusivamente sulle attività “E” e “L” (estrazione e caricamento), lasciando la “T” al motore del database. Esempi: Talend, Matillion, ecc.
  • Gli ETL completi: sono state aggiunte più funzionalità a “T”: pulizia dei dati, join leggermente più complessi. Alcuni di questi strumenti esistono ancora nel 2022. Ad esempio, IBM data stage, Ab Initio.

Intorno al 2010, assistiamo a un’evoluzione degli ETL per gestire una situazione in cui non esiste un motore di database “dietro”. Da quel momento in poi, gli ETL sono diventati un po’ obsoleti. Questa è l’era del “data lake”. Il data lake è un nuovo concetto ottimizzato per analisti di business/dati e data scientist con esigenze di dati più avanzate.

Grazie al data lake, gli “ETL completi” diventano ciò che chiamo ETL+. Ad essi si aggiungono nuove funzionalità per consentire loro di fare cose più complesse: text mining, data mining (machine learning), AI, big data, ecc. In questa categoria troviamo gli strumenti ETL che sono, a mio avviso, i migliori del grappolo: Anatella e Alteryx.


ETL sul mercato

Ci sono troppi ETL sul mercato per citarli tutti. Ne citerò 3 che uso quotidianamente nei seguenti paragrafi: Anatella, Alteryx e Tableau. Avrei potuto aggiungere Talend, probabilmente la soluzione più nota sul mercato, ma lo uso poco e non ne sono un grande fan (principalmente per i problemi di prestazioni che ho citato qui).

Ricordiamo inoltre che aziende come G2 pubblicano sul mercato benchmark di soluzioni ETL. Come quella qui sotto, le mappe di posizionamento sono utili per valutare le diverse soluzioni presenti sul mercato.

Benchmark ETL

Una mappa di posizionamento proposta dall’azienda G2 sul proprio sito web. Queste mappe sono utili perché consentono di posizionare in modo chiaro diverse soluzioni in base a determinati criteri. (Fonte: sito web G2)


Funzionalità n°1: Estrazione

La prima funzionalità degli ETL è estrarre i dati da dove si trovano. Il termine “estrarre” è forse riduttivo qui perché si tratta della capacità di aprire un file e rendere disponibili i dati in esso contenuti per essere utilizzati nei processi successivi.

L’emergere di soluzioni SaaS e la democratizzazione del cloud storage hanno reso l’estrazione dei dati una sfida. Non ci sono mai state così tante fonti di dati e formati diversi. Alcuni formati proprietari sono così specializzati che solo una manciata di ETL li propone. Ciò che è anche divertente è la capacità di leggere file “concorrenti”. Anatella, ad esempio, ha una “scatola” in grado di leggere i file Alteryx.

Non parliamo nemmeno di file non strutturati (pdf, word), che sono una vera sfida e richiedono trasformazioni per essere sfruttati (vedi paragrafo successivo).

ETL Numero di “caselle” da inserire nella gestione dei dati Osservazioni
Alteryx 2020.1.5.25447 4
Tableau Prep 57 L’elenco dei formati supportati da Tableau Prep è davvero impressionante.
Anatella 2.38 37 Anatella gestisce anche formati di input non strutturati, che a volte possono essere molto utili.

Funzionalità n°2: Trasformazione

Anche se hai la migliore soluzione al mondo per estrarre i dati, se non puoi farne quello che vuoi, è inutile. A tal proposito, alcuni ETL si distinguono nettamente per il numero di funzioni (le famose “caselle”) disponibili. A mio avviso, le funzionalità “Trasforma” sono quelle che aggiungono più valore a un ETL.

Riepilogo il numero di caselle disponibili per “trasformare” i dati nella tabella seguente. Ho contato le “caselle” le cui funzionalità rientrano in una delle seguenti categorie: pulizia, unione, formattazione dei dati.

ETL Numero di trasformazioni disponibili Osservazioni
Alteryx 2020.1.5.25447 33 Le caselle contate appartengono alle categorie “preparazione”, “partecipazione”, “trasformazione” del menu principale. Per alcune delle caselle nel menu “preparazione”, è discutibile se siano “trasformative” o meno, ma per semplicità le ho prese tutte in considerazione.
Tableau Prep 5 Tableau Prep è molto semplice in termini di trasformazioni. Sembra essere uno strumento di preparazione dei dati il cui unico scopo è fornire visualizzazioni utilizzando Tableau. Se è necessario eseguire calcoli e trasformare le variabili, utilizzeremo invece i campi di calcolo in Tableau. Non si tratta, quindi, più di No Code.
Anatella 2.38 50 Senza dubbio, la soluzione più ricca in termini di gamma di funzionalità per le trasformazioni.

Alcune funzionalità di trasformazione possono fare la differenza tra 2 ETL

Per quanto mi riguarda, la differenza tra 2 ETL è nelle capacità di trasformazione dei dati. I programmatori mi diranno che questo non è importante, ma non credo. Un ETL è uno strumento Low Code (o No Code) ed è quindi pensato per semplificare il lavoro del personale non tecnico. Il numero di funzionalità disponibili nativamente è di conseguenza un criterio essenziale ai miei occhi.

Ad esempio, ti invito a leggere questo articolo dedicato al fuzzy matching. A seconda dello strumento che utilizzerai, la corrispondenza fuzzy sarà più o meno complicata da configurare. Tuttavia, coloro che hanno già riconciliato i database sanno quanto i problemi di qualità possano richiedere molto tempo. Una funzione di corrispondenza fuzzy nativa (soprattutto quando sono disponibili algoritmi diversi) è un vero vantaggio.


Funzionalità n°3: Caricamento

Delle 3 lettere in “ETL”, la “L” è quella che mi sembra presentare la criticità minore. La cosa più importante per ETL è avere sufficienti possibilità di esportazione nei formati di scambio standard. Infatti, la preparazione dei dati con gli strumenti ETL è spesso solo il punto di partenza di altri processi (modellazione predittiva, data mining, visualizzazione dei dati) eseguiti in soluzioni specializzate. Queste soluzioni hanno sempre connettori di ingresso.

Quando il processo di preparazione/trasformazione dei dati viene eseguito continuamente, la situazione è leggermente diversa. In questo caso può essere interessante avere possibilità di esportazione nei formati proprietario. Ad esempio, Anatella propone un’esportazione nel formato proprietario di Tableau (.hyper), che consente di risparmiare tempo nella lettura dei dati. Ciò evita problemi durante l’importazione dei dati in una soluzione di terze parti.

ETL Numero di formati di output disponibili Osservazioni
Alteryx 2020.1.5.25447 5
Tableau Prep 3 I formati di output sono minimi. Infatti, Tableau Prep è concepito come uno strumento per preparare i dati per le visualizzazioni utilizzando Tableau.
Anatella 2.38 27 Anche in questo caso, sono disponibili molti formati di output, anche per design molto esotici o poco utilizzati. Se uno di questi è importante per te, potrebbe essere un argomento forte nella tua decisione.

 


Caratteristiche aggiuntive

Come spiegato nella sezione “Cronologia”, gli ETL si sono evoluti per includere alcune funzionalità che andavano oltre il quadro specifico del diagramma Estrazione – Trasformazione – Caricamento. Questo è il caso delle funzionalità di analisi o visualizzazione. Merita di essere preso in considerazione l'”ETL+” che le propone.

In effetti, queste funzioni aggiuntive proposte all’interno dello strumento ETL, lungi dall’essere gadget, sono booster. Consentono di cortocircuitare il processo di analisi anticipando passaggi specifici nel processo di preparazione dei dati.

Devi definire in anticipo le tue esigenze per apprezzare il valore di tali funzionalità. Alcuni di loro potrebbero effettivamente essere aneddotici e non ti saranno utili. Quindi fai attenzione a non cadere nella trappola del marketing e ad acquistare componenti che non ti interessano.

A titolo di esempio, ecco alcune delle funzionalità aggiuntive che apprezzo di più nella soluzione Anatella:

  • NLP: questa funzionalità è stata inizialmente sviluppata per me (come parte del mio lavoro di ricerca sulla viralità su LinkedIn)
  • Rilevamento della lingua: utile quando si lavora su dati non strutturati
  • Visualizzazioni con R: Anatella incorpora il codice R che consente di eseguire visualizzazioni semplici in modo rapido. Queste visualizzazioni possono essere utilizzate per avere una prima idea dei dati e realizzare controlli di qualità. Li uso per verificare che nessun dato sia stato perso nel processo di preparazione dei dati.

Quale strumento ETL scegliere?

Quindi, devi scegliere l’ETL più adatto alle tue esigenze specifiche. Questo è ovvio. Ogni soluzione ETL ha le sue specificità e i confronti che ho realizzato sopra sono solo una chiave di lettura tra le altre.

Oltre alla gamma di funzionalità, dovresti anche considerare la velocità dei processi di preparazione dei dati. Ho realizzato un benchmark di 4 strumenti qui e le differenze nei tempi di elaborazione erano considerevoli.

Alla fine, penso che ci siano 2 criteri oggettivi essenziali di cui tenere conto:

  • Le funzionalità
  • La velocità

Inoltre, ci sono aspetti più soggettivi, come la roadmap del prodotto dell’editore e l’orientamento al cliente di quest’ultimo. Da questo punto di vista, la mia preferenza va chiaramente ad Anatella. L’azienda dietro è molto reattiva e non esita a sviluppare soluzioni specifiche per le vostre esigenze. Dubito che aziende come Talend o Alteryx facciano lo stesso.


Pubblicato in Data e IT.