Strumenti ETL: valutazione di strumenti per processi ETL basati sul cloud
Extract/Transform/Load (ETL), ovvero estrazione/trasformazione/caricamento, è il processo utilizzato per trasformare dati grezzi in informazioni fruibili di business intelligence. Nei processi ETL, i dati vengono estratti da applicazioni quali Salesforce e SAP, database come Oracle e Redshift o formati file come CSV, XML, JSON o AVRO. Tali dati, una volta estratti, vengono trasformati in informazioni fruibili da caricare in nuove applicazioni o destinazioni oppure possono essere caricati in un data lake o data warehouse per essere trasformati in un processo ELT.
Tutti questi processi possono essere eseguiti tramite connessioni codificate manualmente oppure possono essere portati a termine da uno strumento ETL. Tuttavia, così come i processi di elaborazione dei dati utilizzano sempre di più la tecnologia cloud, anche gli strumenti ETL dovrebbero evolversi nella stessa direzione. Se una quantità consistente di dati aziendali proviene da sorgenti nel cloud, o da sensori, un'altra fetta importante di dati aziendali critici proviene da sorgenti locali.
Analizzeremo nel dettaglio gli scenari che richiedono uno strumento ETL, individueremo cosa cercare quando se ne deve scegliere uno e spiegheremo perché gli strumenti ETL devono funzionare nel cloud.
Strumenti ETL nel cloud e locali
Tutto in ambito IT si sta spostando nel cloud. Forrester ha previsto che il mercato del cloud pubblico globale, passato da 40 a 178 miliardi di dollari durante l'anno appena trascorso, continuerà a crescere a un tasso annuo di crescita composto del 22%. Tutto questo sta creando un nuovo imperativo per le aziende basate sui dati, in quanto i data warehouse nel cloud stanno acquisendo importanza, l'elaborazione di tali dai nel cloud sta diventando critica per l'analisi in tempo reale e le applicazioni SaaS basate sul cloud stanno offrendo alle aziende l'opportunità di sfruttare nuove funzionalità in modo economico ed efficiente.
Oltre a offrire potenza e capacità di elaborazione maggiori, tutte queste funzionalità basate sul cloud finiscono col creare silos di dati nel cloud che si vanno ad accumulare a quelli già esistenti nei sistemi legacy. In un mondo ormai incentrato sul cloud, le organizzazioni devono lavorare con app, database e piattaforme nel cloud, oltre che con i dati generati da questi sistemi. Tuttavia, è importante non dimenticare i dati contenuti nei sistemi locali. Gli strumenti ETL dovrebbero essere in grado di gestire dati provenienti da qualsiasi sorgente: cloud, multi-cloud, ibrida o locale. Inoltre, vista la rapidità di innovazione in ambito cloud, è importante che l'infrastruttura di gestione dei dati sia sufficientemente flessibile da consentire il passaggio fluido da un qualsiasi provider cloud a un altro.
Perché è necessario uno strumento ETL
Molti professionisti dei dati si domandano perché sia necessario uno strumento ETL quando la codifica manuale spesso consente di svolgere gli stessi compiti più rapidamente e a un costo inferiore. La codifica manuale presenta due importanti svantaggi:
- La codifica manuale limita condivisione e riutilizzo. Un buono strumento ETL dovrebbe disporre di un'interfaccia di progettazione visiva, in modo che i colleghi possano vedere ciò che è stato realizzato semplicemente dando un'occhiata al diagramma. Con la codifica manuale, è difficile vedere ciò che è stato fatto, di conseguenza gli sviluppatori spesso si arrendono e ripetono il lavoro, cosa non solo inutile, ma anche onerosa in termini di tempo e risorse.
- La codifica manuale fa lievitare i costi di manutenzione. Se più persone si dedicano al supporto e alla manutenzione del codice una volta in produzione, la loro curva di apprendimento con un approccio basato sulla codifica manuale sarà elevata; inoltre, se il codice resta in produzione per anni, il ricambio del personale porterà inevitabilmente a costi ancora più elevati nel lungo termine.
I progetti di integrazione dei dati spesso partono con poco, a volte con una semplice "prova di fattibilità" per contenere i costi; molte volte, lo sviluppatore deve semplicemente collegare due sistemi per completare un particolare compito, di conseguenza, si ritiene che non sia necessario uno strumento ETL per gestire processi più complicati, come analisi in tempo reale o procedure di governance dei dati, se la codifica manuale consente di farlo. Tuttavia, il problema è che i piccoli progetti raramente rimangono tali. Molto spesso, questi progetti vengono visti e adottati dal resto dell'azienda, di conseguenza, ciò che inizia come un progetto relativamente limitato rapidamente si espande fino a coinvolgere più reparti e, improvvisamente, una piccola e rapida integrazione di codice manuale non è più così piccola e così rapida.
Inoltre, con l'aumentare del numero delle sorgenti di dati, così come delle normative sulla protezione dei dati, come il GDPR, che gravano sulle aziende, i processi ETL dovranno incorporare funzionalità di qualità dei dati, governance dei dati e gestione dei metadati. Tali funzionalità non possono essere codificate manualmente al livello richiesto dalla maggior parte delle organizzazioni.
Un esempio è rappresentato da un'azienda di telecomunicazioni americana con oltre 50 milioni di abbonati. Il team pubblicitario dell'azienda voleva creare un nuovo prodotto per vendere spazi pubblicitari locali e personalizzati ai partecipanti alle conferenze e ha impiegato Hadoop per monitorare i dati di localizzazione dei telefoni cellulari all'interno della rete. Hadoop ha reso possibile l'analisi dei dati a questo livello. Non appena il resto dell'azienda si è reso conto del successo del progetto, il team ha improvvisamente ricevuto altre 50 richieste di effettuare analisi dei dati allo stesso livello. Purtroppo però, il team IT non aveva né il tempo né le risorse per eseguire altre 50 di queste integrazioni codificate manualmente. Era nec
Come scegliere lo strumento ETL ottimale
Quando si considera l'acquisto di uno strumento ETL, anche per un unico progetto, come la creazione di un data warehouse in Snowflake, vi sono una serie di caratteristiche che tale strumento deve assolutamente avere.
Ecco l'elenco delle caratteristiche che non devono mancare a un buono strumento ETL:
- Deve essere in grado di leggere e scrivere da e sull'intera gamma di sorgenti di dati utilizzate, sia nel cloud che locali.
- Deve saper gestire i processi di trasformazione dei dati, come ordinamento, filtraggio e aggregazione.
- Deve presentare funzionalità di qualità e governance dei dati integrate, come deduplicazione, corrispondenza e profilazione dei dati.
- Deve includere strumenti di collaborazione per consentire il semplice riutilizzo di elementi di sviluppo precedenti e favorire flussi di integrazione dei dati più efficienti. Con un unico lavoro è possibile soddisfare più obiettivi, anziché continuare a creare flussi di integrazione dei dati simili, tutti più o meno con lo stesso scopo.
- Con il passaggio ai sistemi nel cloud, la capacità di gestire processi di integrazione e distribuzione continua (CI/CD) diventa una necessità.
- Lo strumento ETL dovrebbe essere in grado di operare in qualsiasi ambiente, su infrastrutture locali, nel cloud o ibride.
- Uno strumento ETL dovrebbe essere in grado di agevolare il passaggio da un provider all'altro. Potrebbe essere necessario creare un data lake in Redshift un giorno e in Snowflake l'indomani o utilizzare AWS come provider cloud in un dato trimestre e passare ad Azure quello successivo. È importante poter disporre di uno strumento ETL in grado di funzionare in un ambiente multi-cloud e di agevolare il passaggio da un provider all'altro, così come l'implementazione degli ambienti mediante il semplice scambio di alcuni componenti, senza alterare la logica del business e la logica di trasformazione.
- Uno strumento ETL dovrebbe funzionare perfettamente con le più recenti innovazioni tecnologiche e consentire l'immediata adozione delle nuove tecnologie. Gli strumenti ETL migliori si integrano perfettamente con le tecnologie serverless, come Spark, Snowflake, di apprendimento automatico e altro; ma sono anche quelli che sapranno adattarsi rapidamente alle tecnologie che devono ancora emergere.
- Anche la scalabilità è estremamente importante nella scelta di uno strumento. Si può essere tentati a orientarsi verso un fornitore di strumenti in grado di gestire solo processi semplici, perché più economici e facili da usare. Tuttavia, questi tool non sono facilmente scalabili; dipendono dalla macchina con cui vengono utilizzati, di conseguenza è necessario considerare quanta RAM o quante CPU vengono impiegate durante i processi. Ciò significa che, a un certo punto dello sviluppo aziendale, i processi analitici non potranno espandersi a causa di un limite artificiale, il che, in un ambiente così competitivo, non potrà che risultare estremamente svantaggioso per l'azienda. È inoltre più complicato collaborare e riutilizzare gli elementi di un progetto in un altro, con conseguenti sprechi di tempo e di risorse, in quanto i progetti ETL spesso devono essere iniziati di nuovo da capo.
- La portabilità è una caratteristica importante, ma spesso sottovalutata, degli strumenti ETL. Prendiamo, ad esempio, l'ecosistema Apache Hadoop che si sta evolvendo con un'incredibile rapidità. MapReduce era lo standard nel 2014 e 2015, ma prima della fine del 2016 Spark si è affermato come nuovo standard. Per chi aveva adottato un approccio basato sulla codifica manuale, è stato impossibile trasferire il codice da MapReduce a Spark. Invece, tutti i principali strumenti ETL consentono di farlo senza alcun problema.
Valutazione di uno strumento ETL per il cloud
È indubbio che ormai il mondo sta passando al cloud. Spesso, quando le aziende si trasferiscono nel cloud, devono riesaminare il proprio stack di infrastrutture globale. Non è detto che ciò che funzionava localmente possa andare altrettanto bene nel cloud. Ad esempio, localmente si ha un maggiore controllo di ciò che si può fare con server e hardware, mentre nel cloud il paradigma è differente: ciò che è necessario sapere è come gestire gli stack cloud e le reti private al di fuori della propria rete. Il cloud modifica il funzionamento degli strumenti ETL e il modo di interagire con essi; i linguaggi di codifica, i processi e le piattaforme sono diversi da quelli che si potrebbero incontrare localmente, ecco perché è necessario uno strumento in grado di passare senza problemi da un ambiente all'altro.
Il grado di scalabilità dell'ambiente cloud è fondamentale nella scelta dello strumento ETL, in quanto è difficile prevedere quanto si espanderà l'ambiente nel futuro. Le sorgenti di dati potrebbero essere 50 oppure 500 – e, ovviamente, sarà necessario integrare nuove tecnologie che oggi non sono ancora nemmeno sul mercato. Uno strumento ETL basato sul cloud consentirà di apportare modifiche all'infrastruttura di gestione dei dati senza alcuna difficoltà.
Un altro fattore importante da considerare durante la scelta di uno strumento ETL per il cloud è il modello di prezzi. Un grande vantaggio del passaggio al cloud è la possibilità di pagare solo ciò che viene effettivamente utilizzato. Di conseguenza, un prodotto i cui costi variano in base al numero di nodi è totalmente in contrasto con la filosofia del cloud, che prevede la libertà di variare senza difficoltà il numero di risorse impiegate, in base alle necessità. Gli strumenti ETL dovrebbero funzionare allo stesso modo: non si dovrebbe pagare per runtime inutilizzati o per risorse effettivamente superflue. I costi degli strumenti ETL dovrebbero essere gestiti esattamente come quelli di un qualsiasi altro elemento dell'infrastruttura cloud.
Strumenti ETL e qualità dei dati
La qualità dei dati sta diventando sempre più importante per le aziende, in quanto dati di cattiva qualità possono comportare perdite significative, sia in termini di tempo che di denaro. Inoltre, con l'entrata in vigore delle nuove normative sulla privacy, come il regolamento GDPR, la capacità di garantire la qualità e la governance dei dati sta diventando per le aziende un imperativo sempre più cruciale.
Si sa, nell'odierna era del cloud computing, le sorgenti di dati da cui poter acquisire business intelligence si sono moltiplicate. Ma ogni singola sorgente pone problemi in termini di qualità dei dati e quando tali sorgenti vengono integrate, i problemi si aggravano. Anche se un progetto ETL potrebbe sembrare una semplice connessione tra due sistemi, investire sin dall'inizio nella qualità dei dati può permettere all'azienda di risparmiare parecchio, in termini di denaro e risorse, in futuro. Un approccio proattivo alla qualità dei dati consente di verificare e misurare il livello di qualità prima che i dati arrivino al cuore dei sistemi. Ecco perché sta diventando sempre più importante che lo strumento ETL che si va ad acquistare presenti funzionalità di qualità dei dati integrate. Dai un'occhiata al documento Definitive Guide to Data Quality per scoprire come un buono strumento ETL può garantire in modo proattivo la qualità dei dati prima che questi entrino nei sistemi e vengano utilizzati.
Strumenti ETL di Talend
Talend offre una serie di strumenti ETL adatti a qualsiasi progetto di integrazione dei dati. Se hai bisogno di uno strumento di base per l'esecuzione di processi ETL, Open Studio for Data Integration di Talend è lo strumento gratuito ideale. Funziona perfettamente con le integrazioni per Redshift, Snowflake, Google BigQuery e altri, offrendo carichi singoli di dati e processi di integrazione semplici. Se sei alla ricerca di uno strumento open source semplice, ma efficace, scarica Open Studio oggi stesso.
Quando ti servirà uno strumento ETL che include funzionalità di qualità dei dati, data governance, apprendimento automatico, collaborazione e altro, Data Management Platform di Talend è la scelta ideale. Offre un modello di prezzi dinamico ed è possibile effettuare l'upgrade senza difficoltà dal prodotto Open Source nel momento in cui si decide di aggiungere nuove funzionalità. Se lo desideri, puoi mettere a confronto le caratteristiche di tutti i nostri prodotti di integrazione dei dati.
Gli strumenti ETL di Talend sono progettati per semplificare le complesse esigenze di aziende in crescita basate sui dati. Trova lo strumento più adatto alle esigenze della tua attività e semplifica l'esecuzione dei processi ETL.