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ões ou gravações acidentais. Por exemplo, se um operador gravar dados acidentalmente ou um lançamento de aplicativo corromper o banco de dados, com a PITR, será possível recuperar os dados de um momento no passado (até um máximo de sete dias) de maneira simples. Se você precisar de uma retenção de dados em longo prazo, use o Backup e restauração ou o Exportar e importar.

Por padrão, o banco de dados retém todas as versões dos dados e do esquema por uma hora. Você pode aumentar esse limite de tempo para até sete dias usando a opção version_retention_period. Veja 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 qual é 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, em seguida, grave os resultados no banco de dados ativo. Isso é normalmente usado para operações cirúrgicas em um banco de dados em tempo real. Por exemplo, se você excluir acidentalmente uma linha específica ou atualizar incorretamente um subconjunto de dados, poderá recuperá-la com esse método. Para receber instruções, consulte Como recuperar uma parte do banco de dados.

  • Para recuperar o banco de dados inteiro, faça backup ou exporte o banco de dados especificando um carimbo de data/hora no passado e, em seguida, restaure ou importe o banco de dados para um novo banco de dados. Isso geralmente é usado para se recuperar de problemas de corrupção de dados quando você precisa reverter o banco de dados para um ponto no tempo antes da corrupção de dados. 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 existente. Para instruções, consulte Como recuperar todo o banco de dados.

Considerações sobre desempenho

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 recursos de computação adicionais para compactar e manter versões antigas dos dados. Monitore a instância e o banco de dados para garantir que a latência e o uso 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, podendo 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 de 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 podem aumentar. O custo de backup sob demanda não é afetado, porque apenas uma versão do seu banco de dados é armazenada. Para mais informações, consulte a seção Considerações sobre o desempenho. Antes de aumentar o período de armazenamento da versão de um banco de dados, é possível 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