Home
topics
Extract, Load, Transform (ELT)
ELT, che sta per "estrai, carica, trasforma", è un altro tipo di processo di integrazione dei dati, simile alla sua controparte ETL, "estrai, trasforma, carica". Questo processo sposta i dati non elaborati da un sistema di origine a una risorsa di destinazione, ad esempio un data warehouse.
Sebbene sia simile all'ETL, l'ELT è un approccio fondamentalmente diverso alla pre-elaborazione dei dati, che è stato adottato solo di recente con la transizione agli ambienti cloud.
Utilizza questo framework di selezione del modello per scegliere il modello più appropriato bilanciando i requisiti di prestazioni con costi, rischi ed esigenze di implementazione.
L'ELT è costituito da tre fasi principali: estrazione, caricamento e trasformazione. Ciascuna di queste fasi è descritta di seguito.
Durante l'estrazione, i dati vengono copiati o esportati dalle posizioni di origine in un'area di staging. Il set di dati può essere costituito da molti tipi di dati e proviene praticamente da qualsiasi fonte strutturata o non strutturata, tra cui, a titolo esemplificativo ma non esaustivo:
Detto questo, solitamente è più utilizzato con i dati non strutturati.
In questa fase, i dati trasformati vengono spostati dall'area di staging a un'area di data storage, come un data warehouse o un data lake.
Per la maggior parte delle organizzazioni, il processo di caricamento dei dati è automatizzato, ben definito, continuo e basato su batch. In genere, l'ELT si svolge durante l'orario lavorativo, quando il traffico sui sistemi di origine e sul data warehouse è al massimo e i consumatori sono in attesa di utilizzare i dati per analisi o altro.
In questa fase viene utilizzato un approccio schema-on-write, che applica lo schema ai dati utilizzando SQL oppure trasforma i dati prima dell'analisi. Questa fase può comportare i seguenti punti:
Si potrebbe confondere l'ELT con il suo processo gemello, conosciuto con un acronimo quasi identico. Tuttavia, esistono differenze sostanziali tra ELT ed ETL, che sta per extract (estrazione), transform (trasformazione) e load (caricamento). Si tratta di un processo di integrazione dei dati che combina i dati provenienti da più origini dati in un unico storage dati coerente che viene caricato in un data warehouse o in un altro sistema di destinazione. Gli strumenti ETL tradizionali sono stati progettati per creare data warehousing a supporto di applicazioni di Business Intelligence (BI) e Intelligenza Artificiale (AI).
La differenza più ovvia è che il processo ELT esegue la funzione di caricamento prima della funzione di trasformazione, invertendo la seconda e la terza fase del processo ETL. L'ELT copia o esporta i dati dalle posizioni di origine, ma invece di spostarli in un'area di staging per la trasformazione, carica i dati non elaborati direttamente nello storage di dati di destinazione, dove possono essere trasformati in base alle esigenze. L'ELT non trasforma i dati in transito.
Tuttavia, l'ordine dei passaggi non è l'unica differenza. Nell'ELT, lo storage di dati di destinazione può essere un data warehouse, ma più spesso si tratta di un data lake, che è un grande archivio centrale progettato per contenere dati strutturati e non strutturati su larga scala.
I data lake vengono gestiti tramite una piattaforma big data (come Apache Hadoop) o un sistema di gestione dati NoSQL distribuito. Possono supportare la business intelligence, ma più spesso sono creati per supportare l'intelligenza artificiale, il machine learning, l'analisi predittiva e le applicazioni basate su dati in tempo reale e flussi di eventi.
Ci sono anche altre differenze tra ETL e ELT. Ad esempio, poiché trasforma i dati prima di spostarli nel repository centrale, ETL può semplificare o rendere più sistematica la conformità alla privacy dei dati rispetto a ELT (ad esempio, se gli analisti non trasformano i dati sensibili prima di doverli utilizzare, questi potrebbero rimanere inosservati nel data lake). Tuttavia, i data scientist potrebbero preferire l'ELT, che consente loro di eseguire prove in una "sandbox" di dati non elaborati e di eseguire la propria trasformazione dei dati su misura per applicazioni specifiche. Tuttavia, nella maggior parte dei casi, la scelta tra ETL ed ELT dipenderà dalle risorse aziendali disponibili e dalle esigenze.
L'ELT offre diversi vantaggi per gli utenti che integrano il processo nei propri workflow. Esaminiamo alcuni dei vantaggi più significativi:
Quando vengono generate grandi quantità di dati in streaming, l'ELT consente il caricamento immediato dei dati e li trasforma una volta raggiunta la destinazione. In questo modo si evita qualsiasi rallentamento che può verificarsi spesso se la trasformazione avviene prima della funzione Carica, ad esempio in ETL. Spesso è necessario prendere decisioni in relazione a questi dati e i ritardi sono inaccettabili. Un esempio di questo è il mercato azionario, che genera grandi quantità di dati utilizzati in tempo reale. In scenari come questo, l'ELT è la soluzione prediletta perché la trasformazione avviene dopo che i dati hanno raggiunto la destinazione.
Poiché i dati vengono trasformati quando arrivano a destinazione, l'ELT consente al destinatario dei dati di controllarne la manipolazione. Con l'ELT, il disaccoppiamento delle fasi di trasformazione e caricamento garantisce che un errore di codifica o un altro errore nella fase di trasformazione non influisca su un'altra fase.
L'ELT utilizza la potenza e le dimensioni del data warehouse per consentire la trasformazione, o elaborazione scalabile, su larga scala. Il data warehouse di destinazione può aumentare o diminuire i nodi in base alle esigenze, in particolare in uno scenario cloud in cui sono presenti più nodi all'interno di ciascun cluster e più cluster possono essere utilizzati. Ciò consente flessibilità e scalabilità on-demand.
L'ELT richiede un server meno potente per la trasformazione dei dati e sfrutta le risorse già presenti nel magazzino. Ciò si traduce in risparmi sui costi ed efficienza delle risorse.
L'ELT consente l'uso dell'archivio di destinazione preferito, per garantire la flessibilità dei costi e delle risorse. I data warehouse utilizzano l'architettura MPP (Massively Parallel Processing), che include l'archiviazione basata su memoria a colonne di volumi di dati. Sono supportati anche i processi di data lake che applicano uno schema, o modello di trasformazione, non appena i dati vengono ricevuti (anche definito "schema-on-read"). Questi processi efficienti garantiscono flessibilità per grandi quantità di dati.
Il funzionamento continuo è ideale per qualsiasi ambiente che richieda un accesso rapido ai dati. L'ELT è adatto per i dati utilizzati all'interno di ambienti cloud che spesso includono applicazioni a cui si accede continuamente su richiesta. Allo stesso modo, la trasformazione ELT cloud-native garantisce la suddetta scalabilità e flessibilità.
Un'organizzazione può scegliere di passare da un'architettura ETL a un'architettura ELT. Il motivo della transizione potrebbe essere un cambiamento nell'uso di un prodotto o servizio, tale da richiedere una risposta e un'interazione in tempo reale, oppure una crescita esponenziale della quantità di dati, per cui la trasformazione ritarda la fase di caricamento a causa delle richieste di elaborazione di volumi elevati sull'infrastruttura. Un'organizzazione può anche scegliere di passare da ETL a ELT se è passata al cloud e desidera ridurre il carico di elaborazione o utilizzare prima i dati nella posizione di destinazione.
In uno scenario di transizione, è realistico aspettarsi di incontrare delle sfide. Innanzitutto, in ELT vengono utilizzati logiche e codici completamente diversi rispetto all'ETL. Questo potrebbe richiedere una riconfigurazione completa e, eventualmente, una nuova infrastruttura o un nuovo fornitore con infrastruttura nel cloud. Inoltre, con l'ELT, i dati non elaborati vengono inviati al warehouse di destinazione. Pertanto, la sicurezza è un aspetto da tenere in considerazione e deve essere implementata per proteggere i dati.
L'ELT non è una tecnologia nuova. In precedenza, venivano utilizzate tabelle di staging per spostare i dati in un warehouse per l'elaborazione e la trasformazione, spesso utilizzando script SQL. Gli script SQL sono codificati in modo rigido e pertanto soggetti a potenziali errori di codifica. Con l'uso di SQL, i clienti dovevano scegliere tra l'esecuzione nativa del warehouse utilizzando script SQL e la programmazione dichiarativa, nota anche come authoring dichiarativo. L'authoring dichiarativo offre i vantaggi degli ambienti di data warehouse più moderni basati sul cloud attraverso la creazione di codice che descrive cosa deve realizzare il programma, piuttosto che il modo in cui lo realizzerà. Questo processo impedisce gli errori di codifica insiti in altri processi, in particolare quando la trasformazione avviene prima della funzione Load.
L'ELT viene solitamente utilizzato in ambienti con grandi volumi di dati o in tempo reale. Esempi specifici sono:
IBM Cloud Pak for Data è una piattaforma dati aperta ed estensibile che fornisce un data fabric per rendere tutti i dati disponibili per l'AI e gli analytics su qualsiasi cloud.
L'AI sta sbloccando il valore dei dati in nuovi modi. Organizza i tuoi dati per prepararli a un mondo AI e multicloud con le soluzioni DataOps.
L'integrazione dei dati consente di trasformare i dati strutturati e non strutturati e di distribuirli a qualsiasi sistema su una piattaforma di big data scalabile.