Übersicht
In diesem Thema finden Sie Antworten auf häufig gestellte Fragen (FAQ) zur Verwendung von Datastream. Diese FAQ beziehen sich auf:
- Allgemeine Fragen zu Datastream und Change Data Capture (CDC)
- MySQL Change Data Capture (CDC)
- Oracle Change Data Capture (CDC)
- Gängige Anwendungsfälle für die Verwendung von Datastream
- Wie Datastream Google Cloud-Datendienste einbindet
- Die von Datastream unterstützten Quellen und Ziele
- Verhalten und Einschränkungen von Datastream
- Sicherheit und Konnektivität
- Datastream-Dateien verarbeiten
- Datastream überwachen
- Preise
- Weitere Informationen zu Datastream
Allgemeine Fragen zu Datastream und Change Data Capture (CDC)
Frage | Antwort |
---|---|
Was ist Datastream? | Datastream ist ein serverloser, nutzerfreundlicher CDC- (Change Data Capture) und Replikationsdienst, mit dem Sie Datenstreams über heterogene Datenbanken und Anwendungen zuverlässig und mit minimaler Latenz synchronisieren können. Datastream unterstützt das Streaming von Änderungen an Daten aus Oracle- und MySQL-Datenbanken in Cloud Storage. Der Dienst bietet eine optimierte Einbindung in Dataflow-Vorlagen, um aktuelle materialisierte Ansichten in BigQuery für Analysen zu ermöglichen, ihre Datenbanken in Cloud SQL oder Cloud Spanner für die Datenbanksynchronisierung zu replizieren oder die Streams direkt aus Cloud Storage zu nutzen, um ereignisgesteuerte Architekturen zu realisieren. Datastream kann auch in Cloud Data Fusion eingebunden werden, wenn Sie Datenpipelines mit Transformationen nach BigQuery erstellen möchten. |
Was ist CDC? | CDC ist ein Ansatz für die Datenintegration, mit dem Sie Daten schneller und mit weniger Systemressourcen integrieren und analysieren können. Dies ist eine Methode, um nur die neuesten Änderungen (Aktualisierungen, Einfügungen oder Löschungen) aus einer Datenquelle abzurufen. Dabei wird häufig das Änderungslog gelesen, das von der Quelle zu ihrer eigenen internen transaktionalen Integrität beibehalten wird. CDC ist ein hocheffizienter Mechanismus zum Begrenzen der Auswirkungen auf die Quelle, wenn neue Daten in Betriebsdatenspeicher und Data Warehouses geladen werden. Außerdem kann durch CDC auf das Aktualisieren von Bulk-Ladegängen und umständliche Batch-Fenster verzichtet werden, da inkrementelles Laden oder Echtzeit-Streaming von Daten an ein Datenziel ermöglicht werden. CDC kann in vielen Anwendungsfällen verwendet werden, die Nutzen aus einem konstanten Zugriff auf Datenänderungen ziehen, z. B. Analysen, Synchronisierung von Daten über geografisch verteilte Systeme und ereignisgesteuerte Architekturen. |
Was ist Backfill? | Neben den laufenden Änderungen verwendet Datastream auch Backfill, um alle vorhandenen Daten aus einer Quelle abzurufen und sie dann an ein Ziel zu streamen. Deshalb wird auf das Ziel ein "Backfill" mit allen Verlaufsdaten aus der Quelle angewendet. |
Welche Methoden verwendet Datastream zum Streamen von Daten? | Datastream streamt Daten aus einer Quelle mit einer von zwei Methoden an ein Ziel:
|
Was ist ein Änderungsstream? | Ein Änderungsstream ist eine Abfolge von Ereignissen, die Datastream an ein Ziel wie Cloud Storage für die nachgelagerte Nutzung ausgibt. Das Ergebnis eines Änderungsstreams, der in ein Ziel geschrieben wird, besteht aus einer Reihe von Dateien, die Änderungslogereignisse aus einer bestimmten Datenbanktabelle über einen bestimmten Zeitraum enthalten. Diese Ereignisse stellen Einfügungen, Aktualisierungen und Löschungen in der Tabelle aus der Quelle dar. Die Ereignisse können von Diensten wie Dataflow für ereignisgesteuerte Architekturen nachgelagert genutzt und verarbeitet werden. |
Was ist eine materialisierte Ansicht? | Eine materialisierte Ansicht ist eine aktuelle 1-zu-1-Darstellung einer Quelltabelle in einem Ziel. Ein Beispiel für diesen Ansichtstyp ist eine Oracle-Datenbanktabelle, in der Änderungen aus dieser Tabelle kontinuierlich in eine BigQuery-Tabelle repliziert werden. Daher ist die BigQuery-Tabelle mit den Änderungen aus der Oracle-Tabelle auf dem neuesten Stand. Materialisierte Ansichten nutzen Änderungsstreams, indem die einzelnen Änderungsereignisse verbraucht und zum Aktualisieren der materialisierten Ansicht verwendet werden. Datastream stellt materialisierte Ansichten an Zielen wie BigQuery, Cloud SQL und Cloud Spanner über die Einbindung in Dataflow bereit. Dazu werden Vorlagen verwendet, mit denen die Änderungsstream-Ereignisse vom Ziel abgerufen und die Zieltabellen entsprechend aktualisiert werden. |
Erfordert Datastream einen Agent an der Quelle? | Sie müssen keinen Agent an der Quelle installieren. Datastream verwendet vorhandene Schnittstellen (z. B. Oracle LogMiner), um die Daten aus der Quelle zu erhalten. |
Wie wirkt sich die Leistung von Datastream auf die Nutzung in einer Produktionsdatenbank aus? | CDC ist ein hocheffizienter Mechanismus zum Begrenzen der Auswirkungen auf die Quelle, wenn neue Daten in Zieldatenspeicher und Data Warehouses geladen werden. Außerdem kann durch CDC auf das Aktualisieren von Bulk-Ladegängen und umständliche Batch-Fenster verzichtet werden, indem inkrementelles Laden oder Echtzeit-Streaming von Daten an ein Ziel ermöglicht werden. Darüber hinaus minimiert Datastream die Auswirkungen eines ersten Backfills durch Begrenzen der Anzahl gleichzeitiger Backfill-Aufgaben. Außerdem können Sie steuern, auf welche Objekte und wann ein Backfill angewendet werden soll. |
Können Sie die Logdateien aus der Quelle nach Google Cloud kopieren? | Nein. Datastream fragt die Logs direkt auf dem Datenbankserver ab. Nur Änderungen an den angegebenen Tabellen werden in das Ziel geschrieben. |
Kann Datastream auch Verlaufsdaten übertragen? | Ja. Standardmäßig ruft Datastream parallel zum CDC-Stream alle Verlaufsdaten aus Datenbanktabellen der von Ihnen angegebenen Quelle ab. Mit Datastream können Sie Verlaufsdaten aus einigen oder allen Datenbanktabellen in Ihrer Quelle flexibel abrufen. Wenn Sie den Stream konfigurieren, können Sie außerdem verlaufsbezogene Backfills deaktivieren. |
Wie viele Zeilen werden von Datastream maximal unterstützt? | Datastream ist derzeit auf Zeilen mit maximal 3 MB beschränkt. |
Garantiert Datastream die Reihenfolge? | Datastream garantiert keine Reihenfolge. Datastream stellt für jedes Ereignis zusätzliche Metadaten bereit, mit denen für Eventual Consistency im Ziel-Bucket gesorgt wird. Abhängig von der Quelle, der Rate und der Häufigkeit von Änderungen und anderen Parametern kann Eventual Consistency in der Regel innerhalb eines einstündigen Zeitfensters erreicht werden. |
Garantiert Datastream eine genau einmalige Übermittlung? | Nein. Datastream bietet eine mindestens einmalige Übermittlung. Die zusätzlichen Metadaten, die Datastream in jedes Ereignis schreibt, können zum Entfernen von doppelten Daten verwendet werden. |
Wie verarbeitet Datastream Schemaänderungen an einer Quelle? | Datastream ruft das Schema regelmäßig aus der Quelle ab. Zwischen Schemaabrufen können einige Schemaänderungen jedoch unerkannt bleiben und somit zu Datenabweichungen führen. Es ist geplant, Ereignisse bezüglich der Datendefinition in Zukunft in Echtzeit zu erfassen, wodurch diese aktuelle Einschränkung aufgehoben wird. |
Werden verschlüsselte Datenbanken verwendet? | Ja. |
Kann Datastream bestimmte Tabellen und Spalten aus einer Quelle streamen? | Ja. Mit Datastream können Sie Ein- und Ausschlusslisten für Tabellen und Schemas angeben, um nur die gewünschten Daten von einer Quelle an ein Ziel zu streamen. Bei Einschlusstabellen können Sie bestimmte Spalten der Tabellen ausschließen, um genau zu optimieren, welche Daten an das Ziel gestreamt werden sollen. Materialisierte Ansichten können jedoch nicht repliziert werden. |
Wie verschieben Sie einen Stream in ein anderes Projekt oder eine andere Region? |
|
Wie verarbeitet Datastream nicht festgeschriebene Transaktionen in den Logdateien der Datenbank? | Wenn Datenbank-Logdateien nicht festgeschriebene Transaktionen enthalten und Transaktionen rückgängig gemacht werden, wird dies von der Datenbank in den Logdateien als "umgekehrte" DML-Vorgänge (Data Manipulation Language, Datenbearbeitungssprache) angezeigt. Beispiel: Ein Rollback-Vorgang INSERT hat einen entsprechenden DELETE -Vorgang. Datastream liest diese Vorgänge aus den Logdateien. |
Was ist die regionale Verfügbarkeit von Datastream? | Eine Liste der Regionen, in denen Datastream verfügbar ist, finden Sie unter IP-Zulassungslisten und Regionen. |
MySQL Change Data Capture (CDC)
Frage | Antwort |
---|---|
Wie ruft Datastream Daten aus MySQL ab? | Datastream verwendet das binäre Log von MySQL, um die Änderungsereignisse aus MySQL zu extrahieren. |
Unterstützt Datastream Cloud SQL for MySQL-Lesereplikatinstanzen? | Ja, Datastream unterstützt Lesereplikatinstanzen für die Cloud SQL for MySQL-Versionen 5.7 und 8.0. Sie können binäres Logging auf diesen Instanzen aktivieren. Führen Sie dazu den folgenden gcloud-Befehl aus: gcloud sql instances patch INSTANCE_NAME -- enable-bin-log Weitere Informationen finden Sie unter Binäres Logging in Lesereplikaten. |
Sperrt Datastream MySQL-Datenbanktabellen? Warum benötigt Datastream LOCK TABLE -Berechtigungen? |
In den meisten Fällen muss Datastream die Tabellen nicht sperren. Unter bestimmten Bedingungen (z. B. MySQL 8 mit einer InnoDB-Speicher-Engine und der Einstellung |
Oracle Change Data Capture (CDC)
Frage | Antwort |
---|---|
Wie ruft Datastream Daten aus Oracle ab? | Datastream verwendet Oracle LogMiner, um die Daten aus den Redo-Logs von Oracle zu extrahieren. |
Erfordert Datastream eine GoldenGate-Lizenz von Oracle? | Nein. Datastream verwendet Oracle LogMiner, um die Daten aus den Redo-Logs der Datenbank zu lesen. |
Was passiert, wenn Oracle LogMiner nicht mehr unterstützt wird? | Oracle wird für zukünftige Releases unterstützt. Derzeit ist Oracle LogMiner noch in allen allgemein verfügbaren Oracle-Releases verfügbar. |
Unterstützt Datastream die Verschlüsselung von Daten bei der Übertragung aus Oracle-Datenbanken? | Datastream unterstützt die Verschlüsselung von Daten bei der Übertragung basierend auf Oracle Net Services. Datastream wird im Modus |
Unterstützt Datastream die mehrmandantenfähige Architektur von Oracle, insbesondere Containerdatenbanken (CDBs) und Plug-in-Datenbanken (PDBs)? | Datastream unterstützt derzeit keine CDBs und PDBs, aber eine Unterstützung ist in Planung. |
Anwendungsfälle
Frage | Antwort |
---|---|
Was sind häufige Anwendungsfälle für die Verwendung von Datastream? | Datastream ist ein CDC- und Replikationsdienst, der flexibel für verschiedene Anwendungsfälle einsetzbar ist und Zugriff auf kontinuierlich gestreamte Änderungsdaten bietet. Nachfolgend finden Sie die häufigsten Anwendungsfälle für Datastream, aufgeführt nach Häufigkeit.
|
Einbindungen
Frage | Antwort |
---|---|
Wie lässt sich Datastream in Google Cloud-Datendienste einbinden? | Datastream ergänzt und verbessert die Google Cloud-Datensuite durch CDC-Datenreplikation von Quellen zu verschiedenen Google Cloud-Diensten. Durch die nahtlose Einbindung in diese Dienste passt Datastream in die größere Google Cloud-Umgebung. Datastream kann in die folgenden Datendienste eingebunden werden:
|
Quellen und Ziele
Frage | Antwort |
---|---|
Welche Quellen und Ziele werden von Datastream unterstützt? |
|
Kann Datastream verschlüsselte Datenbanken verarbeiten? | Ja. |
Verhalten und Einschränkungen
Frage | Antwort |
---|---|
Welche Quellversionen unterstützt Datastream? | Für MySQL unterstützt Datastream die Versionen 5.6, 5.7 und 8.0. Jede MySQL-kompatible Datenbank wird unterstützt, darunter:
Für Oracle unterstützt Datastream 11g Release 2 und höher (nicht RAC in der SCAN-Konfiguration, CDB/PDB oder autonome DB). Alle Oracle-kompatiblen Datenbanken werden unterstützt, darunter:
|
Wie extrahiert Datastream Daten aus den Quellen? | Für MySQL verarbeitet Datastream das binäre MySQL-Log, um Änderungsereignisse zu extrahieren. Für Oracle verwendet Datastream LogMiner und zusätzliche Logging-Einstellungen, um Daten aus den Redo-Logs von Oracle zu extrahieren. |
Können Sie Logdateien direkt aus einer Quelle nach Google Cloud kopieren? | Datastream kopiert nicht alle Logdateien, sondern fragt die Logdateien direkt vom Datenbankserver ab und repliziert nur Änderungen aus den angegebenen Tabellen an das Ziel. |
Erfordert Datastream für Oracle-Quellen eine GoldenGate-Lizenz? | Datastream erfordert keine GoldenGate-Lizenz, da Oracle LogMiner zum Lesen der Daten aus den Redo-Logs der Datenbank verwendet wird. |
Was passiert, wenn Oracle LogMiner nicht für neuere Versionen unterstützt wird? | Oracle hat die Unterstützung für die LogMiner-Option CONTINUOUS_MINE eingestellt. Diese Option wird jedoch nicht von Datastream verwendet, sodass hierdurch keine Auswirkungen auf Datastream entstehen. |
Welche Einschränkungen gibt es für die Daten, die Datastream verarbeiten kann? |
Es gibt allgemeine Einschränkungen, Einschränkungen für MySQL-Quellen und Einschränkungen für Oracle-Quellen. Allgemeine Einschränkungen:
MySQL-Einschränkungen umfassen Backfills für Tabellen, die keinen Primärschlüssel haben und mehr als 100 Millionen Zeilen enthalten.
|
Welche Daten werden in jedem von Datastream generierten Ereignis einbezogen? | Jedes generierte Ereignis (für Einfügungen, Aktualisierungen und Löschvorgänge) enthält die gesamte Datenzeile aus der Quelle mit dem Datentyp und dem Wert jeder Spalte. Jedes Ereignis enthält außerdem Ereignismetadaten, mit denen die Reihenfolge festgelegt und eine genau einmalige Übermittlung gewährleistet werden kann. |
Garantiert Datastream die Reihenfolge? | Datastream kann zwar keine Reihenfolge garantieren, stellt aber für jedes Ereignis zusätzliche Metadaten bereit. Mit diesen Metadaten kann Eventual Consistency am Ziel sichergestellt werden. Abhängig von der Quelle, der Rate und der Häufigkeit von Änderungen und anderen Parametern kann Eventual Consistency in der Regel innerhalb eines einstündigen Fensters erreicht werden. |
Garantiert Datastream eine genau einmalige Übermittlung? | Datastream bietet eine mindestens einmalige Übermittlung. Sie können doppelte Daten vermeiden, indem Sie zusätzliche Metadaten verwenden, die Datastream in jedes Ereignis schreibt. |
Wie stellt Datastream Datentypen aus der Quelle zur Verwendung in der nachgelagerten Verarbeitung dar? | Datastream vereinfacht die nachgelagerte Verarbeitung von Daten über Datenquellen hinweg, indem Datentypen aus allen Quellen normalisiert werden. Datastream normalisiert den ursprünglichen Quelldatentyp (z. B. einen MySQL- Einheitliche Typen stellen eine verlustfreie Obermenge aller möglichen Quelltypen dar. Die Normalisierung bedeutet, dass Daten aus verschiedenen Quellen einfach verarbeitet und unabhängig von der Quelle nachgelagert abgefragt werden können. Wenn ein nachgelagertes System den Quelldatentyp kennen muss, kann dies über einen API-Aufruf an die Schema-Registry von Datastream erfolgen. In dieser Registry werden aktuelle, versionierte Schemas für jede Datenquelle gespeichert. Die Schema Registry API ermöglicht auch eine schnelle nachgelagerte Schemadrift-Auflösung, da sich Quelldatenbankschemas ändern. |
Wie behandelt Datastream Struktur- bzw. Schemaänderungen in der Quelle? | Datastream verfolgt Änderungen an der Quelldatenstruktur kontinuierlich. Schemas werden in der Schema-Registry von Datastream gespeichert und jedes Ereignis verweist auf das Schema zum Zeitpunkt der Generierung. Auf diese Weise können Datastream- oder andere nachgelagerte Prozesse Schemaänderungen in Echtzeit verfolgen und entsprechend dieser Änderungen angepasst werden. Somit werden alle Daten korrekt gestreamt und an das Ziel geladen. |
Sicherheit und Konnektivität
Frage | Antwort |
---|---|
Ist Datastream ein sicherer Dienst für vertrauliche Daten? | Datastream unterstützt mehrere sichere, private Konnektivitätskonfigurationen, um Daten bei der Übertragung zu schützen, während sie von einer Quelle an ein Ziel gestreamt werden. Nachdem die Daten repliziert wurden, werden sie standardmäßig verschlüsselt und nutzen die Sicherheitsfunktionen von Cloud Storage. Alle von Datastream gepufferte Daten werden im inaktiven Zustand verschlüsselt. |
Welche Konnektivitätsoptionen stehen für die Verbindung Ihrer Quellen mit Datastream zur Verfügung? | Es gibt drei Arten von Verbindungsmethoden, die Sie konfigurieren können:
|
Wie kann ich die Verarbeitung vertraulicher Daten in Datastream einschränken? |
Mit Datastream können Sie angeben, welche Datenelemente (Schemas, Tabellen und Spalten) Ihrer Quelle an ein Ziel gestreamt werden und welche Elemente vom Streaming ausgeschlossen werden sollen. Datenbanklogs können Änderungsdaten von Elementen enthalten, die in Ihrer Streamdefinition ausgeschlossen wurden. Da Sie diese Elemente nicht an der Quelle filtern können, liest Datastream alle mit den Elementen verknüpften Daten, ignoriert sie aber. |
Wie schützt Datastream Datenbankanmeldedaten? | Alle Nutzermetadaten, einschließlich des Nutzernamens und Passworts für den Zugriff auf die Datenquellen, werden bei der Übertragung und im inaktiven Zustand verschlüsselt. Der Zugriff auf diese Metadaten wird nachverfolgt und geprüft. |
Datastream-Dateien verarbeiten
Frage | Antwort |
---|---|
Wie werden Dateien in Cloud Storage erstellt? | Datastream erstellt für jede Tabelle einen Ordner. In jedem Ordner rotiert Datastream die Datei (oder erstellt eine neue Datei), wenn der benutzerdefinierte Grenzwert für Größe oder Zeit erreicht wird. Datastream rotiert die Datei auch immer dann, wenn eine Schemaänderung erkannt wird. Der Dateiname besteht aus einem eindeutigen Schemaschlüssel (basierend auf einem Hash des Schemas), gefolgt vom Zeitstempel des ersten Ereignisses in der Datei. Aus Sicherheitsgründen sollten diese Dateinamen nicht von Personen gelesen oder verstanden werden. |
Wie können die Ereignisse neu angeordnet werden, bevor Sie in das Ziel geladen werden, wenn die Daten in Cloud Storage nicht geordnet sind? | Jedes Ereignis enthält mehrere Metadatenfelder, die die Zeile im Oracle-Redo-Log eindeutig identifizieren. Insbesondere:
|
Wenn mehrere Dateien für denselben Zeitstempel erstellt werden, in welcher Reihenfolge sollten sie verarbeitet werden? | Da die Reihenfolge innerhalb und zwischen Dateien nicht garantiert ist, lässt sich die Reihenfolge der Dateien am besten ermitteln, indem Sie alle Ereignisse aus allen Dateien für den angegebenen Zeitstempel abrufen und dann die Reihenfolge anhand der oben genannten Methode anwenden. |
Wie werden Aktualisierungen von Primärschlüsseln verarbeitet? Gibt es Informationen vorher und nachher zum Ereignis? | Das Metadatenfeld row_id identifiziert eindeutig die Zeile, die sich ändert. Um für Datenintegrität zu sorgen, konsolidieren Sie die Daten anhand des mit dem Feld row_id verknüpften Werts und nicht anhand des Primärschlüssels. |
Datastream überwachen
Frage | Antwort |
---|---|
Woher weiß ich, wann alle Verlaufsdaten in den Cloud Storage-Ziel-Bucket kopiert wurden? | Datastream liefert Informationen zum aktuellen Status in den Logdateien. Ein Logeintrag wird erstellt, um anzugeben, wann der Backfill einer Tabelle abgeschlossen ist. |
Preise
Frage | Antwort |
---|---|
Welche Preise gelten für Datastream? | Die Preise für Datastream basieren auf dem Volumen (GB) der Daten, die von der Quelle an ein Ziel gestreamt werden. Weitere Informationen zu den Preisen für Datastream finden Sie unter Preise. |
Wie wird die Größe der Daten berechnet? | Die Abrechnung basiert auf der unkomprimierten Rohdatengröße, die von der Quelle zum Ziel gestreamt wird. Datastream stellt nur Daten in Rechnung, die an das Ziel gestreamt werden. |
Bei Verwendung von Datastream mit Dataflow oder Cloud Data Fusion, wofür wird bezahlt? | Die Preise für jeden Dienst werden separat abgerechnet. |
Weitere Informationen
Frage | Antwort |
---|---|
Ich habe weitere Fragen oder Probleme mit der Verwendung von Datastream. Was kann ich tun? | Das Supportteam von Google kann Sie unterstützen, wenn Sie Probleme mit der Verwendung von Datastream haben. Außerdem werden in der Anleitung zur Fehlerbehebung gängige Probleme mit der Verwendung von Datastream beschrieben. |