Aunque el ETL es tradicionalmente un proceso orientado a lotes, plataformas distribuidas de transmisión de eventos como Apache Kafka extienden los patrones ETL desde el procesamiento por lotes hasta flujos de eventos que llegan continuamente. Este ETL en streaming puede habilitar el procesamiento de datos en tiempo real.
Los procesadores de transmisión compatibles con Kafka, como Kafka Streams, ksqlDB y Apache Flink, permiten a los ingenieros de datos crear pipelines ETL que ingieren flujos de eventos de sistemas de origen, transforman los datos mientras están en movimiento y los envían a motores de analytics y aplicaciones posteriores, todo con baja latencia, a diferencia de la integración basada en procesamiento por lotes.
Dicho ETL en streaming tiene otras ventajas sobre el ETL tradicional. Dos ventajas clave son la flexibilidad y la escalabilidad. Si bien los pipelines ETL tradicionales se escriben con lógica de transformación diseñada para casos de uso y destinos específicos, los datos transmitidos a Kafka desde diferentes fuentes se pueden transformar para diferentes casos de uso y consumidores.
En otras palabras, el ETL en streaming no requiere el acoplamiento estrecho típico del ETL tradicional, lo que permite flujos de datos reutilizables y reduce el tiempo y el trabajo necesarios para reconfigurar los pipelines.
A pesar de tales ventajas, las empresas aún pueden optar por el ETL tradicional en lugar de ETL en streaming cuando son necesarias transformaciones complejas o cuando el tiempo no es esencial. En tales casos, el ETL tradicional y el procesamiento por lotes pueden ser más rentables que el ETL en streaming.