DBaaS - Backup vc Snapshot

A maior parte das soluções de DBaaS (Database As a Service) existentes no mercado, oferecem soluções de `snapshot` que são, basicamente, uma foto do Banco em determinado momento e que podem ser usadas posteriormente para uma recuperação.


Embora já tenhamos encontrado alguns clientes que não possuem nem esta solução básica, vejo que na maior parte dos projetos pelo menos este `backup` está implementado. Que bom, pois, isso no mínimo é o básico. Mas tenho uma má noticia: NÃO BASTA. Um snapshot da sua máquina de banco não é suficiente! Eis os motivos:


  1. Armazenar os Snapshots com períodos de retenção alto é caro! Hoje em dia, uma estratégia de backup bem implementada não considera apenas 5 ou 7 dias de backup, mas sim, conjuntos de backup diário, semanais e, inclusive, mensais. Porém, o snapshot usa exatamente o tamanho total do volume em cada cópia. Muitas vezes, embora o volume seja de X, o banco ocupa mesmo até uns 60-70% de X. Ou seja, manter as várias retenções é um desperdício de espaço e, consequentemente, acabamos pagando por algo que não vamos usar (o espaço livre do volume).

  2. Um snapshot é uma cópia de TUDO e nem sempre precisamos restaurar tudo! Quando vamos restaurar o snapshot de um banco com 1.000 tabelas, temos no resultado final 1000 tabelas restauradas, porém, às vezes a necessidade é de apenas 1 tabela. Seja porque alguém rodou um processo de atualização que não devia, ou porque alguém executou algum DDL na base errada. Caso tenhamos Backups tradicionais pode ser possível fazer restaurações granulares em lugar de restaurações completas.

  3. Nem sempre o snapshot pode ser restaurado caso ele seja de uma versão mais antiga. Os bancos DBaaS sempre recebem atualizações (que podem ou não ser ativadas automaticamente) e na medida que são atualizados, algumas versões são bloqueadas impedindo restauração de snapshot antigos. Isso pode ser um problema caso queira verificar alguma informação que esteja em algum snapshot da retenção configurada.

  4. Snapshot só são restaurados na mesma Cloud que são feitos. Já pensou que vc pode precisar mandar este backup ou mesmo restaurar este ambiente em uma outra cloud ? Pois é, se tiver apenas snapshots, pode não ser possível mudar de Cloud.

  5. Quando uma instance é removida, os snapshots pertencentes a ela podem ser removidos juntos. Algumas opções de Cloud removem automaticamente todos os snapshots de uma determinada Instance caso a mesma seja deletada, fazendo com que, todo o histórico (mesmo que legado), seja comprometido.


Enfim, mantenha pelos menos mais de um tipo de backup disponível e, se for possível, em uma Cloud/ambiente diferente do ambiente de produção, pois, caso seja necessário restaurar este banco em outra Cloud, seja por teste ou mesmo emergencialmente, isso será bem mais fácil de ser executado! E aí? Como é a sua estratégia de backup ?



Ricardo Silvério - DBA Especialista em Big Data.

CEO Siltech Consult & Responsável pela Divisão de DBA Services na Cymeon Technology

Posts Em Destaque
Posts Recentes
Arquivo
Procurar por tags
Siga
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square