Sebbene l'ETL sia tradizionalmente un processo orientato ai batch, piattaforme di event streaming di eventi distribuiti come Apache Kafka estendono i pattern ETL dall'elaborazione batch a Event Streams continui. Questo tipo di ETL in streaming consente il trattamento dei dati in tempo reale.
I processori di streaming compatibili con Kafka come Kafka Streams, ksqlDB e Apache Flink consentono ai data engineer di creare pipeline ETL che acquisiscono flussi di eventi dai sistemi di origine, trasformano i dati mentre sono in movimento e li inviano agli analytics engine e alle applicazioni downstream, il tutto con una bassa latenza, a differenza dell'integrazione basata sull'elaborazione in batch.
Questo ETL in streaming presenta altri vantaggi rispetto all'ETL tradizionale. Due elementi chiave sono la flessibilità e la scalabilità. Mentre le pipeline ETL tradizionali sono scritte con una logica di trasformazione progettata per casi d'uso e destinazioni specifici, i dati trasmessi in Kafka da diverse fonti possono essere trasformati per diversi casi d'uso e consumatori.
In altre parole, l'ETL in streaming non richiede lo stretto accoppiamento tipico dell'ETL tradizionale, consentendo flussi di dati riutilizzabili e riducendo il tempo e il lavoro necessari per riconfigurare le pipeline.
Nonostante tali vantaggi, le aziende possono comunque optare per l'ETL tradizionale rispetto all'ETL in streaming quando sono necessarie trasformazioni complesse o quando il tempo non è essenziale. In tali casi, l'ETL tradizionale e l'elaborazione in batch possono essere più efficienti in termini di costi rispetto allo streaming ETL.