Restaurar a partir de um backup

É possível restaurar um backup de um banco de dados do Spanner em um novo banco de dados. O banco de dados restaurado terá todos os dados e o esquema do banco de dados original no version_time do backup, incluindo todas as opções de banco de dados definidas com o comando ALTER DATABASE SET OPTIONS. Ela não terá nenhuma permissão do IAM (exceto as herdadas da instância que contém o banco de dados restaurado), e você precisará aplicar as permissões do IAM apropriadas após a conclusão da restauração. Isso não inclui os dados internos de fluxo de alterações. Quando você restaura de um backup, ele fica na mesma instância, região e projeto que o backup de origem. Se for necessário realizar a restauração do backup em uma região ou projeto diferente por motivos de conformidade ou continuidade de negócios, copie o backup para uma instância em uma região ou projeto separado e restaure a partir do backup copiado.

É possível usar a restauração de um backup das seguintes maneiras:

Para ter uma visão geral do backup e da restauração, consulte Sobre backup e restauração.

Como funciona a restauração de um backup

Ao restaurar um banco de dados do Spanner, você precisa especificar um backup de origem e um novo banco de dados de destino. Não é possível restaurar para um banco de dados atual. O banco de dados recém-restaurado precisa estar no mesmo projeto que o backup e em uma instância com a mesma configuração de instância do backup. Por exemplo, se um backup estiver em uma instância configurada em us-west3, ele poderá ser restaurado para qualquer instância no projeto que também esteja configurada em us-west3. A capacidade de computação das instâncias não precisa ser a mesma.

O processo de restauração foi projetado para alta disponibilidade. É possível restaurar o banco de dados desde que a maioria do quórum das regiões e zonas na instância esteja disponível.

Para restaurar um backup ativado para CMEK, a chave e a versão da chave precisam estar disponíveis para o Spanner. Por padrão, o banco de dados restaurado usa as mesmas configurações de criptografia do backup. É possível substituir esse comportamento especificando uma configuração de criptografia diferente ao restaurar o banco de dados. Para mais informações, consulte como restaurar um backup ativado para CMEK.

Restaurar um backup para uma região ou um projeto diferente

Se precisar restaurar o backup para uma região ou um projeto diferente, primeiro copie o backup para a região ou o projeto escolhido. Os backups copiados podem ser restaurados assim que a cópia é concluída. É possível restaurar o backup na instância de destino ou em qualquer instância que tenha a mesma configuração da instância de destino. Antes de restaurar, verifique se a instância de destino tem nós ou unidades de processamento provisionadas o suficiente para suportar o tamanho do banco de dados de acordo com o limite de armazenamento de 4 TB por nó. Por exemplo, são necessários pelo menos dois nós para restaurar um backup de 8 TB. Se você copiou o backup para um projeto diferente e quer restaurá-lo nesse projeto, verifique se o projeto de destino tem cotas de nós suficientes necessárias para a restauração. A restauração de um backup copiado funciona da mesma forma que uma restauração normal.

Estados de restauração

Um banco de dados restaurado passa por três estados, rastreados por duas operações de longa duração.

  • CREATING: o Spanner começa a restauração criando um novo banco de dados e montando arquivos do backup. Durante esse estado inicial CREATING, o banco de dados restaurado ainda não está pronto para uso. Esse estado normalmente é concluído em até uma hora. Quando o estado CREATING for concluído, seu banco de dados estará pronto para uso.

    Para acompanhar o progresso desse estado, consulte a operação de restauração de longa duração que o Spanner disponibiliza durante o processo. Ele retorna um objeto RestoreDatabaseMetadata.

    Observe as seguintes ressalvas em relação ao estado CREATING:

    • Se você estiver restaurando para uma instância diferente, a operação de restauração pertencerá à instância que contém o banco de dados restaurado, não à instância que contém o backup.
    • O Spanner não permitirá excluir o backup enquanto ele estiver sendo restaurado. É possível excluí-lo após a conclusão da restauração e o banco de dados entrar no estado READY.
    • Uma instância pode ter no máximo dez bancos de dados no estado CREATING devido à restauração dos backups. Não será possível restaurar outro backup para a instância até que um dos dez bancos de dados restaurados faça a transição para o estado READY_OPTIMIZING ou READY.
  • READY_OPTIMIZING: depois que o Spanner ativa o backup, ele começa a copiar os dados do backup para o novo banco de dados e, ao mesmo tempo, otimizar o tamanho armazenado. Seu banco de dados está pronto para ser usado durante esse processo. Essa fase da restauração geralmente leva algumas horas para ser concluída em bancos de dados com menos de 100 TB.

    Embora seja possível usar seu banco de dados normalmente durante READY_OPTIMIZING, as seguintes ressalvas se aplicam:

    • As latências de leitura podem ser um pouco mais altas que o normal.
    • As métricas de armazenamento exibem o tamanho do novo banco de dados, não do backup. Portanto, com a transferência de dados ainda em andamento, as métricas de armazenamento do Spanner podem mostrar resultados que não refletem o tamanho total de todos os seus dados.
    • Assim como no estado CREATING, o Spanner não permitirá que você exclua o backup ativado.

    O Spanner disponibiliza outra operação de restauração de longa duração durante esse estado, dessa vez retornando um objeto de metadados OptimizeRestoredDatabaseMetadata.

  • READY: depois que a operação de copiar e otimizar é concluída, o banco de dados faz a transição para o estado READY. O banco de dados é totalmente restaurado e não faz mais referências nem exige o backup.

Controle de acesso (IAM)

O papel spanner.restoreAdmin concede permissão para restaurar de um backup. Saiba mais em Controle de acesso com o IAM.

Preços

Não há cobrança pela restauração de um backup.

A seguir