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

Como dimensionar o MongoDB?


Se você está ficando sem disco, obviamente precisa de um disco maior.

Existem várias maneiras de migrar seus dados, isso realmente depende do tipo de tempo de atividade que você precisa. É claro que os primeiros passos envolvem agrupar a máquina e criar o novo volume.

Essas dicas vão do mais fácil ao mais difícil.

Você pode deixar o banco de dados completamente off-line por alguns minutos?


Se sim, faça isso (migração por cópia):
  1. Monte o novo EBS no servidor.
  2. Impedir que seu aplicativo se conecte ao Mongo.
  3. Desligue o mongod e espere tudo escrever (verifique os logs)
  4. Copie todos os arquivos de dados (e provavelmente os logs) para o novo volume do EBS.
  5. Enquanto a cópia está acontecendo, atualize seu script de início do mongod (ou arquivo de configuração) para apontar para o novo volume.
  6. Inicie o mongod e verifique a conexão
  7. Reinicie seu aplicativo.

Você pode colocar o banco de dados off-line por apenas alguns minutos?


Em caso afirmativo, faça isso (escravizando e alternar):
  1. Inicie uma nova instância e monte o novo EBS nesse servidor.
  2. Instale / inicie o mongod como --slave apontando para o banco de dados atual. (talvez seja necessário reiniciar o atual como --master)
  3. O escravo fará uma nova sincronização. Assim que o slave estiver atualizado, você fará uma "troca" (próximas etapas).
  4. Desative as gravações do sistema.
  5. Encerre o processo mongod original.
  6. Reinicie o "novo" mongod como mestre em vez de escravo.
  7. Reative as gravações do sistema apontando para o novo mestre.

Feitos corretamente, esses três últimos passos podem acontecer em minutos ou até segundos.

Você não tem tempo de inatividade?


Em caso afirmativo, faça isso (master-master ):
  1. Inicie uma nova instância e monte o novo EBS nesse servidor.
  2. Instale / inicie o mongod como mestre e escravo no banco de dados atual. (pode ser necessário reiniciar a corrente como mestre, tempo de inatividade mínimo?)
  3. O novo computador deve fazer uma nova sincronização.
  4. Quando o novo computador estiver atualizado, mude o sistema para apontar para o novo servidor.

Eu sei que parece que esta última versão é realmente a melhor, mas pode ser um pouco arriscada (no momento em que escrevo). A razão é simplesmente que eu honestamente tive muitos problemas com a replicação "Mestre-Mestre", especialmente se você não começar com ambos ativos.

Se você planeja usar esse método, sugiro uma prática menor primeiro. Se algo bombar aqui, o Mongo pode simplesmente limpar todos os seus arquivos de dados, o que terá o efeito de derrubar mais coisas.

Se você conseguir uma boa versão disso, poste os comandos, eu gostaria de vê-lo em ação.