Che cos'è ELT (Extract, Load e Transform)?

Nell'attuale panorama basato sui dati, le organizzazioni cercano continuamente modi più efficienti per gestire e analizzare grandi quantità di informazioni. ELT (Extract, Load, Transform) rappresenta un approccio moderno all'integrazione dei dati, particolarmente adatto per gli ambienti cloud. Comprendere ELT è fondamentale per chiunque si occupi di architettura, ingegneria o analisi dei dati, poiché può offrire vantaggi distinti in termini di velocità, flessibilità e scalabilità per la gestione di diversi set di dati. Questo approccio modifica il momento e il luogo in cui avviene la trasformazione dei dati, liberando nuove possibilità per il loro utilizzo.

Definizione di ELT

ELT sta per estrazione, caricamento e trasformazione (Extract, Load and Transform). È un modello di pipeline dei dati in cui i dati vengono prima estratti da vari sistemi di origine. Invece di essere trasformati in un'area di gestione temporanea separata, i dati non elaborati vengono caricati direttamente in un datastore di destinazione, ad esempio un data lake o un data warehouse su cloud. Le trasformazioni vengono applicate solo dopo il caricamento dei dati nel sistema di destinazione.

Questa sequenza differenzia ELT dal suo predecessore, ETL (Extract, Transform. Load, estrazione, trasformazione, caricamento) ed è un motivo chiave per la sua crescente adozione nelle architetture cloud-native.

Come funziona ELT?

Il flusso di processo ELT sfrutta la potenza e la scalabilità delle moderne piattaforme di archiviazione ed elaborazione dei dati. Analizziamo ogni componente:

  • Estrazione: questo passaggio iniziale prevede la raccolta dei dati non elaborati dalle origini originali. Queste origini possono essere incredibilmente diverse, ad esempio database (SQL e NoSQL), applicazioni aziendali (come CRM ed ERP), piattaforme SaaS, API e file di log. Il processo di estrazione si concentra sull'estrapolare i dati da questi sistemi in modo efficiente.
  • Caricamento: nel secondo passaggio, i dati non elaborati estratti vengono caricati, spesso nel loro formato originale o con un'elaborazione minima, direttamente in un sistema di archiviazione ad alta capacità. Gli obiettivi comuni per questi dati non elaborati sono i data lake cloud o i moderni data warehouse su cloud in grado di gestire grandi volumi di dati strutturati, semistrutturati e non strutturati.
  • Trasformazione: questo passaggio finale avviene dopo che i dati sono stati archiviati in modo sicuro nel sistema di destinazione. Utilizzando la potenza di calcolo del data warehouse o del data lake, i dati non elaborati vengono puliti, strutturati, arricchiti e convertiti in un formato adatto per analisi, reporting e machine learning. Le trasformazioni possono includere filtraggio, unione, aggregazione, standardizzazione dei formati e derivazione di nuovi punti dati.

Il processo ELT offre flessibilità perché le trasformazioni non vengono eseguite prima del caricamento. I data scientist, ad esempio, possono accedere ai dati non elaborati per esplorare pattern imprevisti o condurre analisi ad hoc, mentre i team di business intelligence possono creare set di dati selezionati e trasformati per i report.

Vantaggi di ELT

L'approccio ELT offre diversi potenziali vantaggi, in particolare negli ambienti che gestiscono grandi volumi di dati e diversi tipi di dati:

  • Importazione dei dati più rapida: il caricamento dei dati non elaborati nel sistema di destinazione è generalmente più rapido rispetto all'attesa del completamento delle trasformazioni in un'area di gestione temporanea. Ciò significa che i dati possono diventare disponibili per l'esplorazione iniziale o casi d'uso specifici molto prima.
  • Flessibilità e agilità: poiché i dati non elaborati vengono conservati nel sistema di destinazione, le trasformazioni possono essere sviluppate, modificate o aggiunte in modo iterativo man mano che i requisiti aziendali si evolvono. Non è necessario importare nuovamente i dati dagli stessi sistemi se cambia la logica di trasformazione: basta eseguire di nuovo la trasformazione sui dati non elaborati già caricati.
  • Scalabilità: i moderni data warehouse su cloud e data lake sono progettati per una scalabilità elevata. ELT sfrutta questa capacità intrinseca eseguendo le trasformazioni utilizzando i potenti motori di elaborazione di questi sistemi di destinazione. Ciò consente alle organizzazioni di gestire in modo efficiente i crescenti volumi di dati e le trasformazioni complesse.
  • Conservazione dei dati non elaborati: l'archiviazione dei dati non elaborati consente di avere un record storico più completo. Questo può essere di grande valore per il controllo dei dati, la rielaborazione se vengono rilevati errori nelle trasformazioni precedenti o per esigenze di analisi future non ancora previste. I data scientist spesso traggono vantaggio dall'accesso ai dati più granulari e non trasformati.
  • Efficienza in termini di costi per determinati carichi di lavoro: l'utilizzo della potenza di calcolo di un data warehouse su cloud per le trasformazioni a volte può essere più conveniente rispetto alla gestione di un'infrastruttura separata o alla concessione in licenza di strumenti ETL specializzati per le trasformazioni, soprattutto quando il data warehouse offre un'elaborazione ottimizzata.
  • Supporto per diversi tipi di dati: ELT può essere adatto per la gestione di dati strutturati, semistrutturati (come JSON o XML) e non strutturati (come testo o immagini). I dati possono essere caricati nel loro formato nativo e trasformati secondo necessità, il che può essere un vantaggio significativo negli scenari di big data. Questo approccio "schema-on-read", in cui la struttura viene applicata durante l'elaborazione anziché prima del caricamento, è un tratto distintivo di ELT.

Sfide di ELT

Sebbene ELT offra diversi vantaggi, può anche presentare alcune considerazioni che le organizzazioni dovrebbero cercare di affrontare:

  • Governance e sicurezza dei dati: il caricamento di dati non elaborati, che potrebbero contenere informazioni sensibili o che consentono l'identificazione personale (PII), in un data lake o in un data warehouse, richiede solide misure di governance, sicurezza e conformità dei dati. I controlli di accesso, la crittografia e le tecniche di mascheramento dei dati sono fondamentali per proteggere questi dati all'interno dell'ambiente di destinazione.
  • Complessità della trasformazione all'interno del sistema di destinazione: sebbene potente, la gestione di una logica di trasformazione complessa direttamente all'interno di un data warehouse (ad esempio, utilizzando SQL) o data lake può diventare impegnativa. Richiede personale qualificato esperto di questi strumenti e un approccio disciplinato alla gestione e all'ottimizzazione del codice.
  • Strumenti e orchestrazione: un'implementazione ELT efficace si basa su strumenti adeguati per l'orchestrazione delle fasi di estrazione e caricamento e per la gestione e l'esecuzione delle trasformazioni all'interno del sistema di destinazione. Sebbene molte piattaforme cloud offrano strumenti, la loro integrazione e la gestione del flusso di lavoro complessivo richiedono un'attenta pianificazione.
  • Potenziale rischio di "paludi di dati": se i dati non elaborati caricati in un data lake non vengono catalogati, gestiti e sottoposti a governance in modo adeguato, il data lake può trasformarsi in una "palude di dati" in cui è difficile trovare, verificare o utilizzare i dati in modo efficace. Una solida strategia di gestione dei dati è fondamentale.
  • Responsabilità per la qualità dei dati: poiché le trasformazioni avvengono più avanti nel processo, garantire la qualità dei dati potrebbe richiedere passaggi dedicati post-caricamento. Il monitoraggio e la convalida dei dati all'interno del sistema di destinazione diventano importanti.

Affrontare queste sfide in modo proattivo può aiutare le organizzazioni a sfruttare appieno i vantaggi del paradigma ELT.

ELT rispetto a ETL

Comprendere la distinzione tra ELT e il più tradizionale processo ETL (estrazione, trasformazione, caricamento) è importante per scegliere la giusta strategia di integrazione dei dati. La differenza principale sta nel momento in cui si verifica la fase di trasformazione e dove viene eseguita.

Funzionalità

ELT (Extract, Load, Transform), estrazione, caricamento, trasformazione)

Estrazione, trasformazione e caricamento (Extract, Transform, Load, ETL)

Ordine delle operazioni

Estrazione, caricamento e trasformazione

Estrazione, trasformazione e caricamento

Posizione di trasformazione

All'interno del datastore di destinazione (data warehouse/data lake)

In un'area di gestione temporanea separata o in un ambiente dello strumento ETL

Dati caricati nella destinazione

Dati non elaborati e non trasformati

Dati puliti, strutturati e trasformati

Potenza di elaborazione


Sfrutta la potenza del datastore di destinazione

Si basa su un motore ETL dedicato o su un server di gestione temporanea


Velocità di importazione dati


In genere caricamento più rapido dei dati iniziale

Può essere più lenta a causa dell'elaborazione della trasformazione in fase preliminare


Flessibilità per nuovi usi


Elevata, perché i dati non elaborati sono disponibili per la trasformazione

Più bassa, poiché le trasformazioni sono predefinite

Gestione degli schemi

Adatto per schema-on-read

Spesso si basa su schema-on-write

Idoneità del tipo di dati


Ottima per dati strutturati, semistrutturati e non strutturati

Ideale per dati strutturati e alcuni semistrutturati

Utilizzo delle risorse

Ottimizza l'utilizzo di data warehouse scalabili su cloud

Potrebbe richiedere un'infrastruttura separata per le trasformazioni


Funzionalità

ELT (Extract, Load, Transform), estrazione, caricamento, trasformazione)

Estrazione, trasformazione e caricamento (Extract, Transform, Load, ETL)

Ordine delle operazioni

Estrazione, caricamento e trasformazione

Estrazione, trasformazione e caricamento

Posizione di trasformazione

All'interno del datastore di destinazione (data warehouse/data lake)

In un'area di gestione temporanea separata o in un ambiente dello strumento ETL

Dati caricati nella destinazione

Dati non elaborati e non trasformati

Dati puliti, strutturati e trasformati

Potenza di elaborazione


Sfrutta la potenza del datastore di destinazione

Si basa su un motore ETL dedicato o su un server di gestione temporanea


Velocità di importazione dati


In genere caricamento più rapido dei dati iniziale

Può essere più lenta a causa dell'elaborazione della trasformazione in fase preliminare


Flessibilità per nuovi usi


Elevata, perché i dati non elaborati sono disponibili per la trasformazione

Più bassa, poiché le trasformazioni sono predefinite

Gestione degli schemi

Adatto per schema-on-read

Spesso si basa su schema-on-write

Idoneità del tipo di dati


Ottima per dati strutturati, semistrutturati e non strutturati

Ideale per dati strutturati e alcuni semistrutturati

Utilizzo delle risorse

Ottimizza l'utilizzo di data warehouse scalabili su cloud

Potrebbe richiedere un'infrastruttura separata per le trasformazioni


ELT è il modello consigliato da Google Cloud per l'integrazione dei dati. ELT prevede l'estrazione dei dati dagli ambienti di origine, il loro caricamento in BigQuery e la successiva trasformazione nel formato desiderato per l'analisi. A differenza dell'approccio ETL (Extract, Transform, Load), che prevede la trasformazione dei dati prima del loro caricamento in un data warehouse, l'approccio ELT consente di sfruttare tutta la potenza di BigQuery per eseguire le trasformazioni dei dati e consente a qualsiasi utente SQL di sviluppare in modo efficace pipeline di integrazione dei dati.

La scelta tra ELT ed ETL dipende spesso da casi d'uso specifici, dall'infrastruttura esistente, dai volumi di dati e dalle esigenze analitiche dell'organizzazione. In molte architetture dati moderne, può essere utilizzato anche un approccio ibrido, che utilizza sia ELT che ETL per parti diverse della pipeline.

Casi d'uso di ELT

Il modello ELT è particolarmente efficace in una serie di moderni scenari di dati:

Data warehouse su cloud

ELT è ideale per le piattaforme di dati cloud come BigQuery di Google Cloud, che offrono un'enorme potenza di elaborazione e scalabilità per gestire in modo efficiente le trasformazioni su grandi set di dati.

Analisi dei big data

Quando si ha a che fare con volumi enormi, alta velocità e ampia varietà di dati, ELT consente una rapida importazione in un data lake o in uno spazio di archiviazione scalabile. Le trasformazioni possono quindi essere applicate secondo necessità utilizzando framework di elaborazione distribuita.

Implementazione di data lake

I data lake sono progettati per archiviare grandi quantità di dati non elaborati nel loro formato nativo. I processi ELT caricano questi dati non elaborati, che possono essere trasformati e utilizzati da vari motori di analisi ed elaborazione.

Elaborazione dati in tempo reale o quasi

Per i casi d'uso che richiedono un accesso rapido a dati recenti, ELT può accelerare la fase di caricamento. Le trasformazioni per applicazioni o dashboard specifiche quasi in tempo reale possono essere eseguite su sottoinsiemi di questi dati.

Analisi esplorativa dei dati e data science

I data scientist spesso preferiscono accedere a dati non elaborati e non trasformati per eseguire il feature engineering, creare modelli di machine learning e scoprire insight senza essere vincolati da trasformazioni predefinite. ELT rende questi dati non elaborati immediatamente disponibili.

Consolidamento di origini dati diverse

Quando si integrano dati da numerosi sistemi diversi con strutture diverse, ELT semplifica l'importazione iniziale caricando prima tutto in un'unica posizione centrale e poi armonizzandoli tramite trasformazioni.

Risolvi le tue sfide aziendali con Google Cloud

I nuovi clienti ricevono 300 $ di crediti gratuiti da spendere su Google Cloud.

Come Google Cloud utilizza ELT

Google Cloud offre una suite completa di servizi che aiutano a ottimizzare le architetture ELT, consentendo alle organizzazioni di creare pipeline di dati robuste e scalabili. L'attenzione è rivolta all'utilizzo della potenza di servizi come BigQuery per le trasformazioni in-database.

Ecco come i servizi Google Cloud vengono in genere utilizzati nei modelli ELT:

  • Estrazione: i dati possono essere estratti da numerose origini utilizzando servizi come Dataflow per l'elaborazione dei dati in batch e in flussi, Dataproc per i carichi di lavoro Spark e Hadoop o direttamente tramite connettori e API nei servizi Google Cloud. Pub/Sub può essere utilizzato per importare flussi di dati in tempo reale.
  • Caricamento: i dati non elaborati estratti vengono generalmente caricati in Cloud Storage, che funge da data lake altamente scalabile e durevole. Da Cloud Storage, i dati possono essere caricati in modo efficiente in BigQuery, il data warehouse multi-cloud serverless, a scalabilità elevata e dai costi contenuti di Google Cloud. I dati possono anche essere inseriti direttamente in BigQuery.
  • Trasformazione: è qui che la "T" di ELT brilla su Google Cloud. BigQuery è progettato per eseguire trasformazioni complesse su scala di petabyte utilizzando SQL standard. Il suo potente motore di elaborazione gestisce unioni, aggregazioni, funzioni di finestra e altre trasformazioni direttamente sui dati memorizzati al suo interno. Gli utenti possono anche sviluppare funzioni definite dall'utente (UDF) in JavaScript o sfruttare BigQuery ML per il machine learning in database. I dati non elaborati spesso rimangono in Cloud Storage o in tabelle BigQuery separate, consentendo una ritrasformazione versatile.

L'infrastruttura di Google Cloud supporta i principi fondamentali di ELT fornendo spazio di archiviazione scalabile per i dati non elaborati, funzionalità di caricamento rapido e un potente motore all'interno di BigQuery per eseguire le trasformazioni in modo efficiente. Ciò consente ai data engineer di creare pipeline in cui i dati vengono rapidamente importati e poi perfezionati in base a specifici requisiti analitici, il tutto all'interno di un ambiente gestito e serverless.

Fai il prossimo passo

Inizia a creare su Google Cloud con 300 $ di crediti gratuiti e oltre 20 prodotti Always Free.

Google Cloud