Recuperação de horário definido

Visão geral

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

O PITR funciona permitindo que você configure o version_retention_period de um banco de dados para manter todas as versões de dados e o esquema, de no mínimo uma hora até no máximo sete dias. O Cloud 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 horário 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, faça uma leitura desatualizada especificando uma condição de consulta e um carimbo de data/hora no passado e, em seguida, grave os resultados de volta no banco de dados ativo. Normalmente, esse recurso é usado para operações clínicas 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á-lo com esse método. Para obter instruções, consulte Como recuperar uma parte do seu banco de dados.

  • Para recuperar todo o banco de dados, faça backup ou exporte o banco de dados que especifica um carimbo de data/hora no passado e restaure ou importe-o para um novo banco de dados. Isso normalmente é usado para se recuperar de problemas de corrupção de dados quando você precisa reverter todo o banco de dados para um ponto no tempo antes da ocorrência da corrupção. Fazer backup ou exportar um banco de dados pode levar várias horas e não é possível restaurá-lo ou importá-lo para um banco de dados existente. Para obter 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, que substituem dados com frequência, usam mais recursos do sistema. Isso pode afetar o desempenho do banco de dados, especialmente se a instância não estiver provisionada com capacidade de computação suficiente. Se o banco de dados tiver uma taxa de substituição muito alta (por exemplo, se seu banco de dados for substituído várias vezes por dia), considere aumentar o período de armazenamento gradualmente e monitorar o sistema. Veja o que você precisa saber:

  • Maior utilização de armazenamento. Recomendamos a configuração de alertas de armazenamento para garantir que você não exceda o limite de armazenamento. Ao aumentar o período de armazenamento, lembre-se de que o uso do armazenamento aumentará gradualmente à medida que o banco de dados acumula versões mais antigas de dados. Isso ocorre porque os dados antigos que expiraram no período de armazenamento anterior não estão mais expirados. Por exemplo, se você aumentar o período de armazenamento de três para sete dias, será necessário esperar quatro dias pelo uso do armazenamento do banco de dados para estabilizar. Também fornecemos instruções para estimar o aumento do armazenamento.

  • Maior uso e latência da CPU. O Cloud Spanner usa recursos de computação extras para compactar e manter versões antigas de dados. Monitore sua 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.

  • Mais tempo para realizar atualizações de esquema. Um período de retenção maior significa que as versões do esquema precisam ser mantidas por durações mais longas que podem fazer com que as atualizações de esquema sejam throttled enquanto aguardam recursos do servidor. Siga as práticas recomendadas para atualizações de esquema e não exceda os limites de atualização do esquema.