Nubank architecture visualization
Todas as arquiteturas
Análise técnica

Nubank

Dos microsserviços Clojure à análise com Spark: as bases de dados por trás de um banco digital.

Números que importam

500
Microsserviços Clojure
Divulgado em julho de 2020
600
Desenvolvedores Clojure
Divulgado em julho de 2020
60,000+
Datasets analíticos
Divulgado em novembro de 2024
1,000+
Colaboradores de dados por mês
Divulgado em novembro de 2024

Stack técnica

Clojure· serviços de backend
Datomic· dados de negócio
Kafka· mensageria assíncrona
Amazon S3· armazenamento do data lake
Scala / Spark· transformações batch
Databricks· acesso analítico
BigQuery· SQL analítico
Model Server· inferência de ML em tempo real

A arquitetura em um dashboard interativo

A ideia é essa: aprender lendo o diagrama. Cada caixa e cada seta conta uma parte da história — clique pra abrir.

Como ler este diagrama
Caixas = componentes

Cor indica o papel: cliente, streaming, storage, compute, ML, serving. Clique em qualquer caixa pra ver o que é, por que é usada e como funciona ali.

Setas = fluxo de dados
streaming· eventos ao vivobatch· job periódicosync· chamada diretaserve· resposta ao usuário
Clique em uma etapa para explorar
extraçãodados de treinoapps de streaming
Serviços Cloju…Computaçãoclique →
DatomicArmazenamentoclique →
KafkaStreamingclique →
Extração no S3Armazenamentoclique →
Scala / SparkComputaçãoclique →
Dados processa…Armazenamentoclique →
Databricks / B…Serviçoclique →
Plataforma de …MLclique →
Síntese conceitual de descrições públicas de diferentes anos, não uma topologia de produção. A extração batch e o processamento Spark são distintos do streaming com Kafka.
Opcional
Ler o deep dive completo em texto
As mesmas ideias do diagrama, com mais contexto — recomendado depois de explorar as etapas.

Ferramentas canônicas reduzem a complexidade acidental

O artigo The value of canonicity, de 2020, cita Clojure para serviços de produção, Kafka para comunicação assíncrona, Datomic para dados de negócio de alto valor e Scala para análise.

A lição é tanto organizacional quanto técnica: ferramentas compartilhadas permitem reutilizar práticas e conhecimento entre equipes, sem proibir outra tecnologia quando o problema realmente exige.

Datomic, Clojure e a aquisição da Cognitect

O Nubank adquiriu a Cognitect, empresa por trás de Clojure e Datomic, em julho de 2020. O anúncio relatou 600 desenvolvedores Clojure, 500 microsserviços e mais de 2.000 servidores Datomic no Nubank — números daquela data.

O Datomic preserva o histórico em vez de sobrescrever o passado, o que ajuda a analisar fatos financeiros que mudam.

A plataforma batch: S3, Scala e Spark

O artigo do Nubank sobre Scala/Spark, de 2024, descreve três etapas:

  • Extração diária de microsserviços e fontes externas para o Amazon S3.
  • Transformação por um repositório de consultas de datasets em Scala e Spark.
  • Publicação no S3 e no Google Cloud, com acesso por ferramentas como Databricks e BigQuery.

O relato cita mais de 60.000 datasets e mais de mil colaboradores por mês. Nessa escala, dependências entre transformações e definições consistentes importam tanto quanto a execução distribuída.

ML precisa de bases batch e operação em tempo real

O artigo de 2025 sobre operações de ML separa previsões batch de modelos que respondem dentro de fluxos de serviço ao vivo, e aborda Model Server, latência, custo e testes em shadow mode.

Outro artigo descreve o Avalanche, que combina Kafka com aplicações Flink em Kubernetes para processamento em tempo real. Streaming é uma capacidade documentada — não um motivo para chamar o pipeline diário de Spark de tempo real.

Fontes e leituras curadas

As fontes públicas por trás desta análise, com nosso comentário sobre por que valem seu tempo.

Aprenda o que faz isso funcionar

As aulas do DataForge que cobrem as peças dessa arquitetura.

Última atualização:
← Ver todas as arquiteturas