Corso
Nelle aziende moderne cresce l'esigenza di ridurre al minimo il tempo necessario per ottenere insight dai dati. Serve un approccio rapido per accelerare il passaggio dalla raccolta dei dati all'analisi, all'intelligenza artificiale e all'implementazione del machine learning.
Le architetture ETL (extract, transform, load) tradizionali faticano a soddisfare le esigenze tecniche del big data e dell'analisi in tempo reale. Per questo è emersa una nuova architettura di gestione dei dati, chiamata zero-ETL, che mira a ridurre o eliminare la necessità di processi ETL.
Che cos'è lo Zero-ETL?
Lo Zero-ETL è un sistema di integrazioni progettato per eliminare o ridurre la necessità di creare pipeline ETL dei dati. Consentendo interrogazioni tra diversi silos di dati senza spostare fisicamente i dati, lo zero-ETL punta a snellire l'elaborazione e a migliorarne l'efficienza.
Il termine “zero-ETL” è stato introdotto durante la conferenza AWS re:Invent del 2022, quando è stata annunciata l'integrazione di Amazon Aurora con Amazon Redshift. Da allora, AWS ha sviluppato ulteriormente questo concetto, principalmente tramite servizi che supportano analisi e trasformazioni direttamente all'interno delle piattaforme dati, senza richiedere pipeline ETL separate.
In una tipica pipeline ETL, un professionista dei dati, come un data engineer o un data scientist, raccoglie dati da una sorgente, ad esempio un database, un'API, un file JSON o XML.
Dopo l'estrazione, si applicano varie trasformazioni, come combinare dati, eseguire calcoli, unire tabelle o rimuovere informazioni non necessarie come timestamp o ID utente.
Infine, i dati trasformati vengono caricati su una piattaforma per ulteriori analisi, come machine learning, analisi statistiche o visualizzazione dei dati. A causa della sua complessità, questo processo richiede tempi, costi e sforzi significativi.

Architettura ETL tradizionale
Considera questa analogia: nella fotografia tradizionale, si scatta una foto su pellicola negativa (estrazione dei dati), la si sviluppa in camera oscura (trasformazione) e poi la si stampa ed espone (caricamento). Ora immagina una fotocamera digitale in cui la foto viene catturata, elaborata e pronta per essere mostrata (o trasmessa in diretta) tutto nello stesso luogo.
Allo stesso modo, lo zero-ETL cambia l'elaborazione dei dati eliminando estrazione, trasformazione e caricamento. Questa architettura riduce al minimo lo spostamento dei dati e consente di trasformare e analizzare tutto all'interno di un'unica piattaforma.
Lo Zero-ETL promette analisi dei dati in tempo reale o con latenza minima per data scientist e stakeholder di business.
Come funziona lo Zero-ETL?
Lo Zero-ETL semplifica l'integrazione dei dati collegando direttamente le sorgenti ai data warehouse o data lake, garantendo la disponibilità dei dati in tempo reale per analisi e reportistica. Ciò è reso possibile da diverse tecnologie e servizi cloud, come:
Replica del database
La replica del database è il processo di copia e sincronizzazione dei dati da un database a un altro.
Nel contesto dello zero-ETL tra un database e un data warehouse, la replica assicura che i dati nel data warehouse si aggiornino automaticamente in tempo reale o quasi, eliminando la necessità di processi ETL separati. È il caso dell'integrazione tra Amazon Aurora e Amazon Redshift.
Query federate
Le query federate permettono di eseguire interrogazioni su più sorgenti dati, come database, data warehouse o data lake, senza dover spostare o replicare i dati in un'unica posizione.
In ambito zero-ETL, le query federate consentono ai professionisti dei dati di accedere e analizzare direttamente i dati archiviati in diverse piattaforme, offrendo una vista unificata senza l'onere dei processi ETL tradizionali.
Data streaming
Il data streaming è l'elaborazione e il trasferimento continuo, in tempo reale, dei dati man mano che vengono generati.
Nello zero-ETL, lo streaming prevede di catturare i dati da varie fonti (come database, dispositivi IoT o applicazioni) e recapitarli immediatamente a un data warehouse o data lake. Questo assicura che i dati siano disponibili quasi istantaneamente per analisi e interrogazioni, senza processi ETL a batch.
Analisi dei dati in-place
Per ottenere analisi in-place, le trasformazioni necessarie vengono integrate nella piattaforma dati cloud, come un data lake. Questa integrazione consente l'elaborazione e l'analisi in tempo reale direttamente dove i dati risiedono, riducendo la latenza e migliorando l'efficienza.
Per esempio, i dati non strutturati raccolti in formato JSON o XML verranno trasformati e analizzati con tecnologie “schema-on-read” all'interno del data lake stesso, eliminando i passaggi intermedi di spostamento verso archivi pronti per la reportistica.

Esempio di architettura dati Zero-ETL
Le diverse componenti dello Zero-ETL
Sebbene l'architettura zero-ETL possa sembrare priva di componenti o completamente unificata, diversi elementi e servizi possono essere utilizzati in base alle esigenze delle analisi e alle risorse disponibili. Questi servizi includono:
Servizi di integrazione diretta dei dati
I provider cloud offrono servizi specializzati che automatizzano l'integrazione zero-ETL. Come detto, AWS fornisce l'integrazione tra Amazon Aurora e Amazon Redshift, in cui i dati scritti su Aurora vengono replicati automaticamente su Redshift. Questi servizi gestiscono internamente replica e trasformazione, eliminando la necessità di processi ETL tradizionali.
Change Data Capture (CDC)
La tecnologia CDC è un elemento centrale delle architetture zero-ETL. Monitora e cattura in continuo le modifiche (insert, update, delete) nei database sorgente e le replica in tempo reale nei sistemi di destinazione.
Pipeline di streaming
Le pipeline di streaming spostano i dati in tempo reale da diverse fonti al sistema di destinazione. Piattaforme come Amazon Kinesis e Apache Kafka abilitano un flusso continuo di dati, garantendo aggiornamenti a bassa latenza.
Computing serverless
Le architetture serverless supportano lo zero-ETL gestendo automaticamente l'infrastruttura necessaria e scalando le risorse in base alla domanda. Servizi come AWS Lambda e Google Cloud Functions ne sono un esempio, consentendo di eseguire funzioni in risposta a eventi sui dati.
Tecnologie schema-on-read
Applicando lo schema in lettura anziché in scrittura, lo schema-on-read supporta la gestione flessibile di formati di dati non strutturati e semi-strutturati come JSON e XML. Questo approccio riduce la necessità di schemi predefiniti e consente analisi dinamiche.
Federazione e astrazione dei dati
Lo Zero-ETL facilita l'ingestione e la duplicazione dei dati da fonti diverse tramite la data federation. Ciò comporta l'uso di data lake e virtualizzazione dei dati cross-platform per creare un livello di oggetti astratti, semplificando la duplicazione senza richiedere trasformazioni estese e spostamenti di dati. La virtualizzazione dei dati consente di accedere e interrogare dati attraverso sistemi diversi come se fossero in un'unica posizione.
Data lake
In un approccio zero-ETL, trasformazioni e analisi vengono eseguite all'interno della piattaforma dati. Ciò consente di gestire dati non strutturati in vari formati (video, immagini, testo e numerici) in un sistema di archiviazione multi-formato, come un data lake, spesso senza necessità di trasformazioni intermedie.
Vantaggi e svantaggi dello Zero-ETL
Lo Zero-ETL può sembrare un approccio promettente per aumentare l'efficienza nella data science. Tuttavia, è importante confrontare vantaggi e svantaggi che un'implementazione zero-ETL può comportare.
Vantaggi dello zero-ETL
Lo Zero-ETL porta diversi benefici alla gestione e all'analisi dei dati, tra cui:
- Ingegneria semplificata: lo zero-ETL semplifica la data pipeline architecture integrando estrazione, trasformazione e caricamento in un unico processo o eliminandolo del tutto. Questa razionalizzazione riduce la complessità e accelera analisi dei dati e attività di machine learning, rendendo più facile per i data scientist ottenere insight rapidamente.
- Analisi in tempo reale: lo zero-ETL abilita l'analisi in tempo reale fondendo direttamente nella piattaforma dati le fasi di estrazione, trasformazione e caricamento. Quando arrivano nuovi dati, possono essere analizzati subito, permettendo decisioni più rapide e insight tempestivi.
Svantaggi dello zero-ETL
Nonostante i benefici, lo zero-ETL può presentare alcune sfide, tra cui:
- Risoluzione dei problemi complicata: identificare e risolvere i problemi può essere più complesso perché tutti i processi avvengono in un unico passaggio integrato. Isolare l'origine degli errori richiede una profonda comprensione dell'intero sistema.
- Curva di apprendimento più ripida: l'eliminazione delle pipeline ETL tradizionali potrebbe ridurre il bisogno di ruoli di data engineering intermedi. Questo cambiamento può comportare una curva di apprendimento più ripida per data scientist e machine learning engineer, che devono gestire attività prima affidate ai data engineer.
- Dipendenza dal cloud: le soluzioni zero-ETL sono in genere concepite per il cloud. Le organizzazioni non ancora pronte a integrare tecnologie cloud nei propri sistemi possono incontrare difficoltà nell'adozione. Questa dipendenza può sollevare dubbi su sicurezza dei dati, conformità e controllo.
Casi d'uso tipici dello Zero-ETL
Lo Zero-ETL offre vantaggi significativi in diversi scenari di elaborazione e analisi dei dati in tempo reale. Ecco alcuni casi d'uso tipici:
- Analisi in tempo reale: lo zero-ETL elimina l'ETL a batch tradizionale e abilita l'accesso in tempo reale ai nuovi dati generati, comprese le interazioni dei clienti, i comportamenti degli utenti e i pattern del traffico veicolare. Questa automazione consente ai team di prendere decisioni data-driven all'istante, migliorando reattività ed efficienza operativa.
- Trasferimento dati immediato: in un'architettura di gestione dati zero-ETL, eliminare la pipeline ETL significa che la duplicazione verso un altro warehouse, a cui i data scientist possono accedere, avviene molto più rapidamente o persino in tempo reale.
- Machine learning e IA: lo zero-ETL è particolarmente utile per applicazioni di machine learning e intelligenza artificiale, dove la tempestività dei dati è cruciale. Lo streaming in tempo reale e la disponibilità immediata consentono di addestrare e aggiornare continuamente i modelli con gli ultimi dati, migliorando accuratezza e rilevanza delle previsioni e degli insight.
Confronto tra Zero-ETL ed ETL tradizionale
La tabella seguente fornisce un confronto dettagliato tra Zero-ETL e processi ETL tradizionali.
|
Zero-ETL |
ETL tradizionale |
|
|
Virtualizzazione dei dati |
Utilizza tecnologie di virtualizzazione dei dati per facilitare la duplicazione tra diversi warehouse. |
La virtualizzazione dei dati può essere ridondante o difficile da implementare perché nell'ETL i dati vengono spostati dalla trasformazione al caricamento. |
|
Monitoraggio della qualità dei dati |
È essenzialmente un approccio automatizzato alla gestione dei dati; di conseguenza, possono emergere problemi di qualità dei dati. |
Per via della natura discreta della pipeline di movimento dei dati nell'ETL, la qualità dei dati è monitorata e corretta più efficacemente. |
|
Diversità dei tipi di dati |
I data lake basati su cloud consentono molteplici tipi e formati di dati senza vincoli architetturali. |
L'architettura di estrazione e trasformazione può limitare i tipi di dati (servono ulteriori sforzi ingegneristici nelle fasi di estrazione e trasformazione per tipologie diverse). |
|
Deployment in tempo reale |
L'analisi si può fare in piattaforma con latenza minima tra generazione, trasformazione e analisi dei dati. |
La natura a batch programmati della pipeline impedisce l'analisi in tempo reale. |
|
Costi e manutenzione |
È più conveniente e facile da mantenere perché richiede meno componenti computazionali e meno codice. La trasformazione e il caricamento possono essere eseguiti on demand. |
È più costoso perché richiede maggiori risorse computazionali e professionisti dei dati esperti. |
|
Scalabilità |
Più veloce e meno costoso da scalare grazie all'eliminazione di hardware intermedi per lo spostamento dei dati. |
Può essere lento e costoso a causa della maggiore necessità di hardware migliore e ottimizzazione del codice per gestire sorgenti dati più estese. |
|
Movimento dei dati |
Nullo o minimo. |
È richiesto lo spostamento dei dati perché la pipeline è discreta e i dati devono essere trasferiti allo stadio di caricamento. |
Zero-ETL vs altre tecniche di integrazione dei dati
Di seguito un confronto tra zero-ETL e altre tecniche di integrazione dei dati, con le loro somiglianze e le principali differenze.
Zero-ETL vs ELT
- Somiglianze: Zero-ETL ed ELT (Extract, Load, Transform) riducono tempi e complessità dell'analisi rinviando la trasformazione a dopo il caricamento nel sistema di destinazione. L'ELT è considerato un precursore dello zero-ETL, avendo posto le basi per rinviare la trasformazione a una fase successiva della pipeline.
- Principali differenze: lo zero-ETL elimina la fase di staging intermedia richiesta nell'approccio ELT, riducendo la latenza e migliorando la disponibilità dei dati in tempo reale. Semplifica ulteriormente la pipeline riducendo passaggi e requisiti infrastrutturali.
Zero-ETL vs API
- Somiglianze: Zero-ETL e API consentono interrogazioni verso più sorgenti dati, facilitando l'integrazione tra sistemi diversi.
- Principali differenze: lo zero-ETL è principalmente una tecnologia no-code che richiede pochissimo codice per integrazione e gestione dei dati. Al contrario, le API necessitano di codice custom per connettere e interagire con le diverse sorgenti. Inoltre, le API possono essere più esposte a violazioni di sicurezza a causa della natura code-based dell'integrazione, che può introdurre vulnerabilità se non gestita e protetta correttamente.
I migliori strumenti Zero-ETL
Come abbiamo visto in questo articolo, lo zero-ETL è uno strumento all'avanguardia per la gestione dei dati che ha guadagnato terreno nel settore, largamente promosso da AWS e adottato da altri provider cloud.
Ecco una breve panoramica dei principali strumenti zero-ETL disponibili oggi:
Strumenti zero-ETL di AWS
- Integrazione diretta tra Aurora e Redshift: AWS ha integrato Amazon Aurora e Amazon Redshift per abilitare analisi in tempo reale senza i processi ETL tradizionali.
- Redshift Spectrum: consente di eseguire query SQL su exabyte di dati in Amazon S3 senza caricare o trasformare i dati. Questo servizio supporta interrogazioni fluide su dati strutturati e non strutturati, ideale per dataset eterogenei.
- Amazon Athena: una soluzione di analytics serverless che elabora grandi volumi di dati per analisi in-place, incluso machine learning e IA, usando SQL o Python per collegare dati in streaming dai servizi cloud.
- Amazon Redshift Streaming Ingestion: un servizio che fornisce ingestione dati in tempo reale da Amazon Kinesis Data Streams o Amazon MSK, supportando carichi intensivi di machine learning in tempo reale.
Strumenti zero-ETL di altri provider cloud
Oltre ad AWS, altri provider offrono piattaforme dati unificate con funzionalità zero-ETL:
- Snowflake: supporta la creazione di data warehouse e data lake capaci di gestire dati non strutturati con architettura zero-ETL. Snowflake semplifica i workflow e supporta analisi in tempo reale e machine learning.
- Google BigQuery: esegue query SQL complesse su grandi dataset in tempo reale, integrandosi senza soluzione di continuità con altri servizi Google Cloud per analytics in tempo reale. BigQuery è progettato per gestire enormi quantità di dati in modo efficiente.
- Microsoft Azure Synapse Analytics: offre ingestione e analisi in tempo reale con una piattaforma di analytics unificata, supportando analytics avanzate e business intelligence. Synapse si integra con vari servizi Azure.
Conclusioni
Eliminare le fasi ETL tradizionali nella pipeline di analytics e machine learning rappresenta un cambiamento significativo nel paradigma del data engineering. Integrare un'architettura zero-ETL offre benefici sostanziali, tra cui maggiore velocità, sicurezza rafforzata e più ampia scalabilità.
Tuttavia, questo cambiamento porta anche sfide. La necessità di competenze di data engineering tradizionali può ridursi, richiedendo a data analyst, machine learning scientist e data scientist di acquisire concetti e competenze di integrazione dati più avanzati.
Lo Zero-ETL mette al centro le esigenze di data analyst e machine learning engineer, suggerendo un futuro in cui questi ruoli diventeranno più centrali, con potenziali ricadute su domanda di lavoro e skillset.
Se vuoi approfondire l'architettura dei dati, dai un'occhiata al nostro corso su ETL ed ELT in Python!
FAQs
Come può un'azienda passare da ETL tradizionale a un'architettura Zero-ETL?
Per effettuare la transizione, valuta i processi attuali e individua le aree in cui ridurre lo spostamento dei dati. Concentrati sull'adozione di tecnologie cloud come data lake e streaming in tempo reale. È inoltre essenziale formare il team per adattarsi a nuovi strumenti e metodologie.
Che tipo di organizzazioni o progetti sono più adatti allo Zero-ETL?
Lo Zero-ETL si adatta bene alle organizzazioni che necessitano di analisi in tempo reale, come e-commerce, servizi finanziari e telecomunicazioni. Tra i progetti che ne beneficiano ci sono monitoraggio in tempo reale, pricing dinamico e rilevamento istantaneo delle frodi.
Quali sono le implicazioni a lungo termine dell'adozione dello Zero-ETL per la gestione e l'analisi dei dati?
Nel lungo periodo, lo Zero-ETL può aumentare l'agilità organizzativa e favorire risposte più rapide agli insight. Potrebbe anche spostare i ruoli legati ai dati verso responsabilità più focalizzate sull'integrazione. Saranno necessari aggiornamenti regolari a misure di sicurezza e conformità man mano che i processi vengono snelliti.
La mia formazione è in matematica e statistica. Ho una vasta esperienza nella modellizzazione statistica e nelle applicazioni di machine learning. Inoltre, faccio ricerca sulla matematica del ML.


