A 10gen anunciou recentemente uma versão limitada do seu serviço de backup do MongoDB que fornece backups incrementais e recuperação a partir de um determinado ponto no tempo.
Os utilitários mongodump e mongorestore podem ser utilizados para realizar backups ou restaurações de bancos MongoDB. Opcionalmente também é possível utilizar a flag --oplog para obter uma imagem em um determinado ponto no tempo. No entanto, os backups completos, quando realizados constantemente, acabam consumindo mais tempo e mais espaço em disco. É nessa situação que entra o novo serviço de backup introduzido pela 10gen. O serviço fornece um backup incremental continuo que permite restaurar a base a partir de um determinado ponto no tempo. Como esse serviço de backup é baseado em cloud, os usuários podem pagar pelo que utilizarem sem precisar ter um planejamento inicial para a capacidade de armazenamento.
As funcionalidades principais são:
- Transferência dos dados com encriptação SSL;
- Alta disponibilidade;
- Recuperar a partir de um ponto no tempo;
- Suporte a cluster compartilhado;
- Baixo overhead / carga adicional
A 10gen explica, a partir de um ponto de vista tecnológico, como a solução funciona:
Um agente leve reune os oplogs de todo o conjunto de réplicas da qual serão feitas os backups e os comprime e criptografa. Os dados são então enviados através do SSL para os data centers que operam o serviço de backup. Essa abordagem tem diversos benefícios, incluindo: 1) os dados são copiados incrementalmente, então a movimentação dos dados é relativamente pequena, 2) os dados armazenados no serviço de backup se mantêm muito próximos aos ados da base principal; 3) o impacto no sistema principal não é maior que outra réplica ou conjunto de réplicas, o que é muito baixo; 4) o oplog permite restaurar um conjunto de réplicas a partir de qualquer ponto do tempo.
Há duas opções para restauração: imagens (snapshots) ou imagens customizadas. O serviço de backup cria e mantém as imagens de backups de acordo com uma política. Qualquer uma das imagens fica disponível para ser restaurada. O usuário também pode especificar um determinado ponto no tempo para criar uma imagem, neste caso, a imagem mais recente que antecede o ponto no tempo é usada e o oplog é aplicado até o ponto no tempo determinado pelo usuário.
A 10gen pode tornar o serviço de backup on-premise para às grandes empresas, assim como fez com o serviço de MMS. A companhia também decidiu, pelo menos por enquanto, não tornar open source o software que sustenta esse serviço.
Há um projeto open source, Tayra da EqualExperts, que também utiliza os oplogs do conjunto de replicas para criar um backup incremental. Toda a documentação das funcionalidades podem ser visualizadas no site da empresa - incluindo restauração seletiva e recuperação de ponto no tempo. No entanto não fornece o suporte a sistemas compartilhados.