Migrar para a recuperação de desastres gerenciada

Esta página descreve como migrar da replicação entre regiões do BigQuery para a recuperação de desastres gerenciada do BigQuery.

Visão geral

A replicação entre regiões (CRR, na sigla em inglês) e a recuperação de desastres gerenciada (DR, na sigla em inglês) do BigQuery são recursos projetados para melhorar a disponibilidade de dados e os recursos de recuperação de desastres. No entanto, eles lidam com interrupções regionais de maneiras diferentes. A CRR não permite promover a réplica secundária se a região principal estiver indisponível. Em contraste, a DR oferece uma proteção mais abrangente, permitindo um failover para a réplica secundária, mesmo que a região principal esteja indisponível. Com a CRR, apenas o armazenamento é replicado, enquanto com a DR, o armazenamento e a capacidade de computação são replicados.

A tabela a seguir descreve os recursos da CRR e da DR:

Recurso CRR DR
Processo de replicação inicial Usa a CRR para replicar o conjunto de dados inicialmente. O carregamento inicial é replicado anteriormente com a CRR antes de migrar um conjunto de dados da CRR para um conjunto de dados da DR.
Replicação de promoção Usa a replicação padrão. Usa a replicação Turbo.
Processo de promoção Promove no nível do conjunto de dados. Promove no nível da reserva (failover de reserva e promoção de conjunto de dados ). Muitos conjuntos de dados podem ser anexados a uma reserva de failover. A promoção no nível do conjunto de dados não está disponível com DR.
Execução da promoção Pela interface ou pelo comando DDL baseado em SQL para cada conjunto de dados. Não há suporte para CLI, bibliotecas de cliente, API ou Terraform. Pela interface ou pelo comando DDL baseado em SQL para cada reserva do EPE. Não há suporte para CLI, bibliotecas de cliente , API ou Terraform.
Modo de failover Failover flexível. Failover rígido.
Requisito de edição Qualquer modelo de capacidade. Edição Enterprise Plus.
Limitações Limitações da CRR. Inclui limitações da CRR e da DR .
Acesso de gravação Os jobs executados em qualquer modelo de capacidade podem gravar em conjuntos de dados replicados na região principal. A secundária é sempre somente leitura. Somente os jobs executados em reservas do Enterprise Plus podem gravar em conjuntos de dados replicados na região principal. As réplicas secundárias de conjuntos de dados e reservas são sempre somente leitura.
Acesso de leitura Os jobs executados em qualquer modelo de capacidade podem ler conjuntos de dados replicados. Os jobs executados em qualquer modelo de capacidade podem ler conjuntos de dados replicados.

Implicações da migração

As seções a seguir oferecem uma visão geral das mudanças de custo e capacidade que ocorrem quando você migra para a DR.

Implicações no custo

Considere as seguintes implicações de custo ao migrar da CRR para a DR:

  • A DR só oferece suporte ao acesso de gravação da edição Enterprise Plus, o que gera custos de computação mais altos. É possível ler de qualquer modelo de capacidade, então os custos de leitura para jobs atuais não mudam.

  • A DR usa a replicação turbo, que gera custos adicionais dependendo do par de regiões.

  • Os preços de armazenamento são os mesmos para CRR e DR.

Para mais informações sobre preços, consulte Preços.

Implicações de capacidade

Considere as seguintes implicações de capacidade ao migrar da CRR para a DR:

  • A DR só oferece suporte a failover no nível da reserva. Todos os jobs atuais que dependem do failover no nível do conjunto de dados falham.

  • Somente as consultas da edição Enterprise Plus podem gravar no conjunto de dados depois que ele é anexado à reserva da DR. Todos os jobs de gravação atuais que não usam uma edição Enterprise Plus para a capacidade de computação falham.

Antes de começar

Antes de iniciar a migração, familiarize-se com os conceitos de replicação entre regiões e recuperação de desastres gerenciada.

Para migrar para a DR, você precisa atender aos seguintes pré-requisitos:

  • Você tem um projeto ativo Google Cloud com o BigQuery ativado.

  • Você criou e replicou conjuntos de dados com a CRR.

  • Os conjuntos de dados têm os mesmos locais principal e secundário que você quer usar para a DR.

  • Você tem as permissões necessárias para trabalhar com a DR. Para mais informações sobre permissões, consulte Antes de começar.

Migrar da CRR para a DR

As seções a seguir descrevem como migrar seus conjuntos de dados da CRR para a DR. Supõe-se que você já tenha configurado os conjuntos de dados para a CRR.

Criar uma reserva de failover

Para ativar a recuperação de desastres, crie uma reserva de failover na região principal. Configure a reserva com a região principal e secundária apropriada. As regiões principal e secundária precisam corresponder às regiões de todos os conjuntos de dados da CRR que você pretende migrar para a DR. Para criar uma reserva de failover, escolha uma das seguintes opções:

Console

  1. No Google Cloud console, acesse a página BigQuery.

    Acessar o BigQuery

  2. No menu de navegação, clique em Gerenciamento de capacidade e em Criar reserva.

  3. No campo Nome da reserva, insira um nome para a reserva.

  4. Na lista Local, selecione um local.

  5. Na lista Edição, selecione a edição Enterprise Plus.

  6. Na lista Seletor de tamanho máximo da reserva, escolha o tamanho máximo da reserva.

  7. Opcional: no campo Slots de valor de referência, insira o número de slots de valor de referência para a reserva.

    O número de slots de escalonamento automático disponíveis é determinado subtraindo o valor Slots de referência do valor do Tamanho máximo da reserva. Por exemplo, se você criar uma reserva com 100 slots de valor de referência e um tamanho máximo de 400, sua reserva terá 300 slots de escalonamento automático. Para mais informações sobre slots de valor de referência, consulte Como usar reservas com slots de valor de referência e de escalonamento automático.

  8. Na lista Local secundário, selecione o local secundário.

  9. Para desativar o compartilhamento de slots inativos e usar apenas a capacidade de slot especificada, clique em Ignorar slots inativos.

  10. Para expandir a seção Configurações avançadas, clique na seta .

  11. Opcional: para definir a simultaneidade do job de destino, ative a opção Modificar simultaneidade automática do job de destino e insira um valor em Simultaneidade do job de destino. O detalhamento de slots é exibido na tabela Estimativa de custo. Um resumo da reserva será exibido na tabela Resumo da capacidade.

  12. Clique em Salvar.

A nova reserva fica visível na guia Reservas de slots.

SQL

Para criar uma reserva, use a CREATE RESERVATION instrução de linguagem de definição de dados (DDL).

  1. No Google Cloud console, acesse a página BigQuery.

    Acessar o BigQuery

  2. No editor de consultas, digite a seguinte instrução:

    CREATE RESERVATION
      `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME`
    OPTIONS (
      slot_capacity = NUMBER_OF_BASELINE_SLOTS,
      edition = ENTERPRISE_PLUS,
      secondary_location = SECONDARY_LOCATION);

    Substitua:

    • ADMIN_PROJECT_ID: o ID do projeto de administração que é proprietário do recurso de reserva.
    • LOCATION: o local da reserva. Se você selecionar um local do BigQuery Omni, sua opção de edição será limitada à edição Enterprise.
    • RESERVATION_NAME: o nome da reserva.

      Ele precisa começar e terminar com uma letra minúscula ou um número e conter apenas letras minúsculas, números e traços.

    • NUMBER_OF_BASELINE_SLOTS: o número de slots de referência que serão alocados para a reserva. Não é possível definir a opção slot_capacity e edition na mesma reserva.
    • SECONDARY_LOCATION: o local secundário da reserva. Em caso de interrupção, todos os conjuntos de dados anexados a essa reserva farão failover para esse local.

  3. Clique em Executar.

Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.

Anexar o conjunto de dados à reserva

Depois de criar a reserva de failover, anexe o conjunto de dados entre regiões ou conjuntos de dados à reserva. Isso ativa o failover para todos os conjuntos de dados anexados. Para anexar o conjunto de dados à reserva, escolha uma das seguintes opções:

Console

  1. No Google Cloud console, acesse a página BigQuery.

    Acessar o BigQuery

  2. No menu de navegação, clique em Gerenciamento de capacidade e, em seguida, na guia Reservas de slot.

  3. Clique na reserva a que você quer anexar um conjunto de dados.

  4. Clique na guia Recuperação de desastres.

  5. Clique em Adicionar conjunto de dados de failover.

  6. Insira o nome do conjunto de dados que você quer associar à reserva.

  7. Clique em Adicionar.

SQL

Para anexar um conjunto de dados a uma reserva, use a ALTER SCHEMA SET OPTIONS instrução DDL.

  1. No Google Cloud console, acesse a página BigQuery.

    Acessar o BigQuery

  2. No editor de consultas, digite a seguinte instrução:

    ALTER SCHEMA
      `DATASET_NAME`
    SET OPTIONS (
      failover_reservation = ADMIN_PROJECT_ID.RESERVATION_NAME);

    Substitua:

    • DATASET_NAME: o nome do conjunto de dados.

    • ADMIN_PROJECT_ID.RESERVATION_NAME: o nome da reserva a que você quer associar o conjunto de dados.

  3. Clique em Executar.

Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.

Verificar a configuração

Para verificar o status da configuração, consulte a INFORMATION_SCHEMA.SCHEMATA_REPLICAS visualização.

PROJECT_ID.`region-REGION`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS[_BY_PROJECT]

Verifique se os conjuntos de dados estão anexados à reserva correta nas regiões corretas.

Substitua:
  • Opcional: PROJECT_ID: o ID do seu Google Cloud projeto. Se não for especificado, o projeto padrão será usado.
  • REGION: qualquer nome da região do conjunto de dados. Por exemplo, `region-us`.

Exemplos

O exemplo a seguir mostra as etapas para migrar da CRR para a DR com exemplos práticos usando o GoogleSQL. Para este exemplo, considere o seguinte:

  • Você está trabalhando em um projeto chamado myproject.

  • Você já criou um conjunto de dados chamado mydataset e o configurou com a CRR.

  • A região principal de mydataset é us-central1 e a região secundária é us-west1.

Para começar a migrar o conjunto de dados para a DR, primeiro crie uma reserva com a edição Enterprise Plus. Neste exemplo, o nome da reserva é myreservation.

CREATE RESERVATION `myproject.region-us-central1.myreservation`
OPTIONS (
  slot_capacity = 0,
  edition = ENTERPRISE_PLUS,
  autoscale_max_slots = 50,
  secondary_location = 'us-west-1');

Depois que a reserva for criada, você poderá anexar o conjunto de dados a ela. O exemplo a seguir anexa o conjunto de dados à reserva:

ALTER SCHEMA
  `myproject.mydataset`
SET OPTIONS (
  failover_reservation = 'myproject.myreservation');

Em seguida, verifique se o conjunto de dados foi anexado.

SELECT
  failover_reservation_project_id,failover_reservation_name,
FROM
 `myproject`.`region-us-west1`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS
WHERE
 schema_name='mydataset';

Os resultados dessa consulta serão semelhantes a estes:

+---------------------------------+---------------------------+
| failover_reservation_project_id | failover_reservation_name |
+---------------------------------+---------------------------+
| myproject                       | myreservation             |
| myproject                       | myreservation             |
+---------------------------------+---------------------------+

A seguir