ELT, acronimo di "Extract, Load, Transform", ossia "estrai, carica e trasforma", è un altro tipo di processo di integrazione dei dati, simile alla sua controparte ETL (acronimo di Extract, Transform, Load, ossia "estrai, trasforma e carica"). Questo processo sposta i dati non elaborati da un sistema di origine a una risorsa di destinazione, come un data warehouse. Sebbene simile a ETL, ELT è un approccio fondamentalmente differente alla pre-elaborazione dei dati che solo di recente ha visto crescere la sua adozione con la transizione agli ambienti cloud.
ELT è composto da tre fasi principali: Extract (estrai), Load (carica) e Transform (trasforma). Ciascuna di tali fasi è descritta dettagliatamente di seguito.
Durante l'estrazione dei dati, i dati vengono copiati o esportati dalle ubicazioni di origine in un'area di gestione temporanea. L'insieme di dati può essere composto da diversi tipi di dati e provenire praticamente da qualsiasi risorsa strutturata o non strutturata, inclusi, a titolo esemplificativo ma non esaustivo:
Detto questo, è più tipicamente usato con dati non strutturati.
In questa fase, i dati trasformati vengono spostati dall'area di gestione temporanea ad un'area di storage dei dati, 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, ELT ha luogo durante l'orario di lavoro, quando il traffico sui sistemi di origine e sul data warehouse è al suo massimo e gli utenti sono in attesa di utilizzare i dati per l'analisi o in altri modi.
In questa fase, viene impiegato un approccio schema-on-write, che applica lo schema per i dati utilizzando SQL, o trasforma i dati, prima dell'analisi. Questa fase può comportare quanto segue:
È possibile confondere ELT con il suo processo gemello noto con un acronimo quasi identico. Tuttavia, esistono diverse differenze tra ELT ed ETL, acronimo di Extract, Transform, Load (estrai, trasforma e carica). È un processo di integrazione dei dati che combina di dati da più origini dati in un unico archivio dati coerente caricato in un data warehouse oppure in un altro sistema di destinazione. Gli strumenti ETL tradizionali sono stati progettati per creare data warehousing a supporto di applicazioni di BI (Business Intelligence) e AI.
La differenza ovvia è che il processo ELT esegue la funzione di caricamento prima della funzione di trasformazione, invertendo la seconda e terza fase del processo ETL. ELT copia o esporta i dati dalle ubicazioni di origine, ma invece di spostarli in un'area di gestione temporanea per la trasformazione, carica i dati non elaborati direttamente nell'archivio dati di destinazione, dove possono essere trasformati come necessario. ELT non trasforma i dati in transito.
Tuttavia, l'ordine delle fasi non è l'unica differenza. In ELT, l'archivio dati di destinazione può essere un data warehouse, ma più spesso è un data lake, un grande archivio centrale progettato per contenere dati strutturati e non strutturati su larga scala.
I data lake sono gestiti utilizzando una piattaforma di big data (come Apache Hadoop) o un sistema di gestione dei dati NoSQL distribuito. Possono supportare la Business Intelligence ma, più spesso, sono creati per supportare AI, machine learning, analytics predittiva e applicazioni basate su dati e flussi di eventi in tempo reale.
Tra ETL ed ELT esistono anche altre differenze. Ad esempio, poiché trasforma i dati prima di spostarli nel repository centrale, ETL può rendere più semplice, o più sistematica, la conformità alla privacy dei dati rispetto a ELT (ad esempio, se gli analisti non trasformano i dati sensibili prima che sia necessario utilizzarli, questi potrebbero rimanere non mascherati nel data lake). Tuttavia, i data scientist potrebbero preferire ELT, che consente di utilizzare una "sandbox" di dati non elaborati e di eseguire la trasformazione dei dati in modo personalizzato per applicazioni specifiche. Ma, nella maggior parte dei casi, la scelta tra ETL ed ELT dipende dalla scelta tra le risorse aziendali disponibili e le esigenze.
ELT offre diversi vantaggi per gli utenti che integrano il processo nei propri flussi di lavoro. Ecco alcuni dei vantaggi significativi:
Quando viene generata una grande quantità di dati in streaming, ELT consente di caricare tali dati immediatamente e li trasforma una volta giunti a destinazione. Questo impedisce qualsiasi rallentamento che può spesso verificarsi se la trasformazione avviene prima della funzione di caricamento, come in ETL. Spesso, è necessario prendere decisioni in relazione a tali dati e i ritardi sono inaccettabili. Un esempio è dato dal mercato azionario, che genera grandi quantità di dati che vengono utilizzati in tempo reale. In scenari simili, ELT è la soluzione più adatta, perché la trasformazione viene effettuata dopo che i dati hanno raggiunto la propria destinazione.
Poiché i dati vengono trasformati una volta raggiunta la propria destinazione, ELT consente al destinatario dei dati di controllare la manipolazione dei dati. Con ELT, la separazione delle fasi di trasformazione e caricamento garantisce che un errore di codifica o altri tipi di errore nella fase di trasformazione non influiscano su un'altra fase.
ELT utilizza la potenza e la dimensione del data warehouse per abilitare la trasformazione, o calcolo scalabile, su larga scala. Il data warehouse di destinazione può aumentare o ridurre i nodi come necessario, in particolare in uno scenario cloud in cui sono presenti molti nodi all'interno di ciascun cluster e più cluster che possono essere utilizzati. Questo consente flessibilità e scalabilità on-demand.
ELT richiede un server meno potente per la trasformazione dei dati e sfrutta le risorse già presenti nel warehouse. Questo si traduce in risparmi sui costi ed efficienza delle risorse.
ELT consente di utilizzare il repository di destinazione desiderato, per la flessibilità di costi e risorse. I data warehouse utilizzano l'architettura MPP (Massively Parallel Processing), incluso lo storage colonnare basato sulla memoria dei 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 (chiamato anche " schema-on-read"). Questi processi efficienti offrono flessibilità per grandi quantità di dati.
L'esecuzione continua è ideale per qualsiasi ambiente che richieda un rapido accesso ai dati. ELT è adatto per i dati utilizzati all'interno di ambienti cloud che spesso includeranno applicazioni a cui si accede continuamente on-demand. Allo stesso modo, la trasformazione ELT nativa del cloud offre la scalabilità e flessibilità sopra menzionate.
Un'organizzazione può scegliere di passare da un'architettura ETL ad un'architettura ELT. Il motivo della transizione potrebbe essere una variazione nell'uso del proprio prodotto o servizio tale da richiedere interazioni e risposte in tempo reale o la crescita esponenziale della quantità di dati, per cui la trasformazione ritarda la fase di caricamento a causa delle esigenze di elaborazione ad alto volume sull'infrastruttura. Un'organizzazione può scegliere di passare da ETL a ELT se è passata al cloud e desidera delegare l'elaborazione o utilizzare più rapidamente i dati nell'ubicazione di destinazione.
In uno scenario di transizione, è realistico prevedere di affrontare delle sfide. Innanzitutto, in ELT ed ETL vengono utilizzati codice e logica completamente differenti. Questo potrebbe richiedere una completa riconfigurazione ed eventualmente una nuova infrastruttura o un nuovo provider con l'infrastruttura nel cloud. Inoltre, con ELT, i dati non elaborati vengono inviati al warehouse di destinazione. Pertanto, la sicurezza è una considerazione e deve essere implementata per tenere i dati al sicuro.
ELT non è una nuova tecnologia. Le tabelle di gestione temporanea venivano precedentemente utilizzate per spostare i dati in un warehouse per l'elaborazione e la trasformazione, spesso utilizzando script SQL. Gli script SQL sono codificati in modo fisso e quindi sono 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 creazione dichiarativa. La creazione dichiarativa offre i vantaggi di ambienti data warehouse più moderni basati su cloud attraverso la creazione di codice che descrive gli obiettivi che il programma deve raggiungere piuttosto che il modo in cui raggiungerli. Questo processo impedisce gli errori di codifica intrinseci in altri processi, in particolare quando la fase di trasformazione si verifica prima della funzione di caricamento.
ELT viene generalmente utilizzato negli ambienti di utilizzo di dati in tempo reale o ad alto volume. Alcuni esempi specifici sono:
IBM Cloud Pak for Data è una piattaforma di dati aperta ed estensibile che fornisce una struttura di dati per rendere tutti i dati disponibili per l'AI e l'analytics, su qualsiasi cloud.
L'AI sta sbloccando il valore dei dati in nuovi modi. Organizza i tuoi dati per renderli pronti per un mondo di AI e multicloud con le soluzioni DataOps.
L'integrazione dei dati ti consente di trasformare i dati strutturati e non strutturati e distribuirli a qualsiasi sistema su una piattaforma di big data scalabile.