Sobre a recuperação pontual (PITR, na sigla em inglês)

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

A recuperação pontual do Spanner (PITR, na sigla em inglês) oferece proteção contra exclusão ou gravação acidental. Por exemplo, se um operador gravar dados inadvertidamente ou um lançamento de aplicativo corrompa o banco de dados, com o PITR é possível recuperar os dados de um ponto no passado perfeitamente, até um máximo de sete dias. Se você precisar de uma retenção de dados de longo prazo, poderá usar as opções Backup e restauração ou Exportar e importar.

Por padrão, seu banco de dados retém todas as versões dos dados e do esquema por 1 hora. Você pode aumentar esse limite de tempo para até sete dias com a opção version_retention_period. O Spanner armazena versões antigas dos dados em granularidade de microssegundos, e o banco de dados mantém um earliest_version_time, que representa a última vez no passado 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. Em seguida, grave os resultados no banco de dados ativo. Isso normalmente é usado em 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 o banco de dados inteiro, faça backup ou exporte-o especificando um carimbo de data/hora no passado e restaure ou importe para um novo banco de dados. Isso normalmente é usado para recuperar problemas de corrupção de dados quando você precisa reverter todo o banco de dados para um momento anterior à corrupção. Observe que fazer backup ou exportar um banco de dados pode levar várias horas e que não é possível restaurar ou importar para um banco de dados existente. Para receber 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 outros recursos de computação 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 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 de esquema precisam ser retidas por períodos mais longos, possivelmente causando atualizações no esquema como throttled enquanto aguarda os recursos do servidor. Verifique se você está seguindo as práticas recomendadas para atualizações de esquema e respeitando os limites de atualizações de esquema.

A seguir