Fondamenti di IA
Cos’è ETL? (Estrazione, Trasformazione, Caricamento) Metodologia e casi d’uso
ETL è l’acronimo di “estrazione, trasformazione, caricamento”. È un processo che integra dati da diverse fonti in un unico repository in modo che possano essere elaborati e analizzati per inferire informazioni utili. Queste informazioni utili aiutano le aziende a prendere decisioni basate sui dati e a crescere.
“I dati sono il nuovo petrolio.”
Clive Humby, Matematico
La creazione di dati a livello globale è aumentata esponenzialmente, tanto che, secondo Forbes, al ritmo attuale, gli esseri umani stanno raddoppiando la creazione di dati ogni due anni. Di conseguenza, lo stack di dati moderno è evoluto. I data mart sono stati convertiti in data warehouse e, quando ciò non è stato sufficiente, sono stati creati data lake. Tuttavia, in tutte queste diverse infrastrutture, un processo è rimasto lo stesso, il processo ETL.
In questo articolo, esamineremo la metodologia di ETL, i suoi casi d’uso, i suoi vantaggi e come questo processo ha contribuito a formare il moderno paesaggio dei dati.
Metodologia di ETL
ETL rende possibile integrare dati da diverse fonti in un unico luogo in modo che possano essere elaborati, analizzati e condivisi con gli stakeholder delle aziende. Garantisce l’integrità dei dati che devono essere utilizzati per la creazione di report, l’analisi e la previsione con modelli di apprendimento automatico. È un processo in tre fasi che estrae dati da più fonti, li trasforma e li carica in strumenti di business intelligence. Questi strumenti di business intelligence vengono quindi utilizzati dalle aziende per prendere decisioni basate sui dati.
Fase di estrazione
In questa fase, i dati vengono estratti da più fonti utilizzando query SQL, codici Python, DBMS (sistemi di gestione dei database) o strumenti ETL. Le fonti più comuni sono:
- Software di gestione delle relazioni con i clienti (CRM)
- Strumenti di analisi
- Data warehouse
- Database
- Piattaforme di archiviazione cloud
- Strumenti di vendita e marketing
- App mobili
Queste fonti sono sia strutturate che non strutturate, il che significa che il formato dei dati non è uniforme in questa fase.
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 ad esempio:
- Pulizia: i dati inconsistenti e mancanti vengono gestiti.
- Standardizzazione: viene applicato un formato uniforme in tutto.
- Rimozione delle duplicazioni: i dati ridondanti vengono rimossi.
- Rilevamento degli outlier: gli outlier vengono rilevati e normalizzati.
- Ordinamento: i dati vengono organizzati in modo da aumentare l’efficienza.
Oltre a riformattare i dati, ci sono altri motivi per cui è necessaria la trasformazione dei dati. I valori nulli, se presenti nei dati, devono essere rimossi; inoltre, ci sono spesso outlier presenti nei dati che influiscono negativamente sull’analisi; essi devono essere gestiti nella fase di trasformazione. Spesso ci si trova di fronte a dati ridondanti che non aggiungono valore all’azienda; tali dati vengono eliminati nella fase di trasformazione per risparmiare spazio di archiviazione del sistema. Questi sono i problemi che vengono risolti nella fase di trasformazione.
Fase di caricamento
Una volta che i dati grezzi vengono estratti e adattati con i processi di trasformazione, vengono caricati nel sistema di destinazione, che di solito è un data warehouse o un data lake. Ci sono due modi diversi per eseguire la fase di caricamento.
- Caricamento completo: tutti i dati vengono caricati una volta per tutte nel sistema di destinazione. È tecnicamente meno complesso, ma richiede più tempo. È ideale quando le dimensioni dei dati non sono troppo grandi.
- Caricamento incrementale: il caricamento incrementale, come suggerisce il nome, viene eseguito in incrementi. Ha due sottocategorie.
- Caricamento incrementale a flusso: i dati vengono caricati a intervalli, di solito giornalmente. Questo tipo di caricamento è il migliore quando i dati sono in piccole quantità.
- Caricamento incrementale a batch: nel tipo di caricamento incrementale a batch, i dati vengono caricati in batch con un intervallo tra due batch. È ideale quando i dati sono troppo grandi. È veloce, ma tecnicamente più complesso.
Tipi di strumenti ETL
ETL viene eseguito in due modi, ETL manuale o ETL senza codice. Nell’ETL manuale, c’è poca o nessuna automazione. Tutto viene codificato da un team che include il data scientist, il data analyst e il data engineer. Tutte le pipeline di estrazione, trasformazione e caricamento vengono progettate per tutti i set di dati manualmente. Ciò comporta enormi perdite di produttività e risorse.
L’alternativa è l’ETL senza codice; questi strumenti di solito hanno funzioni di trascinamento e rilascio. Questi strumenti rimuovono completamente la necessità di codifica, consentendo anche ai lavoratori non tecnici di eseguire l’ETL. Per il loro design interattivo e l’approccio inclusivo, la maggior parte delle aziende utilizza Informatica, Integrate.io, IBM Storage, Hadoop, Azure, Google Cloud Dataflow e Oracle (ORCL ) Data Integrator per le loro 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
Migliori pratiche per ETL
Ci sono alcune pratiche e protocolli che devono essere seguiti per garantire una pipeline ETL ottimizzata. Le migliori pratiche sono discusse di seguito:
- Comprensione del contesto dei dati: come vengono raccolti i dati e cosa significano le metriche deve essere compreso correttamente. Ciò aiuterebbe a identificare quali attributi sono ridondanti e devono essere rimossi.
- Punti di controllo per il recupero: in caso di interruzione della pipeline e perdita di dati, è necessario avere protocolli in atto per recuperare i dati persi.
- Registro ETL: deve essere mantenuto un registro ETL che abbia un record di ogni processo eseguito con i dati prima, durante e dopo un ciclo ETL.
- Audit: tenere d’occhio i dati a intervalli regolari solo per assicurarsi che i dati siano nello stato desiderato.
- Dimensioni dei dati ridotte: le dimensioni dei database e delle tabelle devono essere mantenute piccole in modo che i dati siano distribuiti più orizzontalmente che verticalmente. Questa pratica garantisce un aumento della velocità di elaborazione e, di conseguenza, accelera il processo ETL.
- Creazione di uno strato di cache: lo strato di cache è uno strato di archiviazione dei dati ad alta velocità che memorizza i dati recentemente utilizzati su un disco dove possono essere accessi rapidamente. Questa pratica aiuta a risparmiare tempo quando i dati memorizzati nella cache sono quelli richiesti dal sistema.
- Elaborazione parallela: trattare l’ETL come un processo seriale consuma una grande quantità di tempo e 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 di ETL
ETL rende le operazioni lisce e efficienti per le aziende in diversi modi, ma discuteremo qui i tre casi d’uso più popolari.
Caricamento su cloud:
Archiviare i dati localmente è un’opzione costosa che fa sì che le aziende spendano risorse per l’acquisto, la manutenzione e l’esecuzione dei server. Per evitare tutto questo problema, le aziende possono caricare direttamente i dati sul cloud. Ciò salva risorse e tempo preziosi, che possono essere investiti per migliorare altri aspetti del processo ETL.
Unione dei dati da diverse fonti:
I dati sono spesso sparsi tra diversi sistemi all’interno di un’organizzazione. Unire i dati da diverse fonti in un unico luogo in modo che possano essere elaborati e analizzati per essere condivisi in seguito con gli stakeholder, viene eseguito utilizzando il processo ETL. ETL garantisce che i dati da diverse fonti siano formattati in modo uniforme mentre l’integrità dei dati rimane intatta.
Modellazione predittiva:
La presa di decisioni basata sui dati è il fondamento di una strategia aziendale di successo. ETL aiuta le aziende estraendo i dati, trasformandoli e caricandoli in database collegati a modelli di apprendimento automatico. Questi modelli di apprendimento automatico analizzano i dati dopo che sono stati sottoposti a un processo ETL e quindi effettuano previsioni basate su quei dati.
Futuro di ETL nel paesaggio dei dati
ETL svolge sicuramente il ruolo di colonna vertebrale per l’architettura dei dati; se rimarrà tale o no è ancora da vedere, poiché, con l’introduzione di Zero ETL nel settore tecnologico, sono imminenti grandi cambiamenti. Con Zero ETL, non ci sarà più bisogno dei tradizionali processi di estrazione, trasformazione e caricamento, ma i dati verranno trasferiti direttamente nel sistema di destinazione in quasi tempo reale.
Esistono numerose tendenze emergenti nel settore dei dati. Visita unite.ai per ampliare le tue conoscenze sulle tendenze tecnologiche.












