Migrar bancos de dados relacionais (como PostgreSQL, MySQL ou Oracle) em sistemas corporativos críticos é um dos maiores desafios de um time de infraestrutura. Tirar o sistema do ar por horas para fazer backup e restauração gera perda de faturamento em e-commerces e atritos em operações 24/7.
Abaixo, apresentamos as principais abordagens técnicas para realizar migrações de dados complexas com zero tempo de inatividade (Zero Downtime).
1. Replicação Lógica (Logical Replication)
Ao contrário da replicação física (que cria uma cópia bit a bit idêntica do disco do servidor), a replicação lógica permite transmitir fluxos de alterações de tabelas específicas e específicas entre diferentes versões e servidores.
O Fluxo:
- Monte o novo servidor de banco de dados vazio.
- Inicie um canal de replicação lógica a partir do servidor de origem para o novo destino.
- O novo banco será sincronizado continuamente enquanto as transações ativas continuam sendo salvas no antigo.
- Quando os dois estiverem pareados (lag próximo a zero), altere as credenciais de conexão do aplicativo para apontar para o novo banco de dados.
2. Abordagem de Escrita Dupla (Double Write)
Caso o novo servidor utilize um sistema ou estrutura de dados incompatível com replicação lógica nativa, utiliza-se a técnica de escrita dupla no nível da aplicação.
As Fases:
- Fase 1: Atualize a aplicação para ler dados do banco antigo, mas gravar inserções e atualizações em ambos os bancos (antigo e novo).
- Fase 2: Execute um script em segundo plano para migrar os dados legados criados antes da Fase 1, pulando registros que a aplicação já atualizou de forma dupla.
- Fase 3: Quando a consistência de dados for validada, altere as leituras da aplicação para o novo banco.
- Fase 4: Remova o código de escrita dupla e desligue o banco antigo de forma segura.
Conclusão
Realizar migrações com zero downtime exige planejamento arquitetural detalhado e fases de validação de consistência. Ao implementar replicação lógica ou fluxos de escrita dupla estruturados, a operação da empresa continua gerando receita normalmente durante as atualizações tecnológicas de infraestrutura de dados.