MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Dicas para atualizar para a versão mais recente do MongoDB

As versões mais recentes do MongoDB são criadas para integrar recursos novos ou aprimorados das versões anteriores. Por esse motivo, é recomendável executar a versão mais recente para obter o máximo desempenho e recursos adicionais. Além disso, as versões mais recentes podem ser resultado de bugs corrigidos dependendo do versionamento do MongoDB.

Versão do MongoDB

As versões do MongoDB estão no formato X.Y.Z.

  • Quando Y é par, ou seja, 4.0 ou 4.2, isso se refere a uma série de lançamento que é estável, portanto, recomendada para produção. Nesse caso, novos recursos são integrados, o que pode resultar em incompatibilidade com versões anteriores.
  • Se Y for ímpar, ou seja, 4.1 ou 4.3, isso se refere à série de desenvolvimento que não é estável, portanto, recomendado apenas para teste.
  • Z refere-se a um número de revisão/patch. Envolve correção de bugs e alterações compatíveis com versões anteriores.

Considerar também as versões do driver MongoDB é importante para garantir um banco de dados com bom desempenho.

Considerações antes de atualizar

  1. Backup :No meio da atualização pode ocorrer algum travamento e no final comprometer a integridade dos dados que o banco de dados estava segurando. Portanto, é recomendável sempre fazer um backup dos dados antes de atualizar para uma determinada versão.
  2. Janela de manutenção :Pode haver alguma complexidade que pode surgir ao atualizar para alguma versão se os conjuntos de réplicas estiverem envolvidos. É preciso agendar tempo suficiente para esse processo para que você não encontre um alto tempo de inatividade.
  3. Compatibilidade de versão :Certifique-se de ler as notas de lançamento e verificar se a configuração do seu sistema será compatível com a versão para a qual você deseja atualizar. Verifique também a documentação de compatibilidade de drivers na página de Compatibilidade de Drivers se eles puderem ser compatíveis com a versão do MongoDB para a qual você deseja fazer upgrade. Por exemplo, do MongoDB 4.2 para cima, não há suporte para o sistema Ubuntu 16.04 PPCLE.
  4. Alterar fluxos :Os fluxos de alterações são projetados para que os aplicativos acessem alterações de dados em tempo real sem necessariamente seguir o oplog. Para versões do MongoDB anteriores à 4.0.7, o fluxo de mudança usa um token de retomada da versão 0 v0, enquanto esta versão e as sucessoras usam um token de retomada da versão 1 v1. É recomendável que os clientes aguardem a conclusão do upgrade antes de retomar os fluxos de mudança ao fazer upgrade para a versão 4.0.7.
  5. Verificação do ambiente de preparação :Certifique-se de que todas as configurações estejam bem definidas antes de atualizar o ambiente de produção e que sejam compatíveis com a nova versão para a qual você deseja atualizar.
  6.  Primário -Secundário -Arquitetura de Árbitro (PSA) :MongoDB versão 3.6 e superior habilitam suporte para preocupação de leitura “maioria” por padrão. No entanto, essa configuração pode resultar em pressão do cache de armazenamento e a única maneira de evitar isso é desabilitando esse parâmetro. No entanto, desabilitar este parâmetro pode levantar mais preocupações, ou seja:
    1. O suporte para transações no cluster fragmentado será afetado:
      1. se um fragmento tiver a leitura de "maioria" desativada, ele gerará um erro para uma transação que grava em vários fragmentos.
      2. O "snapshot" de preocupação de leitura não pode ser usado para uma transação envolvendo um fragmento com "maioria" de preocupação de leitura desativada
    2. Os comandos
    3. collMod que são responsáveis ​​por modificar um índice de reversão não funcionarão. Isso determina que, se uma operação precisar reverter, deve-se usar o nó primário para ressincronizar os nós afetados.
    4. O suporte para Change Streams para MongoDB 4.0 e versões anteriores também será desativado.
    5. As transações do conjunto de réplicas não são afetadas com a desativação deste parâmetro.

Procedimentos para atualização

  1. Faça um backup de seus dados.
  2. Atualize o binário mongod/mongos separadamente usando a ferramenta de gerenciamento de pacotes do sistema junto com os pacotes oficiais do MongoDB. Você também pode atualizar os mongos substituindo os binários existentes por novos binários usando este procedimento:
    1. Faça o download dos binários do MongoDB para a revisão para a qual deseja atualizar e armazene o arquivo compactado baixado em um local temporário.
    2. Encerre a instância.
    3. Use os binários baixados para substituir os binários existentes do MongoDB.
    4. Reinicie a instância.
  3. Se estiver atualizando um conjunto de réplicas, atualize cada membro separadamente começando com os secundários e o primário por último. Para atualizar os secundários:
    1. Atualize o binário mongod
    2. Aguarde a recuperação do secundário para o estado SECONDARY e depois que ele terminar, atualize a próxima instância. rs.status() é usado para verificar o estado do membro em um shell mongo. Os estados RECOVERING e STARTUP podem aparecer, mas você precisará esperar até que ele se recupere para SECONDARY.
  4. Ao atualizar o primário:
    1. Em um shell mongo, use rs.stepDown() para reduzir o primário como uma forma de iniciar um failover normal. Como não serão aceitas gravações durante o período, é aconselhável fazer a atualização no menor tempo possível.
    2. Até que você veja que outro membro foi eleito para ser o principal, atualize os binários do principal de desligamento.
    3. Reinicie o primário após a conclusão da atualização, mas se você verificar seu status, rs.status(), ele poderá ser rotulado como secundário.
  5. Para atualizar para um cluster fragmentado do MongoDB 4.4:
    1. Verifique se o balanceador foi desativado.
    2. Atualize os servidores de configuração da mesma forma que atualizou o conjunto de réplicas.
    3. Atualize o fragmento usando o procedimento correspondente, ou seja, um conjunto de réplicas ou um autônomo.
    4. Atualize cada instância do mongos em ordem.
    5. Reative o balanceador.

Conclusão


Com o tempo, os dados se tornam mais complexos, exigindo recursos avançados de banco de dados que possam atender às especificações dos administradores de banco de dados. O MongoDB não recorre a isso, pois sempre lança versões de banco de dados com bugs corrigidos ou recursos recém-integrados. Recomenda-se sempre atualizar para a versão mais recente do MongoDB para obter o máximo desempenho. No entanto, antes de fazer uma atualização, é necessário verificar as notas de lançamento da versão para a qual você deseja atualizar, se ela for compatível com seu sistema. A atualização dos drivers MongoDB correspondentes também é aconselhável.