AI 101
Cos'è l'ETL? (Estrai, trasforma, carica) Metodologia e casi d'uso

ETL sta per “estrai, trasforma, carica”. È un processo che integra i dati provenienti da diverse fonti in un unico repository in modo che possano essere elaborati e quindi analizzati in modo da poterne dedurre informazioni utili. Queste informazioni utili sono ciò che aiuta le aziende a prendere decisioni basate sui dati e a crescere.
"I dati sono il nuovo petrolio".
Clive Humby, matematico
La creazione globale di dati è aumentata in modo esponenziale, tanto che, secondo Forbes, al ritmo attuale, gli esseri umani raddoppiano la creazione di dati ogni due anni. Di conseguenza, il moderno stack di dati si è evoluto. I data mart sono stati convertiti in data warehouse e, quando ciò non è bastato, sono stati creati data lake. Sebbene in tutte queste diverse infrastrutture, un processo è rimasto lo stesso, il processo ETL.
In questo articolo esamineremo la metodologia dell'ETL, i suoi casi d'uso, i suoi vantaggi e il modo in cui questo processo ha contribuito a formare il panorama dei dati moderni.
Metodologia dell'ETL
ETL consente di integrare dati provenienti da diverse fonti in un unico luogo in modo che possano essere elaborati, analizzati e quindi condivisi con le parti interessate delle aziende. Garantisce l'integrità dei dati da utilizzare per reporting, analisi e previsione con modelli di machine learning. È un processo in tre fasi che estrae i dati da più fonti, li trasforma e quindi li carica in strumenti di business intelligence. Questi strumenti di business intelligence vengono quindi utilizzati dalle aziende per prendere decisioni basate sui dati.
La fase di estrazione
In questa fase, i dati vengono estratti da più fonti utilizzando query SQL, codici Python, DBMS (sistemi di gestione del database) o strumenti ETL. Le fonti più comuni sono:
- Software CRM (gestione delle relazioni con i clienti).
- Strumento di analisi
- Data warehouse
- Banca Dati
- Piattaforme di archiviazione cloud
- Strumenti di vendita e marketing
- App mobile
Queste fonti sono strutturate o non strutturate, motivo per cui il formato dei dati non è uniforme in questa fase.
La fase di trasformazione
Nella fase di trasformazione, i dati grezzi estratti vengono trasformati e compilati in un formato adatto al sistema di destinazione. Per questo, i dati grezzi subiscono alcuni sottoprocessi di trasformazione, come:
- Pulizia: vengono gestiti i dati incoerenti e mancanti.
- Standardizzazione: la formattazione uniforme viene applicata ovunque.
- Rimozione duplicazione: i dati ridondanti vengono rimossi.
- Individuazione dei valori anomali: i valori anomali vengono individuati e normalizzati.
- Ordinamento: i dati sono organizzati in modo da aumentare l'efficienza.
Oltre alla riformattazione dei dati, ci sono anche altri motivi per la necessità di trasformazione dei dati. I valori nulli, se presenti nei dati, devono essere rimossi; oltre a ciò, nei dati sono spesso presenti valori anomali che influiscono negativamente sull'analisi; dovrebbero essere affrontati nella fase di trasformazione. Spesso ci imbattiamo in dati ridondanti che non apportano alcun valore all'azienda; tali dati vengono rilasciati nella fase di trasformazione per risparmiare lo spazio di archiviazione del sistema. Questi sono i problemi che si risolvono nella fase di trasformazione.
La fase di carico
Una volta estratti e adattati ai processi di trasformazione, i dati grezzi vengono caricati nel sistema di destinazione, che di solito è un data warehouse o un data lake. Esistono due modi diversi per eseguire la fase di carico.
- Caricamento completo: tutti i dati vengono caricati contemporaneamente per la prima volta nel sistema di destinazione. È tecnicamente meno complesso ma richiede più tempo. È ideale nel caso in cui la dimensione dei dati non sia troppo grande.
- Caricamento incrementale: Il caricamento incrementale, come suggerisce il nome, viene eseguito in incrementi. Ha due sottocategorie.
- Caricamento incrementale del flusso: i dati vengono caricati a intervalli, in genere ogni giorno. Questo tipo di caricamento è ottimale quando i dati sono in piccole quantità.
- Caricamento incrementale batch: nel tipo batch di caricamento incrementale, i dati vengono caricati in batch con un intervallo tra due batch. È ideale per quando i dati sono troppo grandi. È veloce ma tecnicamente più complesso.
Tipi di strumenti ETL
L'ETL viene eseguito in due modi, ETL manuale o ETL senza codice. Nell'ETL manuale, c'è poca o nessuna automazione. Tutto è codificato da un team che coinvolge data scientist, data analyst e data engineer. Tutte le pipeline di estrazione, trasformazione e caricamento sono progettate manualmente per tutti i set di dati. Tutto ciò causa un'enorme produttività e perdita di risorse.
L'alternativa è ETL senza codice; questi strumenti di solito contengono funzioni di trascinamento della selezione. Questi strumenti eliminano completamente la necessità di codifica, consentendo così anche ai lavoratori non tecnici di eseguire ETL. Per il design interattivo e l'approccio inclusivo, la maggior parte delle aziende utilizza Informatica, Integrate.io, IBM Storage, Hadoop, Azure, Google Cloud Dataflow e Oracle Data Integrator per le proprie operazioni ETL.
Esistono quattro tipi di strumenti ETL senza codice nel settore dei dati.
- Strumenti ETL commerciali
- Strumenti ETL open source
- Strumenti ETL personalizzati
- Strumenti ETL basati su cloud
Best practice per ETL
Ci sono alcune pratiche e protocolli che dovrebbero essere seguiti per garantire una pipeline ETL ottimizzata. Le migliori pratiche sono discusse di seguito:
- Comprensione del contesto dei dati: il modo in cui i dati vengono raccolti e il significato delle metriche devono essere compresi correttamente. Aiuterebbe a identificare quali attributi sono ridondanti e dovrebbero essere rimossi.
- Punti di controllo del ripristino: nel caso in cui la pipeline sia interrotta e si verifichi una perdita di dati, è necessario disporre di protocolli per recuperare i dati trapelati.
- Registro ETL: è necessario mantenere un registro ETL che contenga una registrazione di ogni singolo processo eseguito con i dati prima, durante e dopo un ciclo ETL.
- Controllo: mantenere un controllo sui dati dopo un intervallo solo per assicurarsi che i dati siano nello stato desiderato.
- Piccole dimensioni dei dati: le dimensioni dei database e delle relative tabelle dovrebbero essere mantenute ridotte in modo tale che i dati siano distribuiti più orizzontalmente che verticalmente. Questa pratica garantisce un aumento della velocità di elaborazione e, per estensione, accelera il processo ETL.
- Creazione di un livello di cache: il livello di cache è un livello di archiviazione dei dati ad alta velocità che memorizza i dati utilizzati di recente su un disco dove è possibile accedervi rapidamente. Questa pratica consente di risparmiare tempo quando i dati memorizzati nella cache sono quelli richiesti dal sistema.
- Elaborazione parallela: trattare l'ETL come un processo seriale consuma una grossa fetta del tempo e delle risorse dell'azienda, il che rende l'intero processo estremamente inefficiente. La soluzione è eseguire l'elaborazione parallela e più integrazioni ETL contemporaneamente.
Casi d'uso ETL
ETL rende le operazioni fluide ed efficienti per le aziende in diversi modi, ma qui discuteremo i tre casi d'uso più popolari.
Caricamento su cloud:
L'archiviazione dei dati in locale è un'opzione costosa che costringe le aziende a spendere risorse per l'acquisto, la conservazione, l'esecuzione e la manutenzione dei server. Per evitare tutto questo fastidio, le aziende possono caricare direttamente i dati sul cloud. Ciò consente di risparmiare risorse e tempo preziosi, che possono essere successivamente investiti per migliorare altri aspetti del processo ETL.
Unione di dati da fonti diverse:
I dati sono spesso sparsi su diversi sistemi in un'organizzazione. L'unione di dati provenienti da diverse fonti in un unico posto in modo che possano essere elaborati e quindi analizzati per essere successivamente condivisi con le parti interessate, viene eseguita utilizzando il processo ETL. ETL si assicura che i dati provenienti da fonti diverse siano formattati in modo uniforme mentre l'integrità dei dati rimane intatta.
Modellazione predittiva:
Il processo decisionale basato sui dati è la pietra angolare di una strategia aziendale di successo. ETL aiuta le aziende estraendo i dati, trasformandoli e quindi caricandoli in database collegati a modelli di machine learning. Questi modelli di machine learning analizzano i dati dopo che sono stati sottoposti a un processo ETL e quindi effettuano previsioni basate su tali dati.
Futuro dell'ETL nel panorama dei dati
ETL svolge certamente il ruolo di spina dorsale per l'architettura dei dati; se rimarrà tale o meno è ancora da vedere perché, con l'introduzione di Zero ETL nel settore tecnologico, sono imminenti grandi cambiamenti. Con Zero ETL, non ci sarebbe bisogno dei tradizionali processi di estrazione, trasformazione e caricamento, ma i dati verrebbero trasferiti direttamente al sistema di destinazione quasi in tempo reale.
Ci sono numerose tendenze emergenti nell'ecosistema dei dati. Guardare unire.ai per ampliare le tue conoscenze sulle tendenze tecnologiche.