Informações gerais da recuperação pontual (PITR, na sigla em inglês)

A recuperação pontual (PITR, na sigla em inglês) do Spanner oferece proteção contra exclusão ou gravações acidentais. Por exemplo, se um operador gravar dados inadvertidamente ou uma implementação de aplicativo corromper o banco de dados, use a PITR para recuperar os dados de um momento no tempo no passado (até um máximo de sete dias) sem problemas. Se você precisar de retenção de dados de longo prazo, use Backup e restauração ou Exportar e importar.

Por padrão, o banco de dados retém todas as versões dos dados e do esquema por uma hora. É possível aumentar esse limite de tempo para até sete dias usando a opção version_retention_period. Veja mais instruções em Definir o período de armazenamento. O Spanner armazena versões antigas de dados em granularidade de microssegundos e o banco de dados mantém um earliest_version_time, que representa o primeiro momento no passado em que é possível recuperar versões antigas dos dados.

Maneiras de recuperar dados

Há duas maneiras de recuperar dados:

  • Para recuperar uma parte do banco de dados, execute uma leitura desatualizada, especificando uma condição de consulta e um carimbo de data/hora no passado e grave os resultados novamente no banco de dados ativo. Normalmente, ela é usada para operações cirúrgicas em um banco de dados ativo. Por exemplo, se você excluir acidentalmente uma linha específica ou atualizar incorretamente um subconjunto de dados, poderá recuperá-la com este método. Para receber instruções, consulte Como recuperar uma parte do banco de dados.

  • Para recuperar todo o banco de dados, faça backup ou exporte o banco de dados especificando um carimbo de data/hora no passado e restaure ou importe para um novo banco de dados. Isso normalmente é usado para se recuperar de problemas de corrupção de dados quando você tem que reverter o banco de dados para um ponto no tempo antes da corrupção. Observe que o backup ou a exportação de um banco de dados pode levar várias horas e não é possível restaurar ou importar para um banco de dados atual. Para instruções, consulte Como recuperar todo o banco de dados.

Considerações sobre performance

Bancos de dados com períodos de armazenamento mais longos e, principalmente, aqueles que normalmente substituem dados, usam mais recursos do sistema. Isso pode afetar o desempenho do seu banco de dados, especialmente se a instância não for provisionada com uma capacidade de computação suficiente. Se seu banco de dados tiver uma taxa de substituição muito alta (por exemplo, se ele for substituído várias vezes ao dia), considere aumentar o período de armazenamento gradualmente e de maneira gradual.Monitorar o sistema de dados. Veja a seguir alguns detalhes a serem considerados:

  • Maior uso do armazenamento. Recomendamos configurar alertas de armazenamento para garantir que você não exceda o limite de armazenamento. Quando você aumenta o período de retenção, lembre-se de que o uso do armazenamento aumentará gradualmente à medida que o banco de dados acumular versões mais antigas dos dados. Isso ocorre porque os dados antigos que expirariam no período de armazenamento anterior não expiram mais. Por exemplo, se você aumentar o período de armazenamento de três para sete dias, será necessário aguardar quatro dias para que o uso do armazenamento do banco de dados se estabilize. Também fornecemos instruções para estimar o aumento do armazenamento.

  • Maior uso da CPU e latência. O Spanner usa outros recursos de computação para compactar e manter versões antigas de dados. Monitore a instância e o banco de dados para garantir que a latência e a utilização da CPU permaneçam em níveis aceitáveis.

  • Maior tempo para executar atualizações de esquema. Um período de armazenamento maior significa que as versões do esquema precisam ser retidas por períodos mais longos. Isso pode fazer com que as atualizações do esquema sejam throttled enquanto aguardam os recursos do servidor. Verifique se você está seguindo as práticas recomendadas para atualizações de esquema e permanecendo dentro dos limites para atualizações de esquema.

Preços

Não há cobrança adicional pelo uso da funcionalidade PITR. No entanto, se você aumentar o período de armazenamento da versão do banco de dados de uma hora padrão, os custos de armazenamento do banco de dados e da capacidade de computação poderão aumentar. O custo de backup sob demanda não é afetado, porque apenas uma versão do banco de dados é armazenada. Para mais informações, consulte a seção Considerações sobre desempenho. Antes de aumentar o período de armazenamento da versão de um banco de dados, você pode estimar o aumento esperado no armazenamento do banco de dados.

Para informações gerais sobre como o Spanner é cobrado, consulte os preços do Spanner.

A seguir