Migration mit Migrationsherkunft planen
Mit dem Migrations-Lineage-Dienst können Sie den Datenfluss und die Verbindungen in Ihrer Quelldatenbank visualisieren, wenn Sie eine BigQuery-Data-Warehouse-Migration planen.
Wenn Sie eine Migrationsherkunft erstellen, stellt der Herkunftsdienst ein Diagramm bereit, das zeigt, wie Daten durch Ihr Quellsystem fließen und wie die einzelnen Tabellen oder Ansichten in Ihrem Quellsystem verbunden sind. Dies wird im folgenden Diagramm dargestellt:
Der Dienst für die Migrationsherkunft unterstützt die folgenden SQL-Dialekte:
- Amazon Redshift-SQL
- Snowflock-SQL
- Teradata SQL
- GoogleSQL (BigQuery)
Beschränkungen
Der Herkunftsdienst verarbeitet die ersten 5 GB der ältesten Logs aus Ihrer Quelldatenbank.
Unterstützte Standorte
Der Dienst für die Migrationsherkunft ist an ausgewählten Standorten verfügbar. Weitere Informationen finden Sie unter Standorte für den BigQuery SQL-Übersetzer und den Lineage-Dienst.
Erforderliche Berechtigungen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle MigrationWorkflow-Bearbeiter (roles/bigquerymigration.editor) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie für die Verwendung des Dienstes zur Migrationsherkunft benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die für die Verwendung des Migrationsherkunftsdienstes erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um den Dienst für die Migrationsherkunft zu verwenden:
-
bigquerymigration.workflows.create -
bigquerymigration.workflows.get -
bigquerymigration.lineageDbs.query
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter BigQuery-IAM-Rollen und -Berechtigungen.
Migrationsherkunft verfolgen
Wenn Sie eine Migrationsherkunft verfolgen möchten, führen Sie zuerst das dwh-migration-dumper-Tool aus, um SQL-Logdateien für die Quelleingabe zu generieren, die Sie in Cloud Storage hochladen.
Nachdem Sie die Eingabedateien in Cloud Storage hochgeladen haben, können Sie die Migrationsherkunft mit der Cloud de Confiance Console oder der BigQuery Migration API verfolgen.
dwh-migration-dumper-Tool ausführen
Wählen Sie eine der folgenden Optionen aus:
Amazon Redshift
So verfolgen Sie eine Migrationsherkunft in einer Amazon Redshift-Datenbank und rufen sie auf:
- Führen Sie das Tool
dwh-migration-dumperaus, um einen Dump Ihrer Quellsystemdateien zu generieren. - Laden Sie die Abfragelogs in Cloud Storage hoch.
Snowflake
So verfolgen Sie eine Migrationsherkunft in einer Snowflake-Datenbank und rufen sie auf:
- Führen Sie das Tool
dwh-migration-dumperaus, um einen Dump Ihrer Quellsystemdateien zu generieren. - Laden Sie die Abfragelogs in Cloud Storage hoch.
Teradata
So verfolgen Sie eine Migrationsherkunft in einer Teradata-Datenbank und rufen sie auf:
- Führen Sie das Tool
dwh-migration-dumperaus, um einen Dump Ihrer Quellsystemdateien zu generieren. - Laden Sie die Abfragelogs in Cloud Storage hoch.
BigQuery
So verfolgen Sie die Migrationsherkunft in einer BigQuery-Datenbank und rufen sie auf:
- Weisen Sie dem Konto oder Dienstkonto die folgenden Rollen zu:
- BigQuery Metadata Viewer (
roles/bigquery.metadataViewer) - Data Catalog-Betrachter (
roles/datacatalog.viewer)
- BigQuery Metadata Viewer (
- Installieren Sie das
dwh-migration-dumper-Tool. Führen Sie das
dwh-migration-dumper-Tool aus, um Metadaten und Abfragelogs zu generieren. Diese Metadaten und Abfragelogs sind in einer oder mehreren ZIP-Dateien enthalten.dwh-migration-dumper --connector bigquery dwh-migration-dumper --connector bigquery-logs
Laden Sie die ZIP-Dateien in einen Cloud Storage-Bucket hoch. Weitere Informationen zum Erstellen von Buckets und zum Hochladen von Dateien in Cloud Storage finden Sie unter Bucket erstellen und Objekte aus einem Dateisystem hochladen.
Lineage verfolgen
Nachdem Sie die ZIP-Dateien mit den Metadaten und Abfragelogs in Cloud Storage hochgeladen haben, können Sie die Herkunft verfolgen. Wählen Sie eine der folgenden Optionen aus:
Console
Rufen Sie die Seite Ihre Migrationsdienste auf.
Klicken Sie unter Lineage verfolgen auf Übersetzung verfolgen.
Geben Sie unter Konfiguration der Herkunft Folgendes ein:
- Geben Sie unter Anzeigename einen Namen für den Herkunftsjob an. Der Name kann Buchstaben, Ziffern und Unterstriche enthalten.
- Wählen Sie unter Verarbeitungsort den Ort aus, an dem der Herkunftsjob ausgeführt werden soll.
Geben Sie unter Eingabeverzeichnis bearbeiten den Pfad zum Cloud Storage-Ordner mit den ZIP-Dateien der Logs an, die Sie zuvor hochgeladen haben. Sie können den Pfad im Format
bucket_name/folder_name/eingeben oder auf Durchsuchen klicken. Sie können das Unterverzeichnis Ihrer Ausgabedateien auch im Feld Name des Ausgabeunterverzeichnisses benennen.Sie können weitere Eingabedateien hinzufügen, indem Sie auf Speicherort für Eingabeverzeichnis hinzufügen klicken.
Klicken Sie auf Trace.
Der Herkunftsjob wird jetzt ausgeführt. Je nach Eingabegröße kann der Job mehrere Stunden dauern. Nach Abschluss des Jobs stellt das Tool einen Link zur verfolgten Migrationsherkunft bereit.
API
Führen Sie den folgenden curl-Befehl aus, um einen Herkunftsjob zu verfolgen:
curl -d "{ \"tasks\": { \"TASK_NAME\": { \"type\": \"Experimental_Lineage\", \"translation_details\": { \"target_base_uri\": \"BUCKET_PATH\", \"source_target_mapping\": { \"source_spec\": { \"base_uri\": \"BUCKET_PATH\" } }, \"target_types\": \"LINEAGE\" } } } } " \ -H "Content-Type:application/json" \ -H "Authorization: Bearer TOKEN" -X POST https://bigquerymigration.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/workflows
Ersetzen Sie Folgendes:
TASK_NAME: Ein Name zur Identifizierung dieses Herkunftsjobs.BUCKET_PATH: der Pfad zum Cloud Storage-Bucket, der Ihre ZIP-Eingabedateien enthält.PROJECT_ID: die Projekt-ID Ihres Projekts inCloud de Confiance .LOCATION: ein Verarbeitungsstandort. Dieser Wert muss entwedereuoderussein.
Dieser Aufruf gibt eine Nachricht wie die folgende zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID", "tasks": { "task_name": { /*...*/ } }, "state": "RUNNING" }
Der Herkunftsjob wird jetzt ausgeführt. Je nach Eingabegröße kann der Job mehrere Stunden dauern. Führen Sie den folgenden curl-Befehl mit der Workflow-ID aus, um den Status des Herkunftsjobs zu prüfen:
curl \ -H "Content-Type:application/json" \ -H "Authorization:Bearer " -X GET https://bigquerymigration.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID
Nach Abschluss des Jobs stellt das Tool einen Link zur Ansicht der verfolgten Herkunft bereit.
Migrations-Lineage öffnen
Nachdem Sie eine Migrationsherkunft verfolgt haben, können Sie sie mit einer der folgenden Optionen öffnen:
Console
Rufen Sie die Seite Ihre Migrationsdienste auf.
Klicken Sie unter Herkunft verfolgen auf Letzte anzeigen.
Klicken Sie auf der Seite Migrationsherkunft auf den Jobnamen, um den vollständigen Herkunftsjob auszuwählen.
Klicken Sie auf der Seite Übersetzungsdetails auf Datenherkunft.
API
Führen Sie den folgenden curl-Befehl mit der BigQuery Migration API aus, um eine abgeschlossene Migrationsherkunft zu öffnen:
curl \ -H "Content-Type:application/json" \ -H "Authorization:Bearer " -X GET https://bigquerymigration.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID
Ersetzen Sie Folgendes:
PROJECT_ID: die Projekt-ID Ihres Projekts inCloud de Confiance .LOCATION: ein Verarbeitungsstandort. Dieser Wert muss entwedereuoderussein.WORKFLOW_ID: die Workflow-ID der verfolgten Herkunft.
Rufen Sie den Link im Feld taskResult.translationTaskResult.consoleUri der Ausgabenachricht auf.
Mit Migrationsherkunft arbeiten
In den folgenden Abschnitten wird beschrieben, wie Sie die Migrationsherkunft für die Arbeit mit Ihren Quelldaten und Ihrer Datenbank verwenden können.
Begriffe zur Migrationsherkunft verstehen
Die folgenden Begriffe werden in einer Migrationsherkunft verwendet:
| Nutzungsbedingungen | Beschreibung |
|---|---|
| Skripts | SQL-Skripts und andere Programme, die in den Datenbanklogs sichtbar sind, die während der Herkunftserstellung aufgenommen wurden. Skripts bestehen aus Anweisungen, die meist einzelne SQL-Anweisungen sind. |
| Knoten | Die Eckpunkte des Herkunftsdiagramms. Diese bestehen aus Tabellen und Spalten. |
| Tabellen | Wird auch als Beziehungen bezeichnet, einschließlich gewöhnlicher Tabellen, Ansichten, strukturierter Dateien und anderer tabellenähnlicher Ressourcen. |
| Spalten | Auch als Attribute bezeichnet, einschließlich Tabellenspalten, Ansichtsprojektionen, Pseudospalten, spaltenähnlichen Feldern in Dateien und anderen Ressourcen sowie Unterspalten wie Strukturfeldern. |
| Kanten | Verbindungen zwischen Herkunftsknoten, die auf Interaktionen aufgrund einer Pipeline hinweisen, die ein Script ausführt, das diese Knoten gelesen oder geschrieben hat. Kanten werden mit Zeitstempeln, Prädikaten und anderen Metadaten aus dem Zeitpunkt versehen, zu dem die Kante abgeleitet wurde. Ein Knoten, der über eine Kante mit einem anderen Knoten verbunden ist, wird als direkte Verbindung bezeichnet. Ein Pfad von Kanten zwischen zwei Knoten wird als indirekte Verbindung bezeichnet. |
| Lineage-Kanten | Gerichtete Kanten, die angeben, dass der Quellknoten in einer Klausel wie FROM, WHERE oder GROUP BY enthalten war, die die Daten des Zielknotens beeinflusst hat. |
| Nutzer und Pipelines | Metadatenlabels, die von der Quelldatenbank bereitgestellt werden und Aufschluss darüber geben, wer und was Scripts ausgeführt hat. Sie haben keine inhärente Bedeutung für die Herkunfts-Engine, werden aber verwendet, um Skripts nach Ursprung zu gruppieren. |
In den folgenden Abschnitten werden die verschiedenen Seiten einer Migrationsherkunft beschrieben.
Landingpage prüfen
Auf der Landingpage der Migrationsherkunft werden die ID des Herkunftsjobs, ein Suchfeld zum Suchen von Herkunftsobjekten nach Name und eine Vorschlagsliste mit einigen Herkunftsobjekten angezeigt, die von Interesse sein könnten. Die Seite enthält auch die Gesamtzahl der Tabellen, Pipelines und Nutzer in der Migrationsherkunft.
Wenn Sie zu einer bestimmten Tabelle, Ansicht oder Spalte wechseln möchten, suchen Sie im Suchfeld nach dem Objekt oder klicken Sie auf der Landingpage auf eines der vorgeschlagenen Objekte.
Knotenseite prüfen
Klicken Sie auf einen der folgenden Tabs, um die Knoten in Ihrer Migrationsherkunft zu prüfen.
Tab „Datenfluss“
Der Tab Datenfluss zeigt eine visuelle Darstellung eines Teils des Herkunftsgraphen. Dies ist die Standardseite, wenn Sie eine Tabelle oder Spalte zum ersten Mal im Lineage-Dienst aufrufen. Das Diagramm veranschaulicht, wie Daten durch Ihr Quellsystem fließen. Knoten in diesem Diagramm stellen Tabellen oder Ansichten dar, während Kanten zwischen den Knoten Daten darstellen, die von den Knoten auf der linken Seite zu den Knoten auf der rechten Seite fließen.
In jeder Tabelle im Diagramm Datenfluss wird der nicht qualifizierte Name angezeigt. Wenn Sie den vollständig qualifizierten Namen einer Tabelle mit dem Datenbank- und Schemapräfix sehen möchten, halten Sie den Mauszeiger über den Knoten, um die Kurzinfo aufzurufen. Jede Tabelle gibt ihr Schema an, wie durch den vertikalen Balken auf dem Knoten angezeigt. Alle Schemas in der Herkunft sind alphabetisch sortiert und ihnen ist eine Farbe zugewiesen. Tabellen im selben Schema haben also gleichfarbige Balken und Tabellen in Schemas mit ähnlichen Namen haben ähnlich farbige Balken.
Auf jedem Knoten wird ein Symbol angezeigt, das die Eigenschaften des Knotens angibt:
- monitor: eine Ansicht, keine Tabelle.
- cached: Eine Tabelle, die immer vollständig aktualisiert wird (gekürzt und dann neu geschrieben). Klicken Sie auf das Symbol, um Skripts neben dieser Tabelle aufzurufen.
- Im Cache gespeichert: Eine Tabelle, die nicht immer vollständig aktualisiert wird (gekürzt und dann neu geschrieben). Klicken Sie auf das Symbol, um Skripts neben dieser Tabelle aufzurufen.
- timer: Eine Tabelle, die nur kurz existiert hat. Bewegen Sie den Mauszeiger auf das Symbol, um die Dauer anzuzeigen, für die die Tabelle vorhanden war.
- snowflake: Eine Tabelle, die zuletzt vor mehr als sieben Tagen geschrieben wurde. Dies deutet auf eine Tabelle mit statischen oder selten geschriebenen Daten hin.
So prüfen Sie die Objekte im Diagramm Datenfluss:
- Klicken Sie auf eine Tabelle, um eine Liste der Tabellenspalten aufzurufen. Diese Ansicht enthält den Namen jeder Spalte sowie ihren Datentyp, der aus einem bereitgestellten Metadaten-Dump ermittelt oder aus dem SQL in den Abfragelogs abgeleitet wurde.
- Klicken Sie auf eine Spalte, um das Herkunftsdiagramm auf Spaltenebene für eine Spalte aufzurufen. Im Herkunftsdiagramm auf Spaltenebene stellen die Kanten Datenflüsse dar, die sich auf die Zielspalte auswirken.
Wenn Sie Details zu einer Kante aufrufen möchten, klicken Sie im Diagramm auf eine Kante. Diese Ansicht enthält Links zu den SQL-Skripts, die die Kante induziert haben.
Eine Edge wird von einem Quellknoten zu einem Zielknoten generiert, wenn eine SQL-Anweisung auf den Quellknoten verweist, während die Anweisung Daten berechnet, die in den Zielknoten eingefügt werden. In der Regel werden dabei Daten von der Quelle zum Ziel übertragen. Auf dem Tab Datenfluss wird jedoch auch eine Kante angezeigt, wenn der Quellknoten in einer
WHERE- oderGROUP BY-Klausel verwendet wird, die sich auf das Ziel auswirkt. Wenn Sie nur nach Datenübertragungen filtern möchten, aktivieren Sie in der Symbolleiste die Schaltfläche Nicht-Daten-Kanten anzeigen.
Tab „Verbindungen“
Auf dem Tab Verbindungen eines Lineage-Knotens wird eine Liste der Knoten in der Nähe im Lineage-Diagramm angezeigt. Standardmäßig werden verbundene Knoten nach der Entfernung des kürzesten Pfads vom aktuellen Knoten sortiert. Knoten, die vom aktuellen Knoten aus über weniger Kanten erreichbar sind, werden zuerst aufgeführt. Sie können die Sortierung mit der Option Sortieren ändern.
Die Verbindungsliste enthält standardmäßig sowohl Upstream-Knoten (Ersteller) als auch Downstream-Knoten (Nutzer) des aktuellen Knotens. Sie können diesen Filter mit dem Steuerelement Typ ändern. In der Spalte Entfernung werden Knoten, die sich vorgelagert zum aktuellen Knoten befinden, mit einem nach oben zeigenden Pfeil und der Entfernung des kürzesten Rückwärtspfads zu diesem Knoten vom aktuellen Knoten angezeigt. Knoten, die sich nachgelagert zum aktuellen Knoten befinden, werden mit einem nach unten zeigenden Pfeil und der Entfernung des kürzesten Weiterleitungspfads zu diesem Knoten vom aktuellen Knoten angezeigt. Ein Knoten kann sowohl vor- als auch nachgelagert zum aktuellen Knoten sein, wenn er Teil eines Zyklus ist.
Wenn Sie eine Datei mit allen angezeigten Knoten herunterladen möchten, klicken Sie auf Herunterladen CSV.
Tab "Users" ("Nutzer")
Auf dem Tab Nutzer eines Knotens werden Nutzer angezeigt, die Skripts ausgeführt haben, die den Knoten oder Knoten, die ihm vor- oder nachgelagert sind, gelesen oder geschrieben haben. Standardmäßig wird der Nutzer, der die meisten separaten Aktionen ausgeführt hat, zuerst aufgeführt. Mit der Option Sortieren können Sie die Sortierung ändern.
Wenn Sie eine Datei mit allen angezeigten Nutzern herunterladen möchten, klicken Sie auf Herunterladen (CSV).
Tab „Pipelines“
Auf dem Tab Pipelines eines Knotens werden die Pipelines angezeigt, die Skripts ausgeführt haben, die den Knoten oder die Knoten, die sich vor- oder nachgelagert befinden, gelesen oder geschrieben haben. Standardmäßig wird die Pipeline, die die meisten separaten Aktionen ausgeführt hat, zuerst aufgeführt. Mit der Option Sortieren können Sie die Sortierung ändern.
Wenn Sie eine Datei mit allen angezeigten Pipelines herunterladen möchten, klicken Sie auf Herunterladen CSV.
Tab „Code“
Auf dem Tab Code für einen Knoten werden alle SQL-Skripts angezeigt, die in den Eingabedateien gefunden wurden, die Daten von diesem Knoten gelesen oder in diesen Knoten geschrieben haben. Erwähnungen des Knotens werden im SQL-Text hervorgehoben. Klicken Sie auf ein Skript, um den vollständigen Text einzublenden. Sie können die Filtereinstellungen ändern, um die Liste der angezeigten Skripts zu filtern.
Wenn Sie eine Datei mit allen angezeigten Skripts herunterladen möchten, klicken Sie auf Herunterladen – CSV.
Edge-Seite prüfen
Klicken Sie auf einen der folgenden Tabs, um die Knotenkanten in Ihrem Herkunftsdiagramm zu prüfen.
Tab „Details“
Auf dem Tab Details für eine Kante werden Prädikate und Kategorien angezeigt, die die Vorgänge beschreiben, die von Skripts ausgeführt wurden, die die Kante induziert haben.
Prädikate werden als dreiteilige Codes notiert, die durch Bindestriche getrennt sind. Der erste Teil ist entweder r, was angibt, dass die Quelle der Kante eine Beziehung ist, oder a, was angibt, dass die Quelle der Kante ein Attribut ist. Der zweite Teil ist eine der folgenden Abkürzungen, die angibt, wie der Quellknoten die Daten im Zielknoten beeinflusst hat:
has: Die Quellbeziehung enthält das Zielattribut.dat: Die Quelle kopiert oder überträgt Daten an das Ziel.res: Die Quelle filtert oder beschränkt die Kardinalität des Ziels in einer Klausel wieWHERE,HAVINGoderJOIN ON.grp: Die Quelle wird in einerGROUP BY-Klausel verwendet, die sich auf das Ziel auswirkt.
Der dritte Teil ist ebenfalls entweder r oder a und gibt an, ob das Ziel der Edge eine Beziehung oder ein Attribut ist.
Edge-Kategorien können Folgendes umfassen:
dat-Prädikate:AGGREGATE: Die Quelle wurde in einer aggregierten Berechnung verwendet, die das Ziel geschrieben hat.EXACT_COPY: Die Daten aus der Quelle wurden vollständig in das Ziel kopiert.FUNCTION: Die Quelle wurde verwendet, um das Ziel zu berechnen.IDENTITY_COPY: Das Ziel wurde nicht berechnet. Das Ziel war eine wörtliche Kopie der Quelle ohne Umwandlungen oder Konvertierungen.PARTITION_PROMOTION: Das Ziel enthält Daten aus der Quelle, da eine Partition der Quelle auf das Ziel hochgestuft wurde.WEAK_COPY: Daten aus der Quelle wurden zumindest teilweise in das Ziel kopiert.
res-Prädikate:FILTER: Die Quelle wurde in einem Vergleich verwendet, bei dem das Ziel geschrieben wurde.KEY: Daten aus der Quelle wurden als Schlüssel in einem Join-Vergleich verwendet, der das Ziel geschrieben hat.
grp-Prädikate:GROUP: Daten aus der Quelle wurden als Schlüssel in einerGROUP BY-Klausel verwendet, die sich auf das Ziel auswirkt.
Tab „Code“
Auf dem Tab Code für eine Kante werden die SQL-Skripts angezeigt, die diese Kante ausgelöst haben. Die Quell- und Zielknoten der Kante werden dort hervorgehoben, wo sie im SQL-Text erwähnt werden.
Nächste Schritte
- Führen Sie eine Migrationsbewertung durch, um die Machbarkeit und die potenziellen Vorteile der Migration Ihres Data Warehouse zu BigQuery zu bewerten.
- Verwenden Sie den SQL-Übersetzungsdienst, z. B. den interaktiven SQL-Übersetzer, die Translation API und den Batch-SQL-Übersetzer, um die Konvertierung Ihrer SQL-Abfragen in GoogleSQL zu automatisieren, einschließlich der Gemini-gestützten SQL-Anpassung.