Replica dei dati da SQL Server a BigQuery


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

Obiettivi

In questo tutorial:

  1. Abilita Change Data Capture (CDC) nel database SQL Server.
  2. Crea ed esegui un job di replica Cloud Data Fusion.
  3. Visualizza i risultati in BigQuery.

Costi

In questo documento utilizzi i seguenti componenti fatturabili di Google Cloud:

Per generare una stima dei costi in base all'utilizzo previsto, utilizza il Calcolatore prezzi. I nuovi Google Cloud utenti potrebbero avere diritto a una prova gratuita.

Quando viene eseguita la replica, ti viene addebitato il costo del cluster Dataproc e devi sostenere i costi di elaborazione per BigQuery. Per ottimizzare questi costi, ti consigliamo vivamente di utilizzare i prezzi a tariffa fissa di BigQuery.

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.

    Enable the APIs

  8. Crea un'istanza 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 attivarla in un'istanza esistente, consulta Attivare la replica.

Per ulteriori informazioni sul networking, consulta Utilizzare HAProxy con Cloud Data Fusion per gestire topologie di rete complesse.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per questo tutorial, consulta Controllo dell'accesso con IAM e Concedere l'autorizzazione utente del service account.

(Facoltativo) Configura un'istanza VM SQL Server

  1. Crea un'istanza SQL Server.

  2. Scarica il database AdventureWorks2017 (OLTP) e carica i dati nell'istanza SQL Server.

Abilita CDC nel database SQL Server

Per la replica, abilita Change Data Capture (CDC) sul database e sulla tabella da replicare.

Creare ed eseguire un job di replica Cloud Data Fusion

Carica il driver JDBC

  1. Scarica il driver JDBC di SQL Server nella 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 sqlserver.
    • Nel campo Nome corso, inserisci com.microsoft.sqlserver.jdbc.SQLServerDriver.
    • Nel campo Versione, mantieni il valore predefinito.

Crea il job

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

  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 Microsoft SQL Server come origine.
    2. In Host, inserisci il nome host di SQL Server da cui leggere.
    3. In Porta, inserisci la porta da utilizzare per connetterti a SQL Server: 1433.
    4. Per Nome plug-in JDBC, seleziona sqlservero il nome specificato quando hai configurato il driver JDBC.
    5. In Nome database, inserisci AdventureWorks2017.
    6. Nella sezione Credenziali, inserisci il tuo nome utente e la tua password per accedere a SQL Server.
  5. Fai clic su Avanti.

  6. Configura il target:

    1. Seleziona il target BigQuery.
    2. L'ID progetto e la chiave dell'account di servizio vengono rilevati automaticamente. Mantieni i valori predefiniti.
    3. (Facoltativo) Nella sezione Avanzate, puoi configurare il nome e la posizione del bucket Cloud Storage, l'intervallo di caricamento, il prefisso della tabella di staging e il comportamento quando le tabelle o i database vengono eliminati.
  7. Fai clic su Avanti.

  8. Se la connessione viene stabilita, viene visualizzato un elenco di tabelle AdventureWorks2017. Per questo tutorial, seleziona alcune tabelle ed eventi, ad esempio gli eventi Insert, Update e Delete.

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

  10. Fai clic su Avanti.

  11. Nella pagina Esamina valutazione, fai clic su Visualizza mappature in base a una delle tabelle per una valutazione dei problemi relativi allo schema, delle funzionalità mancanti o dei problemi di connettività che potrebbero verificarsi durante la replica. I problemi devono essere risolti prima di poter procedere. Per questo tutorial, se una delle tabelle presenta problemi, torna al passaggio in cui hai selezionato le tabelle e seleziona una tabella o un evento 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. Fai clic su Indietro.

  13. Fai clic su Avanti.

  14. Esamina i dettagli del job di replica di riepilogo e poi fai clic su Esegui il deployment del job di replica.

Avvia il job

  • Nella pagina dei dettagli del job di replica, fai clic su Avvia.

Il job di replica passa dallo stato Provisioning a Avvio e poi a In esecuzione. Nello stato di esecuzione, il job di replica carica in BigQuery un'istantanea iniziale dei dati della tabella selezionata (ad esempio la tabella Persone). In questo stato, lo stato della tabella Persone è indicato come Acquisizione istantanea. Dopo aver caricato lo snapshot iniziale in BigQuery, eventuali modifiche apportate alla tabella Persone vengono replicate in BigQuery. Lo stato della tabella è indicato come Replicazione.

Monitora il job

Puoi avviare e interrompere il job di replica, esaminarne la configurazione e i log e monitorarlo.

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

  1. Nella pagina Replicazione, fai clic sul nome del job di replicazione.

  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 i nomi ereditati dai nomi delle tabelle e del database SQL Server corrispondente.

  1. Apri BigQuery nella console Google Cloud.

  2. Nel riquadro a sinistra, fai clic sul nome del progetto per espandere un elenco di set di dati.

  3. Seleziona il set di dati adventureworks2017, quindi una tabella da visualizzare.

Per ulteriori informazioni, 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.

Al termine del tutorial, elimina le risorse che hai creato su Google Cloud.

Elimina l'istanza VM

  1. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  2. Select the checkbox for the instance that you want to delete.
  3. To delete the instance, click More actions, click Delete, and then follow the instructions.

Elimina l'istanza Cloud Data Fusion

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

Elimina il progetto

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Passaggi successivi