Introducción a los marcos de transmisión |  de Pier Paolo Ippolito |  noviembre de 2023

Comprender algunas de las características clave a considerar al evaluar y comparar tecnologías de transmisión.

Foto por Joao Branco en desempaquetar

A medida que las arquitecturas de datos se vuelven cada vez más maduras, el streaming ya no se considera un lujo sino una tecnología con una amplia gama de aplicaciones en diferentes industrias. Debido a limitaciones técnicas y de recursos, el procesamiento por lotes siempre fue de hecho la forma preferida de procesar y entregar aplicaciones, aunque con el desarrollo de marcos de transmisión nativos y por microlotes en sistemas distribuidos basados ​​en Apache, la transmisión a gran escala ahora se ha vuelto mucho más accesible (Figura 1).

Algunos ejemplos de aplicaciones para el uso de sistemas de streaming pueden ser el procesamiento de: datos de transacciones para detectar anomalías, datos meteorológicos, datos de IoT desde ubicaciones remotas, seguimiento de geolocalización, etc.

Figura 1: Lote vs Streaming (Imagen del autor).

Hay dos tipos clave de sistemas de procesamiento de streaming: microlotes y en tiempo real:

  • En el procesamiento de transmisión en tiempo real, cada registro se procesa tan pronto como está disponible. Por lo tanto, esto puede dar como resultado sistemas con una latencia muy baja, listos para hacer uso inmediato de los datos entrantes (por ejemplo, detectar transacciones fraudulentas en sistemas financieros).
  • En cambio, en los sistemas de procesamiento de microlotes, los puntos de datos no se procesan uno por uno, sino en pequeños bloques y luego se devuelven después de intervalos de tiempo específicos o una vez que se alcanza un tamaño de almacenamiento máximo. Por lo tanto, este tipo de enfoque favorece un alto rendimiento en lugar de una baja latencia. Finalmente, los sistemas de microlotes pueden ser particularmente útiles si está interesado en realizar operaciones complejas como agregados (por ejemplo, mínimo, máximo, promedio), uniones, etc. sobre la marcha antes de enviar los resultados a un sistema de almacenamiento. Por lo tanto, el procesamiento por micro lotes puede considerarse un muy buen compromiso entre la transmisión pura y por lotes cuando se realizan, por ejemplo, tareas de informes cada hora (por ejemplo, temperatura media del tiempo, etc.).