A recuperação pontual (PITR) do Spanner oferece proteção contra eliminação ou escrita acidental. Por exemplo, se um operador escrever inadvertidamente dados ou uma implementação de uma aplicação danificar a base de dados, com a PITR, pode recuperar os dados de um momento específico no passado (até um máximo de sete dias) de forma integrada. Se precisar de retenção de dados a longo prazo, pode usar a opção Cópia de segurança e restauro ou Exportar e importar.
Por predefinição, a base de dados retém todas as versões dos respetivos dados e esquema durante uma hora. Pode aumentar este limite de tempo até sete dias através da opção
version_retention_period
. Para ver instruções, consulte o artigo Defina o período de retenção.
O Spanner armazena versões anteriores dos dados com uma granularidade de microssegundos e a base de dados mantém um earliest_version_time
, que representa a hora mais antiga no passado em que pode recuperar versões anteriores dos dados.
Formas de recuperar dados
Existem duas formas de recuperar dados:
Para recuperar uma parte da base de dados, execute uma leitura desatualizada especificando uma condição de consulta e uma data/hora no passado e, em seguida, escreva os resultados novamente na base de dados ativa. Normalmente, é usado para operações cirúrgicas numa base de dados em direto. Por exemplo, se eliminar acidentalmente uma linha específica ou atualizar incorretamente um subconjunto de dados, pode recuperá-los com este método. Para ver instruções, consulte o artigo sobre como recuperar uma parte da base de dados.
Para recuperar toda a base de dados, faça uma cópia de segurança ou exporte a base de dados especificando uma data/hora no passado e, em seguida, restaure-a ou importe-a para uma nova base de dados. Normalmente, é usado para recuperar de problemas de corrupção de dados quando tem de reverter a base de dados para um momento específico antes de ocorrer a corrupção. Tenha em atenção que a cópia de segurança ou a exportação de uma base de dados podem demorar várias horas e que não pode restaurar nem importar para uma base de dados existente. Para ver instruções, consulte o artigo sobre como recuperar toda a base de dados.
Considerações sobre o desempenho
As bases de dados com períodos de retenção mais longos e, em particular, as que substituem frequentemente os dados, usam mais recursos do sistema. Isto pode afetar o desempenho da sua base de dados, especialmente se a sua instância não tiver capacidade de computação suficiente. Se a sua base de dados tiver uma taxa de substituição muito elevada (por exemplo, se a base de dados for substituída várias vezes por dia), pode considerar aumentar gradualmente o período de retenção e monitorizar o sistema. Seguem-se alguns aspetos a ter em atenção:
Utilização de armazenamento aumentada. Recomendamos que configure alertas de armazenamento para garantir que não excede o limite de armazenamento. Quando aumenta o período de retenção, tenha em atenção que a utilização do armazenamento aumenta gradualmente à medida que a base de dados acumula versões anteriores dos dados. Isto deve-se ao facto de os dados antigos que teriam expirado no período de retenção anterior já não estarem expirados. Por exemplo, se aumentar o período de retenção de 3 dias para 7 dias, tem de aguardar 4 dias para que a utilização do armazenamento da base de dados se estabilize. Também fornecemos instruções para estimar o aumento do armazenamento.
Aumento da utilização da CPU e da latência. O Spanner usa recursos de computação adicionais para compactar e manter versões anteriores dos dados. Monitorize a sua instância e base de dados para garantir que a latência e a utilização da CPU permanecem em níveis aceitáveis.
Aumento do tempo para realizar atualizações do esquema. Um período de retenção aumentado significa que as versões do esquema têm de ser retidas durante mais tempo, o que pode fazer com que as atualizações do esquema sejam
throttled
enquanto aguarda pelos recursos do servidor. Certifique-se de que está a seguir as práticas recomendadas para atualizações de esquemas e que se mantém dentro dos limites para atualizações de esquemas.
Preços
Não existe qualquer custo adicional para usar a PITR. No entanto, se aumentar o período de retenção de versões da sua base de dados em relação à predefinição de uma hora, os custos de armazenamento e capacidade de computação da base de dados podem aumentar. O custo da cópia de segurança a pedido não é afetado porque apenas é armazenada uma versão da base de dados. Para mais informações, consulte a secção Considerações de desempenho. Antes de aumentar o período de retenção da versão de uma base de dados, pode estimar o aumento esperado no armazenamento da base de dados.
Para informações gerais sobre a cobrança do Spanner, consulte os preços do Spanner.
O que se segue?
- Saiba como recuperar dados com a PITR.