No Nubank DS&ML Meetup #97, os participantes tiveram a oportunidade de aprender mais sobre infraestrutura de dados de streaming. A palestra foi conduzida por André Midea, gerente de engenharia do Nubank. 

Com uma trajetória de 15 anos, e evoluindo da engenharia de distributed systems para plataformas pioneiras de streaming, André é apaixonado por trazer acessibilidade e praticidade para tecnologias complexas de streaming.

No Nubank, ele desempenhou um papel fundamental no dimensionamento de plataformas de dados e no desenvolvimento de arquiteturas inovadoras, como o Avalanche, que foi reconhecido como o produto interno mais inovador do Nubank em 2024.

Streaming vs. processamento em batch

Dados em streaming processam conjuntos de dados contínuos e ilimitados, diferente do processamento em batch, que trabalha com conjuntos discretos e limitados. Imagine o streaming como se fosse o tráfego contínuo, imprevisível e constante de uma rodovia, e compare-o ao batch, que é programado e definido.

Enquanto o processamento em batch lida eficientemente com grandes volumes definidos e permite fácil otimização, o streaming oferece capacidade imediata de processamento de dados, algo essencial para aplicações em tempo real. Streams representam sequências de eventos ao longo do tempo, enquanto tabelas são capturas estáticas desses streams em momentos específicos, mostrando que o processamento batch pode ser considerado um subconjunto do streaming.

Conheça nossas oportunidades

Plataforma Avalanche: componentes e capacidades

Avalanche é a robusta plataforma de streaming do Nubank projetada para simplificar análises em tempo real. Ela aproveita duas tecnologias principais:

  • Flink: um mecanismo avançado especificamente criado para gerenciar e processar eficientemente dados contínuos, garantindo baixa latência.
  • Pinot: um banco de dados analítico em tempo real desenvolvido pelo LinkedIn, otimizado para OLAP (Processamento Analítico Online) de alto desempenho. Pinot se destaca na ingestão e análise de grandes volumes de dados em tempo real com mínima latência.

Avalanche integra essas tecnologias, possibilitando rápido processamento, análise e entrega de dados críticos para decisões ágeis e insights imediatos.

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

O streaming eficaz depende de dominar conceitos técnicos-chave:

  • Event time vs. processing time:
    • Event time indica quando um evento ocorre na realidade.
    • Processing time registra quando o evento é processado pelo sistema.
  • Watermarks:
    • Indicadores que mostram o avanço do tempo do evento, permitindo ao sistema saber quando há dados suficientes para prosseguir com cálculos. Watermarks garantem resultados consistentes e precisos.
  • Windows:
    • Estruturas que dividem streams contínuos em intervalos (por exemplo, segmentos de um minuto), facilitando cálculos e análises organizadas e precisas. São essenciais para análises detalhadas e para unir múltiplos streams de dados.

Casos de uso práticos

O encontro examinou detalhadamente aplicações reais do streaming no Nubank:

  • Detecção de fraudes:
    • Análises em tempo real de transações permitem rápida identificação e resposta a fraudes, com eficácia significativamente superior às abordagens batch.
  • Engenharia de features em temporeal:
    • Com Avalanche e Pinot, o Nubank transforma streams em features em tempo real para modelos de machine learning. As features são geradas dinamicamente por consultas, simplificando tarefas complexas e permitindo iteração e implantação rápidas.
  • Clickstream analytics:
    • A mudança do processamento em batch para streaming resultou em melhoria substancial de performance, fornecendo insights imediatos sobre a experiência do usuário e reduzindo drasticamente custos operacionais.

Superando desafios no streaming

Apesar dos benefícios, a infraestrutura de streaming enfrenta desafios específicos:

  • Gerenciamento de estado:
    • Manter estado preciso em sistemas distribuídos é complexo e exige estratégias sofisticadas e frameworks robustos.
  • Deploy sem downtime:
    • Garantir serviços contínuos durante atualizações ou eventos de escalabilidade requer planejamento avançado e suporte robusto de infraestrutura.
  • Acessibilidade e adoção:
    • Tornar a tecnologia acessível para usuários não técnicos exige melhorias constantes em interfaces e documentação clara.

Inovações e avanços tecnológicos

Participantes aprenderam sobre recentes inovações transformadoras no streaming:

  • Arquiteturas unificadas de batch e streaming:
    • Ferramentas como Flink permitem a combinação dos dois tipos de processamento numa infraestrutura única, otimizando o gerenciamento de dados, reduzindo custos e aumentando eficiência.
  • Estratégias avançadas de Dataflow:
    • Abordagens modernas, como integração contínua de changelog, aumentam a responsividade e confiabilidade, eliminando dependências complexas em jobs batch.
  • Arquitetura Lakehouse:
    • Sistemas Lakehouse integram streaming e batch em uma arquitetura unificada, melhorando a flexibilidade e simplificando a gestão de dados.

Conclusão

O Nubank DS&ML Meetup #97 proporcionou insights abrangentes sobre a infraestrutura de dados em streaming, abordando desde conceitos fundamentais até técnicas avançadas e aplicações práticas. A exploração detalhada de Avalanche e tecnologias relacionadas reforça o compromisso do Nubank com a liderança tecnológica, impulsionando inovação e eficiência no setor bancário digital.

Acompanhe o blog Building Nubank para obter mais informações sobre tecnologia e inovação, e confira nossas vagas de emprego! Vamos construir o Futuro Roxo juntos!

Conheça nossas oportunidades