Che cos'è un processo ETL (Extract/Transform/Load)?
Extract/Transform/Load (ETL), ovvero estrazione/trasformazione/caricamento, è il processo di raccolta dei dati da un numero illimitato di sorgenti e della loro successiva organizzazione e centralizzazione in un unico repository.
Nella maggior parte delle aziende, i dati potenzialmente utili sono inaccessibili; secondo uno studio, due terzi delle aziende è in grado di trarre "pochi benefici tangibili" dai dati, se non addirittura nessuno. I dati tendono a rimanere bloccati in silo isolati, sistemi legacy o applicazioni utilizzate raramente. Il processo ETL rende tali dati disponibili estraendoli da più sorgenti (come illustrato nel diagramma), per poi essere ripuliti, trasformati e in ultima analisi utilizzati per finalità di business.
Alcuni eseguono i processi ETL mediante codifica manuale in SQL o Java, ma sono disponibili strumenti in grado di semplificare queste operazioni. In questo articolo si prendono in esame alcuni casi d'uso dei processi ETL, i vantaggi di utilizzare uno strumento ETL anziché la codifica manuale e le principali caratteristiche da ricercare in un buono strumento ETL.
A cosa servono i processi ETL
I dati sono di importanza fondamentale in tutti i processi aziendali; per poter disporre di dati di qualità, è prima necessario trasferirli e prepararli, ovvero sottoporli a un processo ETL. Ecco alcuni casi d'uso dei processi ETL:
- Migrazione dei dati da un'applicazione a un'altra
- Replica dei dati per l'esecuzione di backup o analisi della ridondanza
- Processi operativi quali il trasferimento di dati da un sistema CRM in un ODS (Operational Data Store) per l'ottimizzazione e l'arricchimento, per poi restituire i dati al sistema CRM
- Inserimento dei dati in un Data Warehouse per l'assimilazione, l'ordinamento e la trasformazione in business intelligence
- Migrazione delle applicazioni locali in infrastrutture Cloud, Cloud ibride o multi-Cloud
- Sincronizzazione di sistemi chiave
Funzionamento dei processi ETL ed ELT
Il processo ETL è generalmente suddiviso in tre fasi. Sta diventando sempre più comune estrarre i dati dalle sorgenti, quindi caricarli nel data warehouse di destinazione oppure trasformarli dopo il caricamento. Questo tipo di processo si chiama ELT anziché ETL. Per saperne di più, leggi ETL ed ELT.
Le tre fasi dei processi ETL sono le seguenti:
Fase 1 — Estrazione
L'obiettivo di un processo ETL è ottenere dati puliti e accessibili da utilizzare per attività di analisi o processi di business. I dati grezzi vengono inizialmente estratti da una vasta gamma di origini, quali:
- Database esistenti
- Registri di attività, come traffico di rete, report di errori e altro
- Report su anomalie e prestazioni di applicazioni
- Eventi di sicurezza
- Altre attività transazionali che devono essere segnalate per motivi di conformità
I dati estratti vengono quindi collocati in destinazioni quali Data Lake o Data Warehouse.
Fase 2 — Trasformazione
La fase di trasformazione del processo ETL è la più critica. In questa fase, infatti, ai dati vengono applicate le regole aziendali necessarie a soddisfare i requisiti di segnalazione. Durante la trasformazione, ai dati grezzi vengono applicati i formati di segnalazione corretti. Se i dati non sono puliti, applicare le regole aziendali di segnalazione diventa complicato.
La trasformazione avviene tramite l'applicazione di una serie di regole definite a livello aziendale. Gli standard che assicurano l'accessibilità e la qualità dei dati durante questa fase dovrebbero includere:
- Standardizzazione: definizione dei dati che saranno presi in considerazione, della modalità in cui verranno formattati e memorizzati, così come di altri fattori chiave che andranno a definire le fasi successive del processo.
- Deduplicazione: segnalazione di duplicazioni agli steward dei dati; esclusione e/o eliminazione dei dati ridondanti.
- Verifica: esecuzione di verifiche automatiche per mettere a confronto informazioni simili come orari delle transazioni e record di accesso. Le attività di verifica consentono di sfrondare ulteriormente i dati inutilizzabili e di contrassegnare eventuali anomalie in sistemi, applicazioni e dati.
- Ordinamento: ottimizzazione dell'efficienza all'interno dei data warehouse tramite raggruppamento e ordinamento in categorie di elementi come dati grezzi, audio, multimediali e altri oggetti. Le regole di trasformazione determinano come ogni singolo dato viene classificato e dove sarà collocato nella fase successiva. Spesso, i processi ETL vengono utilizzati per creare tabelle di aggregazione per report riepilogativi. Questo richiede l'ordinamento e la successiva aggregazione dei dati.
- Altre attività: è possibile definire e configurare altre attività da eseguire in modo automatico.
Attraverso questi passaggi di trasformazione, ciò che prima era un ammasso di materiale inutilizzabile viene plasmato in un prodotto di dati pronto per la fase finale del processo ETL, quella del caricamento.
Fase 3 — Caricamento
L'ultima fase del processo ETL prevede, in genere, il caricamento dei dati estratti e trasformati in una nuova destinazione. I dati possono essere caricati in un data warehouse in due diversi modi: tramite caricamento completo o incrementale.
Per lanciare un singolo ciclo ETL o una serie programmata di cicli, è possibile eseguire una semplice attività da una riga di comando o da un'interfaccia grafica. Tuttavia, vi sono alcuni aspetti da tenere sotto controllo. Gestire le eccezioni, ad esempio, può essere estremamente impegnativo. Spesso le estrazioni dei dati possono non andare a buon fine se uno o più sistemi sono inattivi. Dati di cattiva qualità presenti in uno dei sistemi possono compromettere i dati estratti da un altro, per questo monitoraggio e gestione degli errori sono attività fondamentali.
Moderne pratiche basate sui dati: confronto tra ETL ed ELT
l processo ELT è una procedura collaudata per la gestione della trasformazione dei dati dalla sorgente a uno stato utilizzabile per acquisire business intelligence. Tuttavia, con il diffondersi delle moderne tecnologie basate sul cloud, i sistemi ora sono in grado di garantire capacità di archiviazione ed elaborazione prima impensabili, a costi più contenuti. Di conseguenza, conviene conservare i dati in un enorme bacino in continua espansione e disporre di capacità di elaborazione inesauribili per la gestione dei dati estratti.
Per certi aspetti, il metodo ELT è considerato un approccio alla gestione dei dati preferibile, in quanto tutti i dati grezzi possono essere conservati fino a quando non sono pronti per essere utilizzati. In questo modo, diventa più facile concentrarsi esclusivamente sull'estrazione e il caricamento dei dati. Tuttavia, è importante non dimenticare la fase di trasformazione, che può offrire numerosi vantaggi, quali:
- Preparazione dei dati per l'apprendimento automatico, in grado di migliorare sensibilmente la precisione degli algoritmi
- Pulizia dei dati per una qualità dei dati migliore
- Deduplicazione e corrispondenza dei dati
- Standardizzazione dei valori dei dati
Anche in un mondo incentrato sui data lake, la fase di trasformazione è essenziale per poter estrarre tutto il valore dai dati aziendali.
Strumenti ETL e procedure di codifica manuale
Molti professionisti IT si chiedono se la codifica manuale non sia preferibile rispetto all'investimento in un ulteriore strumento. La maggior parte delle funzioni di un processo ETL può essere portata a termine tramite codifica manuale, tuttavia, nel lungo termine, spesso risulta più scalabile ed economico affidarsi a uno strumento ETL.
La codifica manuale presenta una serie di problematiche. Gestire, supportare e riutilizzare il codice è complesso. Per uno sviluppatore può essere molto difficile apprendere il codice di un altro sviluppatore e ancora di più riutilizzarlo. Gli strumenti ETL consentono di creare una rappresentazione visiva del flusso di dati che risulta molto più semplice da comprendere. Con la codifica manuale, spesso gli sviluppatori finiscono col riscrivere il codice già predisposto da altri, in quanto è più semplice riscrivere nuovo codice rispetto a imparare il codice di un altro sviluppatore. Ecco perché con la codifica manuale i costi di manutenzione spesso raddoppiano. Lo stesso problema rende altrettanto improbabile il riutilizzo di codice esistente da parte di uno sviluppatore.
Inoltre, con gli strumenti di integrazione dei dati è possibile disporre di funzionalità avanzate, quali parallelizzazione, monitoraggio e failover, integrate. Per poter usufruire di tali funzioni con la codifica manuale, sarebbero necessari sviluppatori estremamente esperti in queste tecniche di codifica. Per ultima cosa, un metodo di integrazione dei dati basato sulla codifica personalizzata non garantirebbe al sistema scalabilità e capacità di innovazione, in quanto gli sviluppatori capaci di lavorare con integrazioni basate su codifica manuale sono molto pochi. I risparmi iniziali di cui è possibile godere rinunciando a uno strumento ETL vengono quindi presto annullati dal massiccio incremento dei costi di manutenzione.
ETL e passaggio al cloud
La compatibilità con le tecnologie cloud si è rivelata critica per numerose organizzazioni. Col progressivo passaggio al cloud, molte aziende hanno dovuto rivalutare i processi di integrazione dei dati e gli strumenti ETL esistenti, in quanto molti degli strumenti tradizionali non funzionano bene nel cloud. Non solo, la maggior parte delle aziende utilizza più di un ambiente cloud oppure decide di passare da un provider cloud (ad es. AWS, Azure o Google Cloud) a un altro.
Uno strumento ETL dovrebbe essere in grado di funzionare perfettamente in qualsiasi ambiente cloud e poter migrare facilmente quando le aziende decidono di cambiare provider. Non è auspicabile dover riscrivere le pipeline dei dati ogni volta che si cambia piattaforma cloud; al contrario, le pipeline dei dati dovrebbero essere facilmente trasferibili, in modo da poter liberamente passare da un ambiente cloud a un altro o cambiare tecnologie di archiviazione, sistemi di elaborazione dei dati e database nel cloud.
Che cosa cercare in uno strumento ETL
Gli strumenti ETL possono semplificare enormemente le procedure. Le caratteristiche da ricercare in un buono strumento ETL sono:
- Una grande quantità di connettori. Il mondo è pieno di sistemi e applicazioni diverse; maggiore è il numero di connettori integrati nello strumento ETL, più tempo riuscirà a risparmiare il team IT.
- Open-source. Le architetture open-source in genere garantiscono maggiore flessibilità, evitando all'azienda di doversi legare a un singolo fornitore.
- Portabilità. È importante, ora che le aziende si stanno sempre più orientando verso modelli cloud ibridi, essere in grado di creare una sola volta le integrazioni dei dati per poi eseguirle ovunque in base alle necessità.
- Semplicità d'uso. Gli strumenti ETL dovrebbero essere facili da imparare e da usare e presentare un'interfaccia utente grafica che semplifica la visualizzazione delle pipeline di dati.
- Modello di prezzi trasparente. Un buon provider di strumenti ETL non dovrebbe addebitare costi in caso di aumento del numero di connettori o dei volumi di dati.
- Compatibilità Cloud. Lo strumento ETL dovrebbe funzionare in modo nativo in ambienti single-Cloud, multi-Cloud o ibridi.
ETL e Talend: Talend Data Integration e Talend Open Source Data Integration a confronto
Talend offre efficaci strumenti per l'integrazione dei dati da utilizzare nei processi ETL. Scegliendo la piattaforma Talend per l'integrazione dei dati, è possibile portare a termine lavori di integrazione 10 volte più rapidamente rispetto a quanto sia possibile mediante codifica manuale e a un quinto dei costi rispetto alla concorrenza.
Il software di integrazione dei dati di Talend è disponibile in due versioni: Talend Open Source Data Integration e Talend Data Management Platform. Dai un'occhiata alla nostra scheda di confronto. Talend Open Source Data Integration è un prodotto efficace ed estremamente utile per molti casi d'uso; è uno strumento eccezionale che consente a un singolo sviluppatore di creare ed eseguire pipeline di dati.
Nel momento in cui le aziende allargano i loro team, incrementano la collaborazione, necessitano di un servizio di assistenza di classe enterprise e aspirano ad aumentare la produttività, possono passare alla versione commerciale. Talend Data Management Platform offre funzionalità aggiuntive di gestione e monitoraggio dei dati, presenta funzioni di qualità dei dati integrate e garantisce supporto via Web, email e telefono. Entrambe le versioni offrono funzionalità multi-cloud native, scalabilità per qualunque tipo di progetto e 900 connettori integrati.
Il processo ETL è fondamentale per poter sfruttare al meglio i dati all'interno di un'azienda. Con gli strumenti Talend è possibile eseguire processi ETL senza complicazioni. Prova Talend Open Source Data Integration e scopri quanti dati puoi mettere a frutto per la tua attività senza sacrificare velocità e produttività.