Daten aus SQL Server in BigQuery replizieren


In dieser Anleitung erfahren Sie, wie Sie einen Job erstellen und bereitstellen, mit dem geänderte Daten kontinuierlich aus einer Microsoft SQL Server-Datenbank in eine BigQuery-Tabelle repliziert werden.

Lernziele

In dieser Anleitung erwartet Sie Folgendes:

  1. Aktivieren Sie Change Data Capture (CDC) in Ihrer SQL Server-Datenbank.
  2. Cloud Data Fusion-Replikationsjob erstellen und ausführen.
  3. Ergebnisse in BigQuery anzeigen

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen. Neuen Google Cloud-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Bei der Replikation werden Ihnen die Kosten für den Dataproc-Cluster und Verarbeitungskosten für BigQuery in Rechnung gestellt. Zur Optimierung dieser Kosten empfehlen wir dringend, die BigQuery-Pauschalpreise zu verwenden.

Hinweise

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Cloud Data Fusion, BigQuery, and Cloud Storage APIs aktivieren.

    Aktivieren Sie die APIs

  5. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  6. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  7. Cloud Data Fusion, BigQuery, and Cloud Storage APIs aktivieren.

    Aktivieren Sie die APIs

  8. Erstellen Sie eine öffentliche Cloud Data Fusion-Instanz in Version 6.3.0 oder höher. Wenn Sie eine private Instanz erstellen, richten Sie VPC-Netzwerk-Peering ein.
    • Aktivieren Sie beim Erstellen der Instanz die Replikation. Klicken Sie dazu auf Beschleuniger hinzufügen und dann auf das Kästchen Replikation.
    • Informationen zum Aktivieren in einer vorhandenen Instanz finden Sie unter Replikation aktivieren.

Weitere Informationen zu Netzwerken finden Sie unter HAProxy mit Cloud Data Fusion verwenden, um komplexe Netzwerktopologien zu navigieren.

Erforderliche Rollen

Informationen zum Abrufen der Berechtigungen, die Sie für diese Anleitung benötigen, finden Sie unter Zugriffssteuerung mit IAM und Dienstkontonutzerberechtigung gewähren.

Optional: SQL Server-VM-Instanz einrichten

  1. Eine SQL Server-Instanz erstellen

  2. Laden Sie die OLTP-Datenbank (AdventureWorks2017) herunter und laden Sie die Daten in Ihre SQL Server-Instanz.

CDC in Ihrer SQL Server-Datenbank aktivieren

Aktivieren Sie für die Replikation Change Data Capture (CDC) für die Datenbank und die Tabelle, die Sie replizieren möchten.

Cloud Data Fusion-Replikationsjob erstellen und ausführen

JDBC-Treiber hochladen

  1. Laden Sie den SQL Server-JDBC-Treiber auf Ihren lokalen Computer herunter.

  2. Laden Sie den JDBC-Treiber in die Cloud Data Fusion-Weboberfläche hoch. Konfigurieren Sie den JDBC-Treiber mit diesen Werten:

    • Geben Sie im Feld Name sqlserver ein.
    • Geben Sie im Feld Klassenname com.microsoft.sqlserver.jdbc.SQLServerDriver ein.
    • Übernehmen Sie im Feld Version die Standardeinstellung.

Auftrag erstellen

  1. Klicken Sie in der Weboberfläche von Cloud Data Fusion auf Replikation.

  2. Klicken Sie auf Replikationsjob erstellen.

  3. Geben Sie auf der Seite Neuen Replikationsjob erstellen den Namen eines Replikationsjobs an und klicken Sie auf Weiter.

  4. Konfigurieren Sie die Quelle:

    1. Wählen Sie Microsoft SQL Server als Quelle aus.
    2. Geben Sie unter Host den Hostnamen des SQL-Servers ein, aus dem gelesen werden soll.
    3. Geben Sie unter Port den Port ein, der für die Verbindung zum SQL Server verwendet werden soll: 1433.
    4. Wählen Sie für JDBC-Plug-in-Name sqlserver oder den Namen aus, den Sie bei der Konfiguration des JDBC-Treibers angegeben haben.
    5. Geben Sie als Datenbankname AdventureWorks2017 ein.
    6. Geben Sie im Abschnitt Anmeldedaten Ihren Nutzernamen und Ihr Passwort ein, um auf den SQL-Server zuzugreifen.
  5. Klicken Sie auf Next (Weiter).

  6. Konfigurieren Sie das Ziel:

    1. Wählen Sie das BigQuery-Ziel aus.
    2. Die Projekt-ID und der Dienstkontoschlüssel werden automatisch erkannt. Ändern Sie sie nicht.
    3. Optional: Im Abschnitt Erweitert können Sie den Namen und den Speicherort des Cloud Storage-Bucket, das Ladeintervall, das Staging-Tabellenpräfix und das Verhalten beim Löschen von Tabellen oder Datenbanken konfigurieren.
  7. Klicken Sie auf Next (Weiter).

  8. Wenn die Verbindung erfolgreich hergestellt wurde, wird eine Liste mit AdventureWorks2017-Tabellen angezeigt. Wählen Sie für diese Anleitung einige Tabellen und Ereignisse aus, z. B. Insert-, Update- und Delete-Ereignisse.

  9. Optional: Konfigurieren Sie die erweiterten Eigenschaften. Für diese Anleitung können Sie die Standardeinstellungen verwenden.

  10. Klicken Sie auf Next (Weiter).

  11. Klicken Sie auf der Seite Bewertung überprüfen neben einer beliebigen Tabelle auf Zuordnungen ansehen, um eine Bewertung von Schemaproblemen, fehlenden Features oder Verbindungsproblemen zu erhalten, die während der Replikation auftreten können. Bevor Sie fortfahren können, müssen die Probleme behoben werden. Wenn es in dieser Anleitung Probleme gibt, kehren Sie zu dem Schritt zurück, in dem Sie Tabellen ausgewählt haben, und wählen Sie eine Tabelle oder ein Ereignis ohne Probleme aus.

    Weitere Informationen zu Datentypkonvertierungen von der Quelldatenbank in das BigQuery-Ziel finden Sie unter Replikationsdatentypen.

  12. Klicken Sie auf Back (Zurück).

  13. Klicken Sie auf Next (Weiter).

  14. Prüfen Sie die zusammenfassenden Details des Replikationsjobs und klicken Sie dann auf Replikationsjob bereitstellen.

Job starten

  • Klicken Sie auf der Seite Details zum Replikationsjob auf Start.

Der Replikationsjob wechselt vom Status Wird bereitgestellt in den Status Wird gestartet in den Status Wird ausgeführt. Im Status „Wird ausgeführt“ lädt der Replikationsjob einen ersten Snapshot der von Ihnen ausgewählten Tabellendaten (z. B. die Tabelle „Personen“) in BigQuery. In diesem Status wird der Status der Tabelle als Snapshots werden erstellt aufgeführt. Nachdem der erste Snapshot in BigQuery geladen wurde, werden alle Änderungen an der Tabelle „Personen“ in BigQuery repliziert. Der Status der Tabelle wird als Replikation aufgeführt.

Job überwachen

Sie können den Replikationsjob starten und beenden, die Konfiguration und Logs überprüfen sowie den Replikationsjob überwachen.

Sie können Aktivitäten von Replikationsjobs auf der Seite Details zum Replikationsjob überwachen.

  1. Klicken Sie auf der Seite Replikation auf den Namen des Replikationsjobs.

  2. Klicken Sie auf Monitoring.

Ergebnisse in BigQuery anzeigen

Der Replikationsjob erstellt ein repliziertes Dataset und eine replizierte Tabelle in BigQuery, wobei die Namen aus der entsprechenden SQL Server-Datenbank und -Tabellennamen übernommen werden.

  1. Öffnen Sie BigQuery in der Google Cloud Console.

  2. Klicken Sie im linken Bereich auf den Projektnamen, um eine Liste der Datasets zu maximieren.

  3. Wählen Sie zuerst das Dataset adventureworks2017 und dann eine Tabelle aus.

Weitere Informationen finden Sie in der BigQuery-Dokumentation.

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.

Löschen Sie nach Abschluss der Anleitung die Ressourcen, die Sie in Google Cloud erstellt haben.

VM-Instanz löschen

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zu Seite „VM-Instanzen“

  2. Klicken Sie auf das Kästchen für die Die Instanz, die Sie löschen möchten.
  3. Klicken Sie zum Löschen der Instanz auf Weitere Aktionen, dann auf Löschen, und folgen Sie dann der Anleitung.

Löschen Sie die Cloud Data Fusion-Instanz.

Folgen Sie der Anleitung zum Löschen Ihrer Cloud Data Fusion-Instanz.

Projekt löschen

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

Nächste Schritte