Vista geral da restauração

Pode restaurar uma cópia de segurança de uma base de dados do Spanner numa nova base de dados. A base de dados restaurada terá todos os dados e o esquema da base de dados original no momento da version_time da cópia de segurança, incluindo todas as opções da base de dados definidas com o comando ALTER DATABASE SET OPTIONS. No entanto, o seguinte não está incluído na base de dados restaurada:

  • Autorizações da IAM (exceto as herdadas da instância que contém a base de dados restaurada). Tem de aplicar as autorizações de IAM adequadas após a conclusão da restauração.
  • Dados internos de quaisquer streams de alterações.
  • Tempo de vida (TTL) definido por uma política de eliminação de linhas. Tem de reconfigurar estas políticas após a conclusão do restauro. Para mais informações, consulte o artigo Cópias de segurança e TTL.
  • Pontos de divisão que criou quando dividiu previamente uma base de dados. Para mais informações, consulte o artigo Vista geral da pré-divisão.

Se precisar de restaurar a partir de uma cópia de segurança numa região ou num projeto diferente por motivos de conformidade ou continuidade de negócios, pode copiar a cópia de segurança para uma instância numa região ou num projeto separado e, em seguida, restaurar a partir da cópia de segurança copiada.

Pode usar a restauração a partir de uma cópia de segurança das seguintes formas:

Como funciona o restauro da base de dados a partir de uma cópia de segurança

Quando restaura uma base de dados do Spanner, tem de especificar uma cópia de segurança de origem e uma nova base de dados de destino. Não pode restaurar para uma base de dados existente. A base de dados restaurada recentemente tem de estar no mesmo projeto que a cópia de segurança e numa instância com a mesma configuração da instância e a mesma (ou uma edição do Spanner de nível superior) que a cópia de segurança. Por exemplo, se uma cópia de segurança estiver numa instância configurada us-west3 e usar a edição Enterprise, pode ser restaurada para qualquer instância no projeto que também esteja configurada us-west3 e use a edição Enterprise. Se restaurar uma cópia de segurança numa instância da edição Enterprise numa instância da edição Standard, o restauro pode falhar se a base de dados usar funcionalidades da edição Enterprise. A capacidade de computação das instâncias não tem de ser a mesma.

O processo de restauro foi concebido para alta disponibilidade. Pode restaurar a base de dados, desde que a maioria das regiões e zonas na instância de destino esteja disponível.

Para restaurar uma cópia de segurança com CMEK ativada, a chave e a versão da chave têm de estar disponíveis para o Spanner. Por predefinição, a base de dados restaurada usa as mesmas configurações de encriptação que a cópia de segurança. Pode substituir este comportamento especificando uma configuração de encriptação diferente quando restaurar a base de dados. Para mais informações, consulte o artigo sobre como restaurar a partir de uma cópia de segurança ativada com CMEK.

Restaure uma cópia de segurança para uma região ou um projeto diferente

Se precisar de restaurar a cópia de segurança para uma região ou um projeto diferente, primeiro, copie a cópia de segurança para a região ou o projeto escolhido. As cópias de segurança copiadas podem ser restauradas assim que a cópia terminar. Pode restaurar a cópia de segurança na instância de destino (desde que use a edição como a instância de cópia de segurança de origem) ou em qualquer instância que tenha a mesma configuração de instância e a mesma edição (ou de nível superior) que a instância de destino. Antes de restaurar, certifique-se de que a instância de destino tem nós ou unidades de processamento suficientes aprovisionados para suportar o tamanho da base de dados de acordo com o limite de armazenamento de 10 TB por nó (ou seja, precisa de, pelo menos, 2 nós para restaurar uma cópia de segurança de 20 TB). Se copiou a cópia de segurança para um projeto diferente e quiser restaurá-la nesse projeto, certifique-se de que o projeto de destino tem as quotas de nós necessárias para o restauro. O restauro de uma cópia de segurança copiada funciona da mesma forma que um restauro normal.

Estados de restauro

Uma base de dados restaurada passa por três estados, monitorizados por duas operações de longa duração.

  • CREATING: o Spanner começa o restauro criando uma nova base de dados e montando ficheiros a partir da cópia de segurança. Durante este estado inicial, a base de dados restaurada ainda não está pronta para utilização.CREATING Normalmente, este estado fica concluído no prazo de uma hora. Quando o estado CREATING estiver concluído, a base de dados está pronta a ser usada.

    Para acompanhar o progresso deste estado, pode consultar a operação de restauro de longa duração que o Spanner disponibiliza durante este processo. Devolve um objeto RestoreDatabaseMetadata.

    Tenha em atenção as seguintes ressalvas relativamente ao estado CREATING:

    • Se estiver a fazer o restauro para uma instância diferente, a operação de restauro pertence à instância que contém a base de dados restaurada e não à instância que contém a cópia de segurança.
    • O Spanner não permite eliminar a cópia de segurança enquanto está a ser restaurada. Pode eliminá-lo após a conclusão da restauração e a base de dados entrar no estado READY.
    • Uma instância pode ter, no máximo, dez bases de dados no estado CREATING devido ao restauro a partir de cópias de segurança. Não vai poder restaurar outra cópia de segurança na instância até que uma das dez bases de dados restauradas passe para o estado READY_OPTIMIZING ou READY.
  • READY_OPTIMIZING: Depois de o Spanner montar a cópia de segurança, começa a copiar os dados da cópia de segurança para a nova base de dados enquanto otimiza o respetivo tamanho armazenado. A sua base de dados está pronta a ser usada durante este processo. Normalmente, esta fase da restauração demora algumas horas a ser concluída para bases de dados com menos de 100 TB.

    Embora possa usar a sua base de dados como habitualmente durante o READY_OPTIMIZING, aplicam-se as seguintes ressalvas:

    • As latências de leitura podem ser ligeiramente superiores ao habitual.
    • As métricas de armazenamento apresentam o tamanho da nova base de dados e não da cópia de segurança. Por conseguinte, com a transferência de dados ainda em curso, as métricas de armazenamento do Spanner podem apresentar resultados que não refletem o tamanho total de todos os seus dados.
    • Tal como acontece com o estado CREATING, o Spanner não lhe permite eliminar a cópia de segurança montada.

    O Spanner disponibiliza outra operação de restauro de longa duração durante este estado, desta vez devolvendo um objeto de metadados OptimizeRestoredDatabaseMetadata.

  • READY: assim que a operação de cópia e otimização estiver concluída, a base de dados passa para o estado READY. A base de dados é totalmente restaurada e deixa de fazer referência ou precisar da cópia de segurança.

Controlo de acesso (IAM)

A função spanner.restoreAdmin concede-lhe autorização para restaurar a partir de uma cópia de segurança. Para mais informações, consulte o artigo Controlo de acesso com a IAM.

As seguintes funções também têm acesso às operações de restauro do Spanner:

  • spanner.admin: tem acesso total para restaurar. Esta função tem acesso completo a todos os recursos do Spanner.
  • owner: tem acesso total para restaurar.
  • editor: tem acesso total para restaurar.
  • viewer: tem acesso à visualização das operações de restauro. Esta função não pode criar, atualizar, eliminar nem copiar uma cópia de segurança.

Preços

Não existe qualquer custo para restaurar a partir de uma cópia de segurança.

O que se segue?