Daten aus Teradata migrieren

Einführung

Die Kombination aus BigQuery Data Transfer Service und speziellem Migrations-Agent ermöglicht es Ihnen, Daten aus einem lokalen Data-Warehouse-System wie Teradata in BigQuery zu kopieren. Dieses Dokument bietet eine Übersicht über den Datenübertragungsprozess mit BigQuery Data Transfer Service.

Die Datenübertragung ist kostenlos. Weitere Informationen finden Sie unter Preise.

Wenn Sie BigQuery Data Transfer Service für die Migration von Data Warehouses nutzen möchten, laden Sie zuerst einen lokalen Migrations-Agent herunter, der eine Verbindung zu Ihrem Data Warehouse vor Ort herstellt. Danach konfigurieren Sie eine Übertragung im BigQuery Data Transfer Service.

Der lokale Migrations-Agent kommuniziert mit BigQuery Data Transfer Service, um Tabellen aus Ihrem Data Warehouse nach BigQuery zu kopieren. Sie können wiederkehrende Datenladevorgänge aus dem Data Warehouse in BigQuery überwachen, indem Sie die Web-UI von BigQuery Data Transfer Service verwenden.

Das folgende Diagramm zeigt den vereinfachten Gesamtdatenfluss zwischen einem lokalen Data Warehouse wie Teradata und BigQuery.

Datenextraktion in BigQuery

Übertragungsmodi und -optionen

Da für jede Migration spezielle Anforderungen gelten, kann der Migrations-Agent auf folgende Arten angepasst werden. Beim Einrichten einer Datenübertragung von Teradata zu BigQuery gibt es drei Hauptoptionen:

Extraktionsmethode

BigQuery Data Transfer Service unterstützt zwei verschiedene Extraktionsmethoden für die Übertragung von Daten von Teradata zu BigQuery:

  1. Extraktion mit JDBC-Treiber und FastExport-Verbindung: In diesem Modus wird eine Tabelle in eine Sammlung von AVRO-Dateien an einen angegebenen Speicherort in einem lokalen Dateisystem extrahiert. Die extrahierten Dateien werden dann in einen bestimmten Cloud Storage-Bucket hochgeladen. Nach erfolgreicher Übertragung werden die Dateien aus dem lokalen Dateisystem gelöscht.
    • Beschränkungen beim Speicherplatz in einem lokalen Dateisystem werden erzwungen. Die Extraktion wird pausiert, bis extrahierte Dateien aus dem lokalen Dateisystem hochgeladen und gelöscht werden.
    • Wenn es enge Einschränkungen für den lokalen Speicherplatz gibt oder TPT nicht verfügbar ist, verwenden Sie diese Extraktionsmethode.
    • Der JDBC-Treiber mit FastExport ist die Standardextraktionsmethode.
  2. Extraktion mit dem tbuild-Dienstprogramm "Teradata Parallel Transporter (TPT)". In diesem Modus versucht ein Agent, Extraktionsbatches mithilfe von Zeilen zu berechnen, die nach Partitionen verteilt sind. Für jeden Batch wird ein TPT-Extraktionsskript ausgegeben und ausgeführt, das einen Satz von durch Trennzeichen getrennten Dateien erzeugt. Nach jeder Batchextraktion werden Dateien in einen bestimmten Cloud Storage-Bucket hochgeladen und aus dem lokalen Dateisystem gelöscht. Beschränkungen beim Speicherplatz im lokalen Dateisystem werden nicht erzwungen. Sie müssen daher dafür sorgen, dass das lokale Dateisystem über genügend Speicherplatz verfügt, um die größte Partition in einer Teradata-Tabelle zu extrahieren.
    • Wir empfehlen, mit TPT zu extrahieren und Ihr Schema anzupassen, um Partitionsspalten anzugeben. Dies führt zur schnellsten Datenextraktion.

Weitere Informationen zum Angeben der Extraktionsmethode finden Sie im Abschnitt Konfiguration für den Migrations-Agent in der schrittweisen Anleitung zum Einrichten von Übertragungen.

Benutzerdefinierte Schemadatei

Eine Schemadatei ist eine JSON-Datei, die Datenbankobjekte beschreibt. Das Schema enthält einen Satz Datenbanken, die jeweils eine Gruppe von Tabellen enthalten, von denen jede eine Gruppe von Spalten enthält. Jede Spalte hat das Feld Typ – ein Typ, der einer Spalte in BigQuery zugewiesen ist.

In einer Schemadatei hat jedes Objekt das Feld Name – einen Namen, der diesem in BigQuery zugewiesen wird. Jedes Objekt hat außerdem das Feld originalName – den Namen des übereinstimmenden Objekts in der Teradata-Datenbank.

BigQuery Data Transfer Service bietet eine automatische Schemaerkennung und Datenkonvertierung während einer Datenübertragung von Teradata zu BigQuery. Optional können Sie auch eine benutzerdefinierte Schemadatei angeben. Die Anpassung von Schemas wird in einigen Situationen dringend empfohlen. Beispiele:

  • Eine benutzerdefinierte Schemadatei ist besonders nützlich, um zusätzliche Informationen zu einer Tabelle wie die Partitionierung aufzunehmen, die ohne die Nennung einer Schemadatei bei der Migration verloren gehen würden.
  • Sie können eine benutzerdefinierte Schemadatei angeben, um Felder wie Name eines beliebigen Objekts oder das Array usageType einer beliebigen Spalte während der Datenübertragung zu transformieren.
  • Weitere Informationen finden Sie unter Benutzerdefinierte Schemadatei.

On-Demand- oder inkrementelle Übertragungen

Bei der Migration von Daten aus einer Teradata-Datenbankinstanz zu BigQuery unterstützt BigQuery Data Transfer Service sowohl die einmalige Snapshot-Datenübertragung als auch wiederkehrende, regelmäßige Übertragungen neuer und aktualisierter Zeilen ("inkrementelle Übertragungen") (Beta). Sie legen die Übertragung beim Einrichten einer Übertragung in den Planungsoptionen als On-Demand oder inkrementell fest.

  • On-Demand-Datenübertragung
    • Wenn Ihre Tabelle sehr groß ist und Sie TPT für eine bessere Leistung extrahieren können, empfehlen wir Ihnen, Ihre Teradata-Tabelle so zu partitionieren, dass Partitionen partitionsweise extrahiert werden können. Weitere Informationen finden Sie unter Benutzerdefinierte Schemadatei.
    • Wenn Ihre Tabellen klein sind oder Sie TPT nicht verwenden können, befolgen Sie die grundlegende Anleitung. Die Anpassung von Schemas ist nicht erforderlich.
  • Inkrementelle Datenübertragung
    • Wenn Sie regelmäßig Änderungen von Teradata zu BigQuery migrieren möchten, können Sie den inkrementellen Modus verwenden. Auf wiederkehrender Basis werden neue und geänderte Datensätze aus Teradata an BigQuery-Tabellen angehängt.
    • Bei dieser Methode müssen Sie Ihr Schema anpassen, um COMMIT_TIMESTAMP-Spalten mit Anmerkungen zu versehen.
    • Beim Einrichten inkrementeller Übertragungen gelten bestimmte Bedingungen. Weitere Informationen finden Sie unter Inkrementelle Übertragungen.

Überlegungen zum Standort

Ihr Cloud Storage-Bucket muss sich in einer Region oder Multiregion befinden, die mit der Region oder Multiregion des Ziel-Datasets in BigQuery kompatibel ist.

Platzieren Sie die Cloud Storage-Buckets zum Exportieren von Daten am selben Standort wie das Dataset:
  • Wenn sich Ihr BigQuery-Dataset an einem multiregionalen Standort befindet, muss sich der Cloud Storage-Bucket mit den Daten, die Sie übertragen, in einem regionalen oder multiregionalen Bucket am selben Standort befinden. Wenn sich Ihr BigQuery-Dataset zum Beispiel in der EU befindet, muss sich der Cloud Storage-Bucket in einem regionalen oder multiregionalen Bucket in der EU befinden.
  • Wenn sich Ihr Dataset an einem regionalen Standort befindet, muss der Cloud Storage-Bucket ein regionaler Bucket am selben Standort sein. Befindet sich Ihr Dataset zum Beispiel in der Region "Tokio", muss auch der Cloud Storage-Bucket ein regionaler Bucket in Tokio sein.
  • Ausnahme: Wenn sich Ihr Dataset an einem multiregionalen Standort in den USA befindet, können Sie Daten aus einem Cloud Storage-Bucket an einem beliebigen regionalen oder multiregionalen Standort übertragen.

Ausführliche Informationen zu Übertragungen und Regionen finden Sie unter Dataset-Standorte und -Übertragungen.

Preise

Das Migrieren von Data-Warehouse-Instanzen mit dem BigQuery Data Transfer Service ist kostenlos.

  • Das Extrahieren, das Hochladen in einen Cloud Storage-Bucket und das Laden von Daten in BigQuery ist ebenfalls kostenlos.
  • Die Daten werden nach dem Hochladen in BigQuery nicht automatisch aus Ihrem Cloud Storage-Bucket gelöscht. Daher sollten Sie sie selbst herauslöschen, um weitere Speicherkosten zu vermeiden. Weitere Informationen finden Sie unter Cloud Storage – Preise.

Beschränkungen

  • Einmalige On-Demand-Übertragungen werden vollständig unterstützt. Inkrementelle Übertragungen befinden sich in der Betaphase. DDL- und DML-Vorgänge bei inkrementellen Übertragungen werden teilweise unterstützt.
  • Daten werden vor Ort in einen Ordner im lokalen Dateisystem extrahiert. Sorgen Sie dafür, dass ausreichend Speicherplatz vorhanden ist.
    • Wenn Sie den FastExport-Extraktionsmodus verwenden, können Sie den maximal zu verwendenden Speicherplatz festlegen und das Limit vom Migrations-Agent erzwingen. Legen Sie die Einstellung max-local-storage in der Konfigurationsdatei des Migrations-Agent fest, wenn Sie eine Übertragung von Teradata zu BigQuery einrichten.
    • Sorgen Sie bei Verwendung der TPT-Extraktionsmethode dafür, dass das Dateisystem über genügend freien Speicherplatz verfügt, der mindestens der größten Tabellenpartition in der Teradata-Instanz entspricht.
  • BigQuery Data Transfer Service konvertiert das Schema automatisch, wenn Sie keine benutzerdefinierte Schemadatei bereitstellen, und überträgt Teradata-Daten an BigQuery. Die Daten werden von Teradata zu BigQuery-Typen zugeordnet.
  • Dateien werden nach dem Hochladen aus dem lokalen Dateisystem nicht automatisch aus Ihrem Cloud Storage-Bucket gelöscht und in BigQuery geladen. Sie sollten die Daten aus Ihrem Cloud Storage-Bucket löschen, nachdem Sie sie in BigQuery geladen haben, um zusätzliche Speicherkosten zu vermeiden. Weitere Informationen finden Sie unter Preise.
  • Die Geschwindigkeit der Extraktion hängt von Ihrer JDBC-Verbindung ab.
  • Die aus Teradata extrahierten Daten sind nicht verschlüsselt. Treffen Sie geeignete Maßnahmen, um den Zugriff auf die extrahierten Dateien im lokalen Dateisystem einzuschränken und dafür zu sorgen, dass der Cloud Storage-Bucket ordnungsgemäß gesichert ist.

  • Andere Datenbankressourcen wie gespeicherte Prozeduren, gespeicherte Abfragen, Datenansichten und benutzerdefinierte Funktionen werden nicht übertragen und fallen nicht in den Anwendungsbereich dieses Dienstes.

Weitere Informationen