HeadlinesBriefing favicon HeadlinesBriefing.com

Como migrar bancos de dados em escala sem tempo de inatividade

ByteByteGo •
×

Considere um cenário hipotético no qual uma plataforma de compras online se tornou extremamente bem-sucedida. Ela ultrapassou seu banco de dados original. Isso faz com que históricos de pedidos carreguem muito lentamente.

A manutenção leva muito mais tempo do que costumava levar. E engenheiros gastam muito tempo gerenciando a carga e as limitações do sistema. A equipe de engenharia por trás deste sistema quer substituir o banco de dados e migrar os dados para um novo banco de dados que promete melhor desempenho.

Mas você não pode levar uma loja online popular offline para fazer a troca. Os clientes estão sempre fazendo pedidos, mudando endereços e solicitando reembolsos. A loja não pode ser desligada assim tão rapidamente.

Este cenário oferece um vislumbre do principal desafio inerente às migrações em produção. Como você muda um sistema que está funcionando enquanto o serviço no qual as pessoas dependem continua em funcionamento? Em grande escala, copiar dados existentes durante tais migrações pode levar dias. Além disso, muitas aplicações de suporte podem depender do componente que está sendo substituído.

Cada passo intermediário precisa funcionar enquanto o negócio ordinário continua. Neste artigo, veremos como funcionam as migrações em escala e as estratégias-chave que podem ajudar a torná-las o mais eficiente possível.