Replica dei dati da MySQL a BigQuery


Questo tutorial mostra come creare ed eseguire il deployment di un job che replica continuamente i dati modificati da un database MySQL a una tabella BigQuery.

Obiettivi

In questo tutorial imparerai a:

  1. Esegui il deployment del tuo database MySQL su Compute Engine.
  2. Configura il tuo database MySQL per abilitare la replica.
  3. Crea ed esegui un job di replica di Cloud Data Fusion.
  4. Visualizza i risultati in BigQuery.

Costi

In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:

Per generare una stima dei costi in base all'utilizzo previsto, utilizza il Calcolatore prezzi. I nuovi utenti di Google Cloud possono essere idonei a una prova senza costi aggiuntivi.

Durante l'esecuzione della replica, ti vengono addebitati i costi per il cluster Dataproc e i costi di elaborazione per BigQuery. Per ottimizzare questi costi, consigliamo vivamente di utilizzare il sistema con tariffe a costo fisso di BigQuery.

Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Abilita le API Cloud Data Fusion, BigQuery, and Cloud Storage.

    Abilita le API

  5. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  7. Abilita le API Cloud Data Fusion, BigQuery, and Cloud Storage.

    Abilita le API

  8. Crea un'istanza di Cloud Data Fusion pubblica nella versione 6.3.0 o successive. Se crei un'istanza privata, configura il peering di rete VPC.
    • Quando crei l'istanza, abilita la replica facendo clic su Aggiungi acceleratori e selezionando la casella di controllo Replica.
    • Per abilitarlo in un'istanza esistente, consulta Abilitare la replica.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per questo tutorial, consulta Controllo dell'accesso con IAM e Concedi l'autorizzazione utente all'account di servizio.

Installa MySQL in Compute Engine

  1. Scarica un'immagine Docker del server MySQL.

  2. Carica l'immagine Docker su Artifact Registry.

  3. Esegui il deployment della tua immagine Docker su una nuova istanza VM.

  4. Nella pagina Dischi di Compute Engine, modifica le dimensioni del disco in 500 GB e riavvia la VM.

    Vai a Dischi

  5. Crea un firewall per l'istanza VM.

  6. Installa il database di esempio Sakila.

Abilita la replica nel tuo database MySQL

Per abilitare la replica, configura Change Data Capture (CDC) in MySQL.

Crea ed esegui un job di replica di Cloud Data Fusion

Carica il driver JDBC

  1. Scarica il driver JDBC MySQL (versione 8 o successiva) sulla tua macchina locale.

  2. Nell'interfaccia web di Cloud Data Fusion, carica il driver JDBC.

    Utilizza questi valori per configurare il driver JDBC:

    • Nel campo Nome, inserisci mysql.
    • Nel campo Version (Versione), lascia il valore predefinito.
    • Nel campo Nome corso, inserisci com.mysql.jdbc.Driver.

Crea il lavoro

  1. Nell'interfaccia web di Cloud Data Fusion, fai clic su Replica.

  2. Fai clic su Crea un job di replica.

  3. Nella pagina Crea nuovo job di replica, specifica un nome per il job di replica e fai clic su Avanti.

  4. Configura l'origine:

    1. Seleziona MySQL come origine.
    2. In Host, inserisci il nome host del server MySQL da cui leggere.
    3. In Porta, inserisci la porta da utilizzare per la connessione al server MySQL: 3306.
    4. In Nome plug-in JDBC , seleziona mysql o il nome specificato durante la configurazione del driver JDBC.
    5. In Nome database, inserisci sakila.
    6. Nella sezione Credenziali, inserisci il nome utente e la password per accedere al server MySQL.
  5. Tocca Avanti.

  6. Configura la destinazione:

    1. Seleziona la destinazione BigQuery.
    2. L'ID progetto e la Chiave account di servizio vengono rilevati automaticamente. Mantieni i valori predefiniti.
    3. (Facoltativo) Nella sezione Avanzate, configura il nome, la località, l'intervallo di carico, il prefisso della tabella temporanea e il comportamento del bucket di gestione temporanea e il comportamento in caso di eliminazione di tabelle o database.
  7. Tocca Avanti.

  8. Se la connessione ha esito positivo, viene visualizzato un elenco di tabelle di database di esempio Sakila. Per questo tutorial, seleziona alcune tabelle ed eventi da replicare, ad esempio eventi di inserimento, aggiornamento ed eliminazione.

  9. (Facoltativo) Configura le proprietà avanzate. Per questo tutorial puoi utilizzare le impostazioni predefinite.

  10. Tocca Avanti.

  11. Nella pagina Esamina valutazione, fai clic su Visualizza mappature in corrispondenza di una qualsiasi delle tabelle per una valutazione di problemi di schema, funzionalità mancanti o problemi di connettività che potrebbero verificarsi durante la replica. Se si verificano problemi, devono essere risolti per poter continuare. Per questo tutorial, se una delle tabelle presenta problemi, torna al passaggio in cui hai selezionato le tabelle e scegli tabelle o eventi (Inserti, Aggiornamenti o Eliminazioni) senza problemi.

    Per ulteriori informazioni sulle conversioni dei tipi di dati dal database di origine alla destinazione BigQuery, consulta Tipi di dati di replica.

  12. Tocca Avanti.

  13. Esamina i dettagli del job di replica di riepilogo, quindi fai clic su Esegui il deployment del job di replica.

Avvia il job

  • Nella pagina Dettagli job di replica, fai clic su Avvia.

Il job di replica passa dallo stato Provisioning a In fase di avvio a In esecuzione. In stato in esecuzione, il job di replica carica in BigQuery uno snapshot iniziale dei dati della tabella selezionati. In questo stato, lo stato della tabella è indicato come Snapshotting. Una volta caricato lo snapshot iniziale in BigQuery, tutte le modifiche apportate alla tabella vengono replicate in BigQuery e lo stato della tabella viene indicato come Replica in corso.

Monitora il job

Puoi avviare e arrestare il job di replica, esaminarne la configurazione e i log e monitorare il job di replica.

Puoi monitorare le attività del job di replica dalla pagina Dettagli job di replica.

  1. Nella pagina Replica, fai clic sul Nome del job di replica.

  2. Fai clic su Monitoraggio.

Visualizza i risultati in BigQuery

Il job di replica crea un set di dati e una tabella replicati in BigQuery, con nomi ereditati dai nomi delle tabelle e del database MySQL corrispondenti.

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

    Vai a BigQuery

  2. Nel riquadro a sinistra, seleziona il nome del progetto per espandere un elenco di set di dati.

  3. Per visualizzare i risultati, seleziona il set di dati sakila e seleziona una tabella.

Per saperne di più, consulta la documentazione di BigQuery.

Esegui la pulizia

Per evitare che al tuo Account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.

Dopo aver completato il tutorial, pulisci le risorse che hai creato su Google Cloud in modo che non occupino quota e non ti vengano addebitati costi in futuro. Le sezioni seguenti descrivono come eliminare o disattivare queste risorse.

Elimina l'istanza di Cloud Data Fusion

Segui le istruzioni per eliminare l'istanza di Cloud Data Fusion.

Elimina il progetto

  1. Nella console Google Cloud, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
  3. Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.

Passaggi successivi