O caso

O banco foi junto com a VM. E o backup estava na mesma VM.

O Isaac instalou o PostgreSQL na mesma VM que roda o sistema de pedidos. Numa sexta-feira, a VM falhou, e o banco não voltou. O backup era um script que rodava nessa mesma VM, e o último arquivo tinha três dias.

Naquela semana, a loja perdeu três dias de pedidos.

Este post parte de Fundamentos da Nuvem, de Armazenamento na Nuvem e de Regiões e Zonas.

O problema

Banco na VM é banco seu

Instalar o banco numa VM funciona no primeiro dia. Depois, alguém precisa fazer o resto: aplicar as atualizações de segurança, configurar os backups, testar se eles restauram, manter uma cópia em outro lugar e trocar de servidor quando o atual falha.

Em geral, ninguém faz tudo isso com a mesma disciplina de um time dedicado a banco.

A solução

Banco gerenciado

Um banco gerenciado (managed database) é um serviço em que o provedor instala e mantém o motor do banco. Ele cuida de atualizações, backups automáticos e troca de servidor quando algo falha. Você continua responsável pelos seus dados, pelo esquema, pelas consultas e por quem tem acesso.

Cada provedor tem o seu: Cloud SQL no Google Cloud, Amazon RDS na AWS, Azure SQL Database no Azure e OCI Database na Oracle Cloud.

Backups automáticos

O provedor faz cópias periódicas e guarda o registro das transações, para restaurar até um momento específico.

Na loja: o banco de pedidos volta ao estado de antes do erro, sem script caseiro.

Alta disponibilidade

Uma réplica em espera, em outra zona, assume se a principal falhar.

Na loja: a falha de uma zona não derruba a venda.

Réplicas de leitura

Cópias que atendem consultas de leitura e aliviam a instância principal.

Na loja: os relatórios de vendas rodam numa réplica, não no banco que recebe pedidos.

Atualizações e correções

O provedor aplica os patches do motor, em janelas de manutenção que você pode escolher.

Na loja: o banco recebe a correção de segurança sem o Isaac acordar de madrugada.

Não confunda

Gerenciado × instalado na VM

Banco gerenciado (managed database)

“Quero que o provedor cuide de instalação, patches, backup e failover?”

Exemplo
O banco de pedidos da loja, com backups automáticos e standby em outra zona.
Foco
Menos administração. Você controla dados, esquema e acesso.

Banco na VM

“Preciso de controle total do sistema operacional ou de uma versão que o serviço não oferece?”

Exemplo
Um banco com uma extensão que o serviço gerenciado não suporta.
Foco
Controle total, e toda a administração fica com você.

Proteção

Backup e restauração

Um backup responde à pergunta: quanto eu perco se algo der errado? Duas medidas ajudam a responder:

  • RPO (Recovery Point Objective): quanto dado pode ser perdido, medido em tempo. Com um backup por dia, o RPO é de até 24 horas.
  • RTO (Recovery Time Objective): quanto tempo o sistema pode ficar fora do ar até voltar.

Muitos bancos gerenciados guardam também o registro de transações. Com ele, a restauração é pontual: você volta ao segundo anterior ao erro, e não apenas à última cópia diária. Esse recurso reduz o RPO quase a zero.

Disponibilidade

Réplicas

Há dois tipos de réplica, e a diferença importa:

  • Réplica de leitura: recebe uma cópia dos dados e atende consultas. Serve para aliviar a carga, e nem sempre assume sozinha quando a principal cai.
  • Réplica em espera (standby): existe para a alta disponibilidade. Se a principal falha, ela assume, em geral de forma automática.

Na prática

Escolher a configuração

SituaçãoO que fazer
Pedidos online, dados críticos, equipe pequenaBanco gerenciado, com standby em outra zona
Relatórios pesados que atrapalham os pedidosRéplica de leitura para os relatórios
Dados que precisam ficar em outra regiãoBackup copiado para outra região
Versão de banco que o serviço gerenciado não ofereceBanco na VM, com a administração assumida

Termos-chave

Seis termos para fixar

Toque no cartão para ver a definição.

Teste rápido

Três perguntas, estilo prova

01

A equipe quer que o provedor faça backups automáticos e troque o servidor sozinho se ele falhar. Qual opção atende?

02

Um DELETE acidental apagou dados importantes. Qual recurso ajuda a voltar ao estado de antes do erro?

03

Um time precisa de uma versão de banco que o serviço gerenciado não oferece. Qual caminho faz sentido?


Banco de dados é onde a loja guarda o que mais importa: pedidos, clientes e pagamentos. A pergunta que decide tudo é a mesma de sempre: quem faz o quê. Com um banco gerenciado, o provedor cuida da máquina, dos backups e da troca de servidor. Você continua responsável pelos dados e por quem acessa. O próximo passo é entender o que acontece dentro do sistema que roda esse banco: a memória virtual e os sistemas de arquivos.