Migra a la recuperación ante desastres administrada

En esta página, se describe cómo migrar de la replicación entre regiones de BigQuery a la recuperación ante desastres administrada de BigQuery.

Descripción general

La replicación entre regiones (CRR) y la recuperación ante desastres (DR) administrada de BigQuery son funciones diseñadas para mejorar la disponibilidad de los datos y las capacidades de recuperación ante desastres. Sin embargo, manejan las interrupciones regionales de diferentes maneras. La CRR no permite ascender la réplica secundaria si la región principal no está disponible. En cambio, la DR ofrece una protección más integral, ya que permite una conmutación por error a la réplica secundaria incluso si la región principal no está disponible. Con la CRR, solo se replica el almacenamiento, mientras que con la DR se replican tanto el almacenamiento como la capacidad de procesamiento.

En la siguiente tabla, se describen las capacidades de las funciones de CRR y DR:

Función CRR DR
Proceso de replicación inicial Usa la CRR para replicar el conjunto de datos inicialmente. La carga inicial se replicó previamente con CRR antes de migrar un conjunto de datos de CRR a un conjunto de datos de DR.
Replicación de promociones Usa la replicación estándar. Usa la replicación turbo.
Proceso de promoción Se promueve a nivel del conjunto de datos. Se promueve a nivel de la reserva (conmutación por error de la reserva y promoción del conjunto de datos). Se pueden adjuntar muchos conjuntos de datos a una reserva de conmutación por error. La promoción a nivel del conjunto de datos no está disponible con DR.
Ejecución de la promoción A través de la IU o el comando DDL basado en SQL para cada conjunto de datos No hay compatibilidad con la CLI, las bibliotecas cliente, la API ni Terraform. A través de la IU o el comando DDL basado en SQL para cada reserva de EPE No hay compatibilidad con la CLI, las bibliotecas cliente, la API ni Terraform.
Modo de conmutación por error Conmutación por error manual. Conmutación por error forzada.
Requisito de edición Cualquier modelo de capacidad. Edición Enterprise Plus.
Limitaciones Limitaciones de la CRR. Incluye las limitaciones de CRR y las de DR.
Acceso de escritura Los trabajos que se ejecutan con cualquier modelo de capacidad pueden escribir en conjuntos de datos replicados en la región principal. La dimensión secundaria siempre es de solo lectura. Solo los trabajos que se ejecutan con reservas de Enterprise Plus pueden escribir en conjuntos de datos replicados en la región principal. Las réplicas secundarias de conjuntos de datos y reservas siempre son de solo lectura.
Acceso de lectura Los trabajos que se ejecutan con cualquier modelo de capacidad pueden leer datos de conjuntos de datos replicados. Los trabajos que se ejecutan con cualquier modelo de capacidad pueden leer datos de conjuntos de datos replicados.

Implicaciones de la migración

En las siguientes secciones, se proporciona una descripción general de los cambios en los costos y las capacidades que se producen cuando migras a DR.

Implicaciones de costos

Ten en cuenta las siguientes implicaciones de costos cuando migres de CRR a DR:

  • La DR solo admite acceso de escritura desde la edición Enterprise Plus, lo que genera costos de procesamiento más altos. Puedes leer desde cualquier modelo de capacidad, por lo que los costos de lectura de los trabajos existentes no cambian.

  • DR usa la replicación turbo, que genera costos adicionales según el par de regiones.

  • Los precios de almacenamiento son los mismos para la CRR y la DR.

Para obtener más información sobre los precios, consulta Precios.

Implicaciones de capacidad

Ten en cuenta las siguientes implicaciones de capacidad cuando migres de CRR a DR:

  • DR solo admite la conmutación por error a nivel de la reserva. Fallarán todos los trabajos existentes que dependan de la conmutación por error a nivel del conjunto de datos.

  • Solo las consultas de la edición Enterprise Plus pueden escribir en el conjunto de datos una vez que se adjunta a la reserva de DR. Fallarán todos los trabajos de escritura existentes que no usen una edición Enterprise Plus para su capacidad de procesamiento.

Antes de comenzar

Antes de comenzar la migración, familiarízate con los conceptos de la replicación entre regiones y la recuperación ante desastres administrada.

Para migrar a DR, debes cumplir con los siguientes requisitos previos:

  • Tienes un proyecto Google Cloud activo con BigQuery habilitado.

  • Creaste y replicaste conjuntos de datos con la CRR.

  • Los conjuntos de datos tienen las mismas ubicaciones principales y secundarias que deseas usar para la DR.

  • Tienes los permisos necesarios para trabajar con DR. Para obtener más información sobre los permisos, consulta Antes de comenzar.

Migra de CRR a DR

En las siguientes secciones, se describe cómo migrar tus conjuntos de datos de CRR a DR. Se supone que ya configuraste tus conjuntos de datos para CRR.

Crea una reserva de conmutación por error

Para habilitar la recuperación ante desastres, debes crear una reserva de conmutación por error en la región principal. Configura tu reserva con la región principal y secundaria adecuadas. Las regiones principal y secundaria deben coincidir con las regiones de todos los conjuntos de datos de CRR que planeas migrar a DR. Para crear una reserva de conmutación por error, elige una de las siguientes opciones:

Console

  1. En la consola de Google Cloud , ve a la página BigQuery.

    Ir a BigQuery

  2. En el menú de navegación, haz clic en Administración de la capacidad y, luego, en Crear reserva.

  3. En el campo Nombre de la reserva, ingresa un nombre para la reserva.

  4. En la lista Ubicación, selecciona ubicación.

  5. En la lista Edición, selecciona la edición Enterprise Plus.

  6. En la lista Selector de tamaño máximo de reserva, selecciona el tamaño máximo de reserva.

  7. En el campo Ranuras de referencia, ingresa la cantidad de ranuras del modelo de referencia para la reserva (opcional).

    La cantidad de ranuras disponibles con ajuste de escala automático se determina restando el valor de las ranuras del modelo de referencia del valor del tamaño máximo de la reserva. Por ejemplo, si creas una reserva con 100 ranuras de referencia y un tamaño máximo de reserva de 400, la reserva tiene 300 ranuras de ajuste de escala automático. Para obtener más información sobre las ranuras de referencia, consulta Usa reservas con ranuras de referencia y de ajuste de escala automático.

  8. En la lista Ubicación secundaria, selecciona la ubicación secundaria.

  9. Para inhabilitar el uso compartido de ranuras inactivas y utilizar solamente la capacidad de ranura especificada, haz clic en el botón de activación Ignorar ranuras inactivas.

  10. Para expandir la sección Configuración avanzada, haz clic en la flecha de expansión .

  11. Opcional: Para configurar la simultaneidad de los trabajos de destino, haz clic en el botón de activación Anular la simultaneidad automática del trabajo de destino y, luego, ingresa un valor para la simultaneidad de los trabajos de destino. El desglose de ranuras se muestra en la tabla Estimación de costos. Se muestra un resumen de la reserva en la tabla Resumen de capacidad.

  12. Haz clic en Guardar.

La reserva nueva se puede ver en la pestaña Reservas de ranuras.

SQL

Para crear una reserva, usa la sentencia del lenguaje de definición de datos CREATE RESERVATION (DDL).

  1. En la consola de Google Cloud , ve a la página BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, escribe la siguiente oración:

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

    Reemplaza lo siguiente:

    • ADMIN_PROJECT_ID por el ID del proyecto de administración que posee el recurso de reserva
    • LOCATION: Es la ubicación de la reserva. Si seleccionas una ubicación de BigQuery Omni, la opción de edición se limita a Enterprise Edition.
    • RESERVATION_NAME por el nombre de la reserva.

      El nombre comenzar y terminar con una letra minúscula o un número, y contener solo letras minúsculas, números y guiones.

    • NUMBER_OF_BASELINE_SLOTS: es la cantidad de ranuras del modelo de referencia que asignarás a la reserva. No puedes configurar las opciones slot_capacity y edition en la misma reserva.
    • SECONDARY_LOCATION: Es la ubicación secundaria de la reserva. En caso de interrupción, los conjuntos de datos conectados a esta reserva conmutarán por error a esta ubicación.

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.

Adjunta el conjunto de datos a la reserva

Una vez que hayas creado la reserva de conmutación por error, adjunta a ella tu conjunto de datos entre regiones o tus conjuntos de datos entre regiones. Esto habilita la conmutación por error para todos los conjuntos de datos adjuntos. Para adjuntar el conjunto de datos a la reserva, elige una de las siguientes opciones:

Console

  1. En la consola de Google Cloud , ve a la página BigQuery.

    Ir a BigQuery

  2. En el menú de navegación, haz clic en Administración de capacidad y, luego, en la pestaña Reservas de ranuras.

  3. Haz clic en la reserva a la que deseas conectar un conjunto de datos.

  4. Haz clic en la pestaña Recuperación ante desastres.

  5. Haz clic en Agregar conjunto de datos de conmutación por error.

  6. Ingresa el nombre del conjunto de datos que deseas asociar a la reserva.

  7. Haz clic en Agregar.

SQL

Para adjuntar un conjunto de datos a una reserva, usa la sentencia de DDL ALTER SCHEMA SET OPTIONS.

  1. En la consola de Google Cloud , ve a la página BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, escribe la siguiente oración:

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

    Reemplaza lo siguiente:

    • DATASET_NAME: El nombre del conjunto de datos.

    • ADMIN_PROJECT_ID.RESERVATION_NAME: Es el nombre de la reserva a la que deseas asociar el conjunto de datos.

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.

Verifica la configuración

Para verificar el estado de tu configuración, consulta la vista INFORMATION_SCHEMA.SCHEMATA_REPLICAS.

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

Verifica que los conjuntos de datos estén adjuntos a la reserva correcta en las regiones correspondientes.

Reemplaza lo siguiente:
  • Opcional: PROJECT_ID: Es el ID de tu proyecto de Google Cloud . Si no se especifica, se usa el proyecto predeterminado.
  • REGION: Cualquier nombre de región del conjunto de datos. Por ejemplo, `region-us`.

Ejemplos

En el siguiente ejemplo, se explican los pasos para migrar de CRR a DR con ejemplos prácticos que usan GoogleSQL. En este ejemplo, supongamos lo siguiente:

  • Estás trabajando en un proyecto llamado myproject.

  • Ya creaste un conjunto de datos llamado mydataset y lo configuraste con el CRR.

  • La región principal de mydataset es us-central1 y la región secundaria es us-west1.

Para comenzar a migrar tu conjunto de datos a la DR, primero crea una reserva con la edición de Enterprise Plus. En este ejemplo, el nombre de la reserva es myreservation.

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

Una vez que se cree la reserva, podrás adjuntar el conjunto de datos a ella. En el siguiente ejemplo, se adjunta el conjunto de datos a la reserva:

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

Luego, verifica que el conjunto de datos se haya adjuntado correctamente.

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

Los resultados de esta consulta deberían ser similares a los siguientes:

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

Próximos pasos