Usa la replicación entre regiones y la recuperación ante desastres

Borderless Lakehouse admite la replicación entre regiones y la recuperación ante desastres para los metadatos del catálogo.

Esta configuración requiere catálogos respaldados por buckets de Cloud Storage birregionales o multirregionales.

Antes de comenzar

  1. Verifica que la facturación esté habilitada para tu proyecto de Google Cloud .

  2. Habilita la API de BigLake si aún no está habilitada.

    Roles necesarios para habilitar las APIs

    Para habilitar las APIs, necesitas el permiso serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtenerlo a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén información para otorgar roles.

    Habilitar la API

Roles obligatorios

Para obtener los permisos que necesitas para usar el extremo del catálogo de Iceberg REST en el catálogo de tiempo de ejecución de Lakehouse, pídele a tu administrador que te otorgue los siguientes roles de IAM:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Flujo de trabajo de replicación y recuperación ante desastres

Para usar la replicación entre regiones y la recuperación ante desastres, sigue estos pasos generales:

  1. Visualiza el estado de la replicación: Identifica tus regiones principal y secundaria actuales para determinar la región de destino de la conmutación por error.
  2. Verifica el estado de sincronización: Comprueba el estado actual de tus regiones principal y secundaria para asegurarte de que estén listas para una transición.
  3. Elige un modo de conmutación por error: Elige entre una conmutación por error suave (ideal para el mantenimiento planificado) o una conmutación por error forzada (ideal para la recuperación de emergencia).
  4. Inicia la conmutación por error: Ejecuta el comando correspondiente al modo que elegiste para cambiar tus regiones principal y secundaria.

Prepárate para la conmutación por error

Identifica tu región principal actual y verifica el estado de sincronización de tu región secundaria. Luego, inicia la conmutación por error.

Ver el estado de la replicación

Para determinar las regiones en las que se replica tu catálogo, ejecuta el siguiente comando de gcloud biglake iceberg catalogs describe.

gcloud biglake iceberg catalogs describe CATALOG_NAME

Reemplaza CATALOG_NAME por el nombre de tu catálogo.

Verifica el estado de sincronización

Antes de iniciar una conmutación por error, verifica el estado de sincronización de tu réplica secundaria con el comando gcloud biglake iceberg catalogs failover:

gcloud biglake iceberg catalogs failover CATALOG_NAME \
    --validate_only \
    --primary-replica PRIMARY_REPLICA_REGION

Reemplaza lo siguiente:

  • CATALOG_NAME: Es el nombre de tu catálogo.
  • PRIMARY_REPLICA_REGION: Es la región que se designará como la nueva réplica principal.

Inicia una conmutación por error

La función de recuperación ante desastres usa la replicación del almacén de metadatos para designar regiones principales y secundarias. Todos los metadatos de confirmación de la tabla se entregan desde la región principal y se replican en la región secundaria. Puedes cambiar las regiones principal y secundaria del catálogo con la operación de conmutación por error.

Conmutación por error manual

Para iniciar una conmutación por error suave, ejecuta el siguiente comando de gcloud biglake iceberg catalogs failover:

gcloud biglake iceberg catalogs failover CATALOG_NAME \
    --primary-replica PRIMARY_REPLICA_REGION

Reemplaza lo siguiente:

  • CATALOG_NAME: Es el nombre de tu catálogo.
  • PRIMARY_REPLICA_REGION: Es la región que se designará como la nueva réplica principal.

Conmutación por error forzada

Para iniciar una conmutación por error forzada, ejecuta el siguiente comando de gcloud biglake iceberg catalogs failover:

gcloud biglake iceberg catalogs failover CATALOG_NAME \
    --primary-replica PRIMARY_REPLICA_REGION \
    --conditional-failover-replication-time=REPLICATION_TIMESTAMP

Reemplaza lo siguiente:

  • CATALOG_NAME: Es el nombre de tu catálogo.
  • PRIMARY_REPLICA_REGION: Es la región que se designará como la nueva réplica principal.
  • REPLICATION_TIMESTAMP: Es una marca de tiempo RFC 3339 que actúa como un punto de control para la replicación. El proceso de replicación verifica que la réplica contenga todos los datos confirmados hasta este momento. Si la réplica no contiene todos los datos confirmados antes de esta marca de tiempo, el comando falla. Para forzar el proceso de conmutación por error, independientemente de cualquier retraso en la replicación, establece esta marca de tiempo en una fecha muy anterior. Nota: Mientras esta función se encuentre en versión preliminar, el REPLICATION_TIMESTAMP solo hará un seguimiento de los metadatos del catálogo, en lugar de los archivos de Cloud Storage. Para mantener la pérdida de datos con un límite inferior, consulta la documentación de Disponibilidad y durabilidad de los datos de Cloud Storage.

¿Qué sigue?