Sabemos que backups são fundamentais e são parte de um
eficiente plano de disaster recovery (quem
já precisou nunca mais esquece). Mais
do que apenas fazer uma cópia do arquivo, um bom backup garante a integridade
dos dados, funcionamento em mais de um sistema e está alocado em diversos
lugares.
Como fazer isto de forma rápida e simples no MongoDB?
Utilizando os componentes mongodump e mongorestore.
O mongodump é utilizado para exportar o conteúdo de sua base
de dados, no formato BSON (representação binária de estruturas de dados –
Binary JSON). Os formatos exportados a partir da versão 2.2 são incompatíveis
com as versões anteriores.
O mongorestore é utilizado em conjunto com o mongodump para restaurar
(“importar”) o arquivo BSON, recriando os índices criados na base que foi
exportada (falaremos mais sobre índices em outro post). Com ele é possível
criar uma nova base de dados ou adicionar os dados a uma base já existente.
Na prática temos:
Entramos no shell e dentro de um banco “test” inserimos um
dado de exemplo na collection “teste”
Em seguida, vamos exportar esta collection com o comando
mongodump. Saímos do shell ( CTRL + C) e digitamos:
Vemos que nosso único objeto foi exportado corretamente e
está localizado no diretório C:\Users\Leandro\dump\test (diretório onde foi executado o comando).
Aqui vale uma observação importante pois são criados 2 arquivos: o arquivo
teste.metadata.json e o arquivo teste.bson. Este último é o arquivo que será
utilizado como entrada para o comando mongorestore.
Agora, para restaurar esta collection, fazemos:
mongorestore –collection teste –db test C:\Users\Leandro\dump\test\teste.bson
mongorestore –collection teste –db test C:\Users\Leandro\dump\test\teste.bson
Veja que nossa collection foi restaurada, mas não
perfeitamente. Por quê? Algum erro?
Não. Propositalmente, restauramos a collection utilizando os
mesmos nomes de collection e db anteriores (teste e test). Veja que há um
“warning” dizendo que os dados foram restaurado, sem apagar o anterior. Ou
seja, nosso documento foi duplicado! Como evitar isso?
É fácil e temos 2 modos (ou situações). O primeiro é que
seus dados foram perdidos e realmente você poderia restaurar utilizando os mesmos
nomes de collection e db. Outro é poder restaurar o documento em um novo banco,
com uma nova collection. Para isto, basta inserir o nome que quiser. Veja o
exemplo abaixo:
Alteramos os nomes e veja que a restauração funcionou
perfeitamente, sem o “warning”.
Não deixe de consultar a página de documentação do MongoDB
onde é possível encontrar as estratégias de backups sugerida pelos
desenvolvedores. Acesse: http://docs.mongodb.org/manual/core/backups/
Até o próximo!
0 comentários:
Postar um comentário