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 a una tabella BigQuery.

Obiettivi

In questo tutorial:

  1. Abiliterai Change Data Capture (CDC) nel database SQL Server.
  2. Creerai ed eseguirai un job di replica di Cloud Data Fusion.
  3. Visualizzerai 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 Google Cloud utenti potrebbero avere diritto a una prova senza costi.

Quando viene eseguita la replica, ti viene addebitato il cluster Dataproc e vengono addebitati i costi di elaborazione per BigQuery. Per ottimizzare questi costi, ti consigliamo vivamente di utilizzare i prezzi a costo fisso di BigQuery.

Prima di iniziare

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

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

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

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

Per ulteriori informazioni sul networking, consulta Utilizzare HAProxy con Cloud Data Fusion per navigare in 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) nel database e nella tabella di cui vuoi eseguire la replica.

Crea ed esegui un job di replica di Cloud Data Fusion

Carica il driver JDBC

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

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 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. In Nome plug-in JDBC, seleziona sqlservero il nome che hai specificato durante la configurazione del driver JDBC.
    5. In Nome database, inserisci AdventureWorks2017.
    6. Nella sezione Credenziali, inserisci il nome utente e la password per accedere a SQL Server.
  5. Fai clic su Avanti.

  6. Configura la destinazione:

    1. Seleziona la destinazione 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 località del bucket Cloud Storage, l'intervallo di caricamento, il prefisso della tabella di gestione temporanea e il comportamento quando vengono eliminate tabelle o database.
  7. Fai clic su Avanti.

  8. Se la connessione è riuscita, 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 per una delle tabelle per una valutazione dei problemi di 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 a 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, 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 Avvio e infine a In esecuzione. Nello stato di esecuzione, il job di replica carica uno snapshot iniziale dei dati della tabella selezionata (ad esempio, la tabella People) in BigQuery. In questo stato, la tabella People è elencata come Snapshotting. Dopo che lo snapshot iniziale è stato caricato in BigQuery, tutte le modifiche apportate alla tabella People vengono replicate in BigQuery. Lo stato della tabella è elencato come Replica.

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 del database e della tabella SQL Server corrispondenti.

  1. Apri BigQuery nella Google Cloud console.

  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 seleziona una tabella da visualizzare.

Per ulteriori informazioni, consulta la documentazione di BigQuery.

Libera spazio

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 create su Google Cloud.

Elimina l'istanza VM

  1. Nella Google Cloud console, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Seleziona la casella di controllo per l'istanza da eliminare.
  3. Per eliminare l'istanza, fai clic su Altre azioni, fai clic su Elimina, quindi segui le istruzioni.

Elimina l'istanza Cloud Data Fusion

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

Elimina il progetto

  1. Nella Google Cloud console, 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 progetto e fai clic su Chiudi per eliminare il progetto.

Passaggi successivi