O blog da AWS
Migrando do CockroachDB para Amazon Aurora PostgreSQL: A jornada da Aarin para maior escalabilidade e eficiência operacional
Por Jean Philip de Rogatis, CTO, Aarin e Luis Tiani, Sr. Solutions Architect, AWS.
Introdução
A modernização de bancos de dados é uma jornada crucial para empresas que buscam maior escalabilidade e eficiência operacional. Neste blogpost, compartilharemos como a Aarin migrou sua infraestrutura de banco de dados do CockroachDB para o Amazon Aurora PostgreSQL, utilizando AWS Database Migration Service (AWS DMS) e implementando uma solução customizada de sincronização contínua.
A Aarin
A Aarin é uma empresa brasileira de tecnologia financeira, integrante do Grupo Bradesco, focada em democratizar o acesso a soluções financeiras para empresas de todos os portes. Fundada em 2020 e com sede em São Paulo, a Aarin atua em serviços de finanças incorporadas (embedded finance), transações via Pix e Banking as a Service (BaaS), permitindo que empresas ofereçam serviços financeiros aos seus clientes sem depender dos bancos tradicionais.
Contexto e Desafios
A Aarin inicialmente utilizava CockroachDB como sua solução de banco de dados principal, aproveitando seus benefícios de distribuição e alta disponibilidade. No entanto, com o crescimento da empresa, alguns desafios começaram a emergir:
- Complexidade Operacional: A implementação do CockroachDB em um cluster Kubernetes enfrentava complexidades operacionais. O principal gargalo estava nos procedimentos de upgrade, que demandavam janelas de downtime incompatíveis com os SLAs acordados com as áreas de negócio da Aarin. Adicionalmente, a documentação incompleta da configuração original e a perda do conhecimento histórico da implementação amplificavam os riscos de cada operação de manutenção.
- Limitações de Integração: Identificamos a necessidade de melhor integração com serviços nativos AWS o que permitiria maior aproveitamento dos recursos disponíveis na nuvem e otimização da infraestrutura atual.
- Otimização de Custos: Necessidade de otimização dos custos operacionais, visando um equilíbrio entre performance e investimento.
Arquitetura da Solução
Nossa solução de migração foi estruturada em três componentes principais:
- AWS DMS para Full Load
- Configuração de endpoints de origem (CockroachDB) e destino (Amazon Aurora PostgreSQL)
- Mapeamento de schema e regras de transformação
- Validação de integridade dos dados migrados
- Sistema de Sincronização Customizado
- Queue-based architecture utilizando Amazon SQS
- Microserviço de processamento de eventos
- Sistema de validação e reconciliação de dados
- Monitoramento e Validação
- Amazon CloudWatch Metrics para monitoramento em tempo real
- Logs estruturados para auditoria
- Scripts de validação para garantia de consistência
Iniciamos a implementação com o full load via AWS DMS, migrando a estrutura e dados principais do CockroachDB para o Amazon Aurora PostgreSQL. Para manter a sincronização contínua, desenvolvemos um serviço que monitora uma fila Amazon SQS, onde são registradas todas as alterações de dados pós-full load. Este serviço processa as mensagens da fila e aplica as mudanças em ambos os bancos simultaneamente, mantendo-os consistentes.
O processo é apoiado por um sistema de validação em tempo real e logs detalhados, permitindo monitoramento contínuo da performance e rápida identificação de possíveis inconsistências. Esta abordagem garantiu uma migração sem interrupções, mantendo a integridade dos dados durante toda a transição.
Implementação Detalhada
Preparação e Planejamento
Antes de iniciar a migração, estabelecemos os seguintes componentes críticos:
- Ambiente de Staging
- Réplica do ambiente de produção para testes
- Mascaramento dos dados para ambinete não produtivo
- Validação de compatibilidade de schemas
- Testes de performance e latência
- Réplica do ambiente de produção para testes
Estratégia de Migração
{
"source": "CockroachDB",
"target": "Aurora PostgreSQL",
"migration-type": "full-load",
"parallel-load": true,
"validation-mode": "enabled"
}
Configuração do AWS DMS
Configuramos o AWS DMS com as seguintes especificações:
{
"instance-class": "dms.r5.2xlarge",
"engine-version": "3.4.7",
"replication-task-settings": {
"full-load-mode": true,
"validation": true,
"logging-level": "DETAILED"
}
}
Solução de Sincronização Customizada
Para garantir a sincronização bidirecional, desenvolvemos um sistema baseado em eventos:
# Exemplo simplificado do handler de eventos
Monitoramento e Métricas
Implementamos diversos pontos de monitoramento:
- Amazon CloudWatch dashboards
- Latência de replicação
- Taxa de throughput
- Erros de sincronização
- Status de consistência
- Alarmes e Notificações
- Atrasos de replicação
- Falhas de sincronização
- Limites de performance
Resultados e Benefícios
Métricas pós migração:
- Redução de custos em aproximadamente 40%
- Processamento de pico medido: 1.400 TPS
- Volume diário de transações: 3 Milhões (4x maior que o anterior)
- Alta estabilidade mesmo com cargas elevadas
A migração para Amazon Aurora PostgreSQL trouxe melhorias significativas:
- Desempenho Melhorado: O Amazon Aurora proporcionou uma redução de latência e um aumento na velocidade das operações de leitura e gravação.
- Otimização de queries complexas;
- Menor latência em operações de I/O (input/output);
- Custos Otimizados: ao utilizar um serviço gerenciado, foi possível reduzir os custos operacionais, redistribuindo recursos para áreas de inovação.
- Integração Nativa com AWS: acesso direto a outros serviços AWS, como Amazon CloudWatch para monitoramento e AWS Lambda para automação.
- Redução na complexidade de gerenciamento;
- Integração nativa entre os serviços AWS
- Backup e recovery automatizados
Melhores Práticas e Lições Aprendidas
- Planejamento Detalhado
- Documentação completa do schema
- Testes exaustivos em ambiente de staging
- Plano de rollback bem definido
- Monitoramento Proativo
- Métricas em tempo real
- Logs detalhados
- Alertas preventivos
- Validação Contínua
- Checksums de dados
- Comparação de registros
- Verificação de integridade
A estratégia de migração fundamentou-se nesses três elementos críticos. A fase preparatória envolveu o mapeamento estrutural completo do banco de dados, simulações extensivas em ambiente controlado e definição de procedimentos de contingência. O monitoramento da operação foi estabelecido através de indicadores instantâneos de performance, rastreamento granular de operações e mecanismos de alerta preventivo. A integridade do processo foi assegurada por meio de rotinas automatizadas de verificação, análise comparativa dos dados e protocolos de consistência, garantindo assim a precisão e segurança de toda a transição.
Conclusão
A migração do CockroachDB para Amazon Aurora PostgreSQL representou um marco importante para a Aarin. A combinação de AWS DMS com uma solução customizada de sincronização permitiu uma transição suave e controlada, resultando em uma infraestrutura mais robusta e gerenciável, trazendo eficiência operacional e reduzindo custos.
Recursos Adicionais
Melhores Práticas do PostgreSQL
Sobre os Autores
![]() |
Jean Philip de Rogatis é CTO na Aarin, liderando todo o time de Desenvolvimento e já foi arquiteto de soluções sênior na AWS. Trabalha na Indústria Financeira, Entusiasta de novas tecnologias, construiu mais de 10 sistemas: de soluções de big data a portais de vendas, entregando um crescimento YoY de três dígitos e liderando uma equipe de 50+ pessoas. Ajuda empresas a transformar seus negócios, adotando tecnologias baseadas em nuvem para encantar seus clientes, parceiros e funcionários. |
![]() |
Luis Tiani é Arquiteto de Soluções Sênior na Amazon Web Services (AWS). Especializa-se em temas de Dados e Analytics, auxiliou diversos clientes nos segmentos de Serviços Financeiros, DNB, PME e Enterprise em suas jornadas de adoção de Serviços de Analytics AWS. Como Arquiteto de Soluções, trabalha com clientes do setor financeiro no desenvolvimento e implementação de soluções de BigData/Data Lake, Modernização de Aplicações, Migrações para Nuvem e iniciativas de IA/ML. |
Sobre os Revisores
![]() |
Leonardo Azize é Arquiteto de Soluções sênior na AWS, atua com clientes da indústria de FSI, tem trabalhado com desenvolvimento e infraestrutura de aplicações web em multinacionais. Quando não está trabalhando, Leonardo gosta de passar o tempo com a família e brincar com a filha. |
![]() |
Rodolfo D’Alessio é Customer Success Manager na Amazon Web Services (AWS), onde atua há mais de 6 anos. Atua no setor financeiro, conduzindo estratégias de adoção de serviços AWS e gerenciando o relacionamento com clientes estratégicos. |