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 provisionamento Lakebase usa compute de provisionamento que você escala manualmente. Para comparação de recursos com o novo dimensionamento automático do Lakebase, consulte a seção "Escolhendo entre versões".

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 Ícone do aplicativo. Acesse os aplicativos no canto superior direito e selecione Lakebase Postgres .
  2. Clique em provisionamento para abrir a página de instâncias de provisionamento .
  3. Selecione a instância do banco de dados que você deseja atualizar.
  4. Clique em Editar no canto superior direito.
  5. Em Configurações avançadas , defina o número de dias para o período 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.

  1. Clique Ícone do aplicativo. Acesse os aplicativos no canto superior direito e selecione Lakebase Postgres .

  2. Clique em provisionamento para abrir a página de instâncias de provisionamento .

  3. Clique em Criar instância de banco de dados .

  4. Configure sua instância:

    • Nome : Insira um nome para a instância do banco de dados (de 1 a 63 caracteres, somente letras e hífenes).
    • Capacidade : Selecione o tamanho compute (default: 2 CUs). Consulte o tamanho da instância.
    • Política de uso sem servidor : Selecione uma política de orçamento para atribuir o uso e a cobrança serverless (opcional). Consulte as políticas de orçamento sem servidor.
  5. Expanda as Configurações Avançadas .

  6. Habilitar a criação a partir do pai .

  7. Configure as definições da instância filha:

    • Nome da instância pai : Insira o nome da instância pai a partir da qual você deseja criar um banco de dados filho.
    • Incluir dados do período anterior até : Selecione o ponto histórico específico do qual você deseja obter dados.
      • Ponto atual no tempo : Cria uma instância filha com os dados mais recentes de uma instância de banco de dados.
      • Data e hora específicas : Cria uma instância filha em um ponto específico no tempo dentro da janela de restauração de uma instância de banco de dados. A instância filha contém todos os dados naquele momento específico.
      • Número de sequência de log específico : Cria uma instância filha a partir de um número de sequêncialog (LSN) de write-ahead log (WAL) específico na janela de restauração. O PostgreSQL usa WAL para dar suporte à recuperação e atribui um LSN a cada registro WAL. A instância filha contém todos os dados naquele LSN do WAL. Para mais informações sobre WALs, consulte Funcionamento interno do WAL. Para obter o valor LSN atual, consulte Funções de controle de backup.
  8. Clique em Criar .

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.