Pular para o conteúdo principal

Restaurar dados e viagem do tempo

info

Visualização

Esse recurso está em Public Preview nas seguintes regiões: us-east-1, us-west-2, eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, us-east-2, ap-south-1.

O Lakebase (Prévia Pública) é a versão atual pronta para produção. Para obter os recursos mais recentes, incluindo ramificação de banco de dados, escalonamento automático e escalonamento para zero, experimente o Lakebase Postgres (Beta), disponível apenas para avaliação. Consulte a seção "Como escolher entre as versões" para entender qual versão é a mais adequada para você.

Esta página explica como usar instâncias filhas para restaurar dados e realizar uma viagem do tempo em sua instância de banco de dados Lakebase.

Quando você deve criar uma instância secundária?

A criação de uma instância secundária é útil nos seguintes cenários:

  • Recuperação de perda acidental de dados: Se uma tabela crítica foi descartada às 10h23 de ontem, o senhor pode gerar uma instância secundária definida para 10h22 para extrair apenas os dados ausentes e merge recuperá-los.
  • Ambientes de teste e controle de qualidade: Clone um ambiente semelhante ao de produção a partir de qualquer ponto nos últimos X dias (conforme definido por sua janela de restauração) para validar alterações de esquema ou executar testes de integração.
  • Conformidade e auditoria: provisionamento de uma instância secundária que reflete o estado do banco de dados em uma data anterior para auditorias internas, reconciliações financeiras ou análise forense.

O que é uma instância infantil?

Uma instância secundária é um clone de cópia na gravação da instância original do banco de dados. Ele pode ser criado a partir do momento atual ou de um ponto no tempo histórico dentro da janela de restauração. Uma janela de restauração especifica o intervalo de tempo (2 a 35 dias) a partir do qual você pode realizar a recuperação pontual. A janela de restauração é definida ao criar uma instância de banco de dados. O senhor pode criar uma instância secundária a qualquer momento dentro dessa janela de restauração, sem esperar pela exportação manual do Snapshot ou do banco de dados completo.

Após a criação de uma instância filha, ela ficará disponível para consulta até ser excluída. Não há expiração automática vinculada à janela de restauração do dispositivo pai. Isso garante que você sempre tenha acesso aos dados do momento em que a instância filha foi criada, mesmo que o período de restauração da instância pai tenha expirado.

As instâncias filhas são isoladas da instância pai. Qualquer operação de leitura ou gravação realizada em uma instância filha não terá efeito na instância de origem. As modificações feitas em uma instância filha utilizam o recurso de cópia sob demanda (copy-on-write), portanto as alterações são armazenadas como um "delta". Isso mantém os dados não modificados compartilhados e minimiza o armazenamento extra.

Crie uma instância filha para viagem do tempo e restaure os dados.

A criação de uma instância secundária é útil nos seguintes cenários:

  • Recuperação de perda acidental de dados: Se uma tabela crítica foi descartada às 10h23 de ontem, o senhor pode gerar uma instância secundária definida para 10h22 para extrair apenas os dados ausentes e merge recuperá-los.
  • Ambientes de teste e controle de qualidade: Clone um ambiente semelhante ao de produção a partir de qualquer ponto nos últimos X dias (conforme definido por sua janela de restauração) para validar alterações de esquema ou executar testes de integração.
  • Conformidade e auditoria: provisionamento de uma instância secundária que reflete o estado do banco de dados em uma data anterior para auditorias internas, reconciliações financeiras ou análise forense.

o passo a passo instruções

Etapa 1: (Opcional) Configure a janela de restauração em uma instância de banco de dados pai.

Os valores válidos para a janela de restauração são de 2 a 35 dias, inclusive. A janela do site default é de 7 dias. Você pode especificar a janela de restauração em uma instância de banco de dados ao criar a instância. Consulte Criar uma instância de banco de dados.

Use a interface do usuário ou a API para modificar a janela de restauração de uma instância de banco de dados:

  1. Clique em Computação na barra lateral do workspace.
  2. Clique em Lakebase Postgres tab.
  3. Selecione a instância do banco de dados que você deseja atualizar.
  4. Clique em Editar no canto superior direito.
  5. Em Janela de restauração (dias) , defina o número de dias para a janela de restauração.
  6. Clique em Salvar .

o passo 2: Criar uma instância filha

As funções e permissões de uma instância secundária são as mesmas das principais no ponto de restauração escolhido. Isso pode fazer com que os usuários tenham privilégios que não correspondem aos privilégios atualmente concedidos na instância principal. visualizar Databricks funções de identidade e revogar quaisquer privilégios desatualizados na instância filha.

Crie uma instância secundária ativando Criar do pai durante a criação regular da instância de banco de dados. Consulte Criar e gerenciar uma instância de banco de dados.

Com a opção Criar a partir do pai ativada, há dois parâmetros adicionais a serem especificados:

  • Nome da instância principal: o nome da instância principal a partir da qual você deseja criar um banco de dados secundário.
  • Inclua dados dos pais até: O ponto histórico específico do qual você deseja dados.
    • Point-in-time atual: isso cria uma instância secundária com os dados mais recentes de uma instância de banco de dados.
    • Data e hora específicas: isso cria uma instância secundária em um momento específico na janela de restauração de uma instância de banco de dados. A instância secundária contém todos os dados nesse momento específico.
    • Número de sequência de log específico: log Cria uma instância filha a partir de um determinado número de sequência (LSN) de registro log (WAL) na janela de restauração. O PostgreSQL usa o WAL para dar suporte à recuperação e atribui um LSN a cada registro WAL. A instância secundária contém todos os dados desse WAL LSN. Para obter mais informações sobre WALs, consulte WAL internals. Para obter o valor atual do LSN, consulte Funções de controle de backup.

o passo 3 (Opcional): Restaurar dados

Após criar uma instância filha em um ponto específico no tempo, você pode restaurar os dados da instância filha de volta para sua instância de produção. Isso é útil para recuperar dados perdidos ou corrompidos acidentalmente.

Para restaurar os dados:

  1. Conecte-se à instância filha usando seu cliente PostgreSQL ou método de conexão preferido. Consulte Conectar e consultar.

  2. Escreva um script para copiar os dados necessários da instância filha para a sua instância de produção. O script deve fazer o seguinte:

    • Consulte as tabelas ou os dados específicos de que precisa na instância filha.
    • Insira ou atualize os dados em sua instância de produção.
    • Lidar com quaisquer conflitos ou transformações de dados conforme necessário.
  3. Teste as operações de restauração em um pequeno subconjunto de dados primeiro para garantir a correção.

  4. Executar o script completo de restauração para copiar todos os dados necessários de volta para o ambiente de produção.

  5. Exclua a instância filha após restaurar os dados com sucesso e verificar se a instância de produção está correta. Para excluir sua instância, consulte Excluir uma instância.

Limitações

  • Somente uma instância secundária pode ser criada por vez para uma instância de banco de dados.
  • As instâncias principais não podem ser excluídas, a menos que a instância secundária seja excluída.
  • As instâncias secundárias são projetadas para testes ou recuperação de curto prazo. Modificações pesadas no filho ou no pai podem fazer com que o sistema reduza o compartilhamento de dados e mantenha uma cópia completa para o filho. O uso e o custo do armazenamento podem crescer para se igualar aos de uma instância de banco de dados independente.