Você já precisou migrar dados de um servidor de banco de dados para outro? Ou mover um MongoDB Replica Set ou Sharded Cluster para uma nova infraestrutura? A primeira preocupação geralmente é: quanto tempo a aplicação precisará ficar offline?
Nos dias de hoje, manter uma aplicação offline é praticamente impensável para muitas empresas. Isso faz com que muitas delas acabem presas em ambientes limitados, sem escalabilidade adequada. Afinal, por mais avançado que seja um datacenter próprio, ele raramente alcança o nível de flexibilidade e crescimento que a nuvem oferece.
Pensando nisso, a MongoDB disponibiliza diversas ferramentas para facilitar migrações, como o mongomirror, o MongoDB Cluster-to-Cluster Sync (ou MongoSync) e o Live Migrate. Hoje, nosso foco será o Live Migrate.
O Live Migrate é, essencialmente, uma versão hospedada e gerenciada do MongoSync, oferecida pela MongoDB via internet para simplificar a migração de dados de um servidor MongoDB (seja no Atlas ou On-Premise) para um servidor MongoDB no Atlas.
Para contextualizar, segundo o próprio site da MongoDB, o MongoDB Atlas é um conjunto integrado de serviços de dados centrado em um banco de dados na nuvem, projetado para acelerar e simplificar o desenvolvimento de aplicações. Ele oferece gerenciamento de clusters hospedados nas três principais nuvens do mercado: AWS, Azure e GCP.
Mas o que torna o Live Migrate tão especial? Ele funciona como uma integração entre dois clusters, porém, com um fluxo de dados unidirecional. Inicialmente, é feita uma cópia bruta dos dados (o chamado initial sync), seguida pela reprodução do oplog.
Como o oplog registra todas as alterações feitas em um servidor MongoDB, o Live Migrate aplica essas modificações no servidor de destino, sincronizando os dados até que tudo o que acontece no cluster de origem seja replicado no destino.
Vamos no nosso Cluster no Atlas, clicando no menu a esquerda em Database, clicamos nos três pontos ao lado do botão Browse Collections, e então chegamos na tela inicial do Live Migrate, como mostrado na sequencia de imagens a seguir:
Logo em seguida, nos será apresentada uma tela para preenchermos os dados do nó primário do nosso Cluster, bem como alguns IPs que precisamos liberar em nossa rede para acessar nosso replica set.
Nessa tela também precisamos informar um usuário e senha, que tenha as permissões readAnyDatabase, clusterMonitor e backup. No fim dessa tela, temos um botão para validar as informações que colocamos, que faz um teste de conexão, e o botão para iniciar a migração, com mostrado a continuação.
A vantagem é que essa replicação pode continuar pelo tempo necessário, até que você esteja pronto para concluir a migração. Nesse momento, a única ação necessária será a troca da URI de conexão do banco de dados na aplicação. E dependendo de como sua aplicação foi implantada, talvez nem seja necessário interromper seu funcionamento.
Quais são as principais recomendações e exigências para os clusters durante essa migração? Para o cluster de origem, é necessário liberar o acesso aos IPs requisitados pelo Atlas. Já para o cluster de destino, é recomendável usar, pelo menos, um cluster Tier M60 no Atlas durante o initial sync e até que o atraso (lag) entre os clusters seja zerado. Após isso, você pode redimensionar o cluster conforme o tamanho adequado ao seu ambiente.
Finalizada a migração, é hora de realizar o cutover, ou seja, encerrar a replicação entre o servidor antigo e o novo, diretamente no painel do Atlas.
Pronto! Bom vindo ao MongoDB Atlas!
Top comments (0)