Esegui la migrazione al disaster recovery gestito

Questa pagina descrive come eseguire la migrazione dalla replica tra regioni di BigQuery al disaster recovery gestito da BigQuery.

Panoramica

La replica tra regioni (CRR) e il disaster recovery (DR) gestiti di BigQuery sono entrambe funzionalità progettate per migliorare la disponibilità dei dati e le funzionalità di disaster recovery. Tuttavia, gestiscono le interruzioni regionali in modi diversi. Il CRR non consente di promuovere la replica secondaria se la regione principale non è disponibile. Al contrario, il DR offre una protezione più completa consentendo un failover alla replica secondaria anche se la regione principale non è disponibile. Con CRR viene replicato solo lo spazio di archiviazione, mentre con DR vengono replicate sia la capacità di archiviazione sia quella di calcolo.

La seguente tabella descrive le funzionalità di CRR e DR:

Funzionalità CRR RE
Processo di replica iniziale Utilizza CRR per replicare inizialmente il set di dati. Il caricamento iniziale viene replicato in precedenza con CRR prima di eseguire la migrazione di un set di dati CRR a un set di dati DR.
Replica delle promozioni Utilizza la replica standard. Utilizza la replica turbo.
Procedura di promozione Viene promosso a livello di set di dati. Promuove a livello di prenotazione (failover della prenotazione e promozione del set di dati). A una prenotazione di failover possono essere associati molti set di dati. La promozione a livello di set di dati non è disponibile con il DR.
Esecuzione della promozione Tramite la UI o il comando DDL basato su SQL per ogni set di dati. Non è previsto il supporto per CLI, librerie client, API o Terraform. Tramite un comando DDL basato su UI o SQL per ogni prenotazione EPE. Non è supportato l'utilizzo di CLI, librerie client, API o Terraform.
Modalità di failover Failover soft. Failover rigido.
Requisito della versione Qualsiasi modello di capacità. Versione Enterprise Plus.
Limitazioni Limitazioni del RRP. Sono incluse sia le limitazioni CRR sia le limitazioni DR.
Accesso in scrittura I job in esecuzione in qualsiasi modello di capacità possono scrivere nei set di dati replicati nella regione principale. La colonna secondaria è sempre di sola lettura. Solo i job in esecuzione con le prenotazioni Enterprise Plus possono scrivere nei set di dati replicati nella regione principale. I set di dati e le repliche di prenotazione secondari sono sempre di sola lettura.
Accesso in lettura I job in esecuzione in qualsiasi modello di capacità possono leggere da set di dati replicati. I job in esecuzione in qualsiasi modello di capacità possono leggere da set di dati replicati.

Implicazioni della migrazione

Le sezioni seguenti forniscono una panoramica delle modifiche ai costi e alle funzionalità che si verificano durante la migrazione al DR.

Implicazioni sui costi

Tieni in considerazione le seguenti implicazioni in termini di costi quando esegui la migrazione da CRR a DR:

  • Il DR supporta l'accesso in scrittura solo dalla versione Enterprise Plus, che comporta costi di calcolo più elevati. Puoi leggere da qualsiasi modello di capacità, quindi i costi di lettura per i job esistenti non cambiano.

  • Il DR utilizza la replica turbo, che comporta costi aggiuntivi a seconda della coppia di regioni.

  • I prezzi dello spazio di archiviazione sono gli stessi sia per CRR che per DR.

Per ulteriori informazioni sui prezzi, vedi Prezzi.

Implicazioni delle funzionalità

Tieni in considerazione le seguenti implicazioni delle funzionalità durante la migrazione da CRR a DR:

  • Il DR supporta il failover solo a livello di prenotazione. Tutti i job esistenti che si basano sul failover a livello di set di dati non vanno a buon fine.

  • Solo le query della versione Enterprise Plus possono scrivere nel set di dati dopo che è stato collegato alla prenotazione DR. Tutti i job di scrittura esistenti che non utilizzano una versione Enterprise Plus per la loro capacità di calcolo non vanno a buon fine.

Prima di iniziare

Prima di iniziare la migrazione, acquisisci familiarità con i concetti relativi alla replica tra regioni e al disaster recovery gestito.

Per eseguire la migrazione a DR, devi disporre dei seguenti prerequisiti:

  • Hai un progetto Google Cloud attivo con BigQuery abilitato.

  • Hai creato e replicato set di dati con CRR.

  • I set di dati hanno le stesse posizioni principali e secondarie che vuoi utilizzare per il recupero.

  • Disponi delle autorizzazioni necessarie per utilizzare il ripristino dei dati. Per saperne di più sulle autorizzazioni, consulta la sezione Prima di iniziare.

Esegui la migrazione da CRR a DR

Le sezioni riportate di seguito descrivono come eseguire la migrazione dei set di dati da CRR a DR. Si presume che tu abbia già configurato i set di dati per CRR.

Crea una prenotazione di failover

Per attivare il disaster recovery, devi creare una prenotazione di failover nella regione principale. Configura la prenotazione con la regione principale e secondaria appropriata. Le regioni principali e secondarie devono corrispondere alle regioni di tutti i set di dati CRR di cui vuoi eseguire la migrazione al DR. Per creare una prenotazione per il failover, scegli una delle seguenti opzioni:

Console

  1. Nella Google Cloud console, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel menu di navigazione, fai clic su Gestione della capacità e poi su Crea prenotazione.

  3. Nel campo Nome prenotazione, inserisci un nome per la prenotazione.

  4. Nell'elenco Località, seleziona la località.

  5. Nell'elenco Versione, seleziona la versione Enterprise Plus.

  6. Nell'elenco Selettore dimensione massima prenotazione, seleziona la dimensione massima della prenotazione.

  7. (Facoltativo) Nel campo Slot di base, inserisci il numero di slot di base per la prenotazione.

    Il numero di slot con scalabilità automatica disponibili viene determinato sottraendo il valore Slot di riferimento dal valore Dimensione massima della prenotazione. Ad esempio, se crei una prenotazione con 100 slot di riferimento e una dimensione massima della prenotazione di 400, la prenotazione avrà 300 slot con scalabilità automatica. Per saperne di più sugli slot di base di riferimento, consulta Utilizzare le prenotazioni con gli slot di base di riferimento e la scalabilità automatica.

  8. Nell'elenco Località secondaria, seleziona la località secondaria.

  9. Per disattivare la condivisione degli slot inattivi e utilizzare solo la capacità dello slot specificata, fai clic sul pulsante di attivazione/disattivazione Ignora gli slot inattivi.

  10. Per espandere la sezione Impostazioni avanzate, fai clic sulla freccia di espansione .

  11. (Facoltativo) Per impostare la concorrenza dei job target, attiva l'opzione Ignora la concorrenza automatica target dei job e inserisci un valore per Concorrenza dei job target. La suddivisione degli slot viene visualizzata nella tabella Stima dei costi. Un riepilogo della prenotazione viene visualizzato nella tabella Riepilogo della capacità.

  12. Fai clic su Salva.

La nuova prenotazione è visibile nella scheda Prenotazioni di slot.

SQL

Per creare una prenotazione, utilizza l'istruzione DDL (Data Definition Language) CREATE RESERVATION.

  1. Nella Google Cloud console, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor di query, inserisci la seguente istruzione:

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

    Sostituisci quanto segue:

    • ADMIN_PROJECT_ID: l'ID del progetto di amministrazione proprietario della risorsa di prenotazione.
    • LOCATION: la posizione della prenotazione. Se selezioni una località BigQuery Omni, l'opzione di versione è limitata alla versione Enterprise.
    • RESERVATION_NAME: il nome della prenotazione.

      Il nome deve iniziare e terminare con una lettera minuscola o un numero e contenere solo lettere minuscole, numeri e trattini.

    • NUMBER_OF_BASELINE_SLOTS: il numero di slot di riferimento da allocare alla prenotazione. Non puoi impostare l'opzione slot_capacity e l'opzione edition nella stessa prenotazione.
    • SECONDARY_LOCATION: la località secondaria della prenotazione. In caso di interruzione del servizio, tutti i set di dati collegati a questa prenotazione verranno sottoposti a failover in questa posizione.

  3. Fai clic su Esegui.

Per ulteriori informazioni su come eseguire query, consulta Eseguire una query interattiva.

Collega il set di dati alla prenotazione

Dopo aver creato la prenotazione per il failover, collega il set di dati o i set di dati tra regioni alla prenotazione. In questo modo viene attivato il failover per tutti i set di dati collegati. Per collegare il set di dati alla prenotazione, scegli una delle seguenti opzioni:

Console

  1. Nella Google Cloud console, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel menu di navigazione, fai clic su Gestione della capacità, quindi sulla scheda Prenotazioni slot.

  3. Fai clic sulla prenotazione a cui vuoi allegare un set di dati.

  4. Fai clic sulla scheda Disaster recovery.

  5. Fai clic su Aggiungi set di dati di failover.

  6. Inserisci il nome del set di dati da associare alla prenotazione.

  7. Fai clic su Aggiungi.

SQL

Per collegare un set di dati a una prenotazione, utilizza l'istruzione DDL ALTER SCHEMA SET OPTIONS.

  1. Nella Google Cloud console, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor di query, inserisci la seguente istruzione:

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

    Sostituisci quanto segue:

    • DATASET_NAME: il nome del set di dati.

    • ADMIN_PROJECT_ID.RESERVATION_NAME: il nome della prenotazione a cui vuoi associare il set di dati.

  3. Fai clic su Esegui.

Per ulteriori informazioni su come eseguire query, consulta Eseguire una query interattiva.

Verificare la configurazione

Per verificare lo stato della configurazione, esegui una query sulla INFORMATION_SCHEMA.SCHEMATA_REPLICAS visualizzazione.

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

Verifica che i set di dati siano collegati alla prenotazione corretta nelle regioni corrette.

Sostituisci quanto segue:
  • (Facoltativo) PROJECT_ID: l'ID del progetto Google Cloud . Se non specificato, viene utilizzato il progetto predefinito.
  • REGION: qualsiasi nome della regione del set di dati. Ad esempio: `region-us`.

Esempi

L'esempio seguente illustra i passaggi per eseguire la migrazione da CRR a DR con esempi pratici che utilizzano GoogleSQL. Per questo esempio, ipotizziamo quanto segue:

  • Stai lavorando a un progetto denominato myproject.

  • Hai già creato un set di dati denominato mydataset e lo hai configurato con CRR.

  • La regione principale di mydataset è us-central1 e la regione secondaria è us-west1.

Per iniziare la migrazione del set di dati al DR, crea prima una prenotazione con la versione Enterprise Plus. In questo esempio, il nome della prenotazione è 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 volta creata la prenotazione, puoi allegare il set di dati alla prenotazione. L'esempio seguente allega il set di dati alla prenotazione:

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

Poi, verifica che il set di dati sia stato collegato correttamente.

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

I risultati di questa query dovrebbero essere simili ai seguenti:

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

Passaggi successivi