En el Nubank DS&ML Meetup #97, los participantes tuvieron la oportunidad de explorar en profundidad el universo de la infraestructura de datos en streaming, guiados por André Midea, Engineering Manager en Nubank.

Con una trayectoria de 15 años que evolucionó desde la ingeniería de sistemas distribuidos hasta plataformas pioneras de streaming, André tiene la pasión por hacer accesibles y prácticas las complejas tecnologías de streaming.

En Nubank, desempeñó un papel clave en la escalabilidad de plataformas de datos y en el desarrollo de arquitecturas innovadoras como Avalanche, que obtuvo reconocimiento como el producto interno más innovador de Nubank en 2024.

Streaming vs. procesamiento por lotes (batch)

El procesamiento de datos en streaming maneja conjuntos de datos continuos e ilimitados, a diferencia del procesamiento por lotes (batch), que trabaja con conjuntos discretos y limitados. Imagina el streaming como tráfico constante en una autopista—continuo e impredecible—mientras que el procesamiento por lotes se asemeja al transporte programado de contenedores con contenidos definidos.

Aunque el procesamiento por lotes maneja eficientemente grandes volúmenes definidos y permite optimización sencilla, el streaming ofrece capacidades inmediatas esenciales para aplicaciones en tiempo real. Los streams representan secuencias de eventos a lo largo del tiempo, mientras que las tablas son capturas estáticas de estos streams en momentos específicos, mostrando que el procesamiento batch puede considerarse un subconjunto del streaming.

Descubre las oportunidades

Plataforma Avalanche: componentes y capacidades principales

Avalanche es la robusta plataforma de streaming de Nubank diseñada específicamente para simplificar análisis en tiempo real. Utiliza dos tecnologías fundamentales:

  • Flink: Un motor avanzado diseñado específicamente para gestionar y procesar eficientemente conjuntos de datos continuos, asegurando baja latencia.
  • Pinot: Una base de datos analítica en tiempo real desarrollada por LinkedIn, optimizada para OLAP (Procesamiento Analítico en Línea) de alto rendimiento. Pinot sobresale en la ingesta y análisis de grandes volúmenes de datos en streaming con latencia mínima.

Avalanche integra estas tecnologías, facilitando el procesamiento rápido, análisis y entrega de datos críticos para decisiones ágiles e insights inmediatos.

Fundamentos técnicos: event time, watermarks, and windows

El streaming efectivo depende del dominio de conceptos técnicos clave:

  • Event time vs. processing time:
    • Event time indica cuándo ocurre realmente un evento.
    • Processing time registra cuándo el evento es procesado por el sistema.
  • Watermarks:
    • Indicadores que muestran el avance del tiempo del evento, permitiendo que el sistema sepa cuándo hay suficientes datos para continuar con los cálculos. Los watermarks garantizan resultados precisos y consistentes.
  • Windows:
    • Estructuras que dividen streams continuos en intervalos (por ejemplo, segmentos de un minuto), facilitando cálculos y análisis organizados y precisos. Son esenciales para realizar análisis detallados y unir múltiples streams de datos.

Casos de uso orácticos

El evento examinó en profundidad aplicaciones prácticas reales del streaming en Nubank:

  • Detección de fraude:
    • El streaming permite análisis inmediatos de transacciones, crucial para identificar y responder rápidamente al fraude, con efectividad significativamente mayor que las metodologías batch.
  • Ingeniería de features en tiempo real:
    • Utilizando Avalanche y Pinot, Nubank transforma streams en features dinámicas en tiempo real para modelos de machine learning. Las features se generan dinámicamente mediante consultas, simplificando tareas tradicionalmente complejas y permitiendo iteración e implementación rápidas.
  • Clickstream analytics:
    • La transición del procesamiento batch al streaming resultó en importantes mejoras de rendimiento, proporcionando insights inmediatos sobre la experiencia del usuario y reduciendo drásticamente los costos operativos.

Superando desafíos del streaming

A pesar de sus beneficios, la infraestructura de streaming enfrenta desafíos específicos:

  • Gestión del estado:
    • Mantener un estado preciso en sistemas distribuidos es complejo y requiere estrategias sofisticadas y marcos robustos.
  • Implementación sin tiempo de inactividad:
    • Asegurar servicios continuos durante actualizaciones o eventos de escalabilidad requiere una planificación avanzada y soporte robusto de infraestructura.
  • Accesibilidad y adopción:
    • Facilitar la adopción tecnológica para usuarios no técnicos exige mejoras continuas en interfaces intuitivas y documentación clara.

Innovaciones y avances tecnológicos

Los participantes conocieron recientes innovaciones que están transformando el streaming:

  • Arquitecturas unificadas de batch y streaming:
    • Herramientas como Flink permiten combinar ambos tipos de procesamiento en una única infraestructura, optimizando la gestión de datos, reduciendo costos e incrementando eficiencia.
  • Estrategias avanzadas de Dataflow:
    • Enfoques modernos, como la integración continua de changelog, aumentan la responsividad y fiabilidad, eliminando dependencias complejas en trabajos batch.
  • Arquitectura lakehouse:
    • Sistemas Lakehouse integran streaming y procesamiento batch en una arquitectura unificada, mejorando la flexibilidad y simplificando la gestión de datos.

Conclusion

El Nubank DS&ML Meetup #97 brindó insights completos sobre la infraestructura de datos en streaming, desde conceptos fundamentales hasta técnicas avanzadas y aplicaciones prácticas. La exploración detallada de Avalanche y tecnologías relacionadas resalta el compromiso de Nubank con el liderazgo tecnológico, impulsando la innovación y eficiencia en el sector bancario digital.

Siga el blog Building Nubank para profundizar en la tecnología y la innovación, y consulte nuestras ofertas de empleo. ¡Construyamos juntos el futuro morado!

Descubre las oportunidades