Übersicht
Auf dieser Seite finden Sie Antworten auf häufig gestellte Fragen zur Verwendung von Datastream. Diese FAQ beziehen sich auf:
- Allgemeine Fragen zu Datastream und Change Data Capture (CDC)
- Allgemeines Verhalten und Einschränkungen von Quellen
- MySQL-Quellverhalten und -Einschränkungen
- Funktionsweise und Einschränkungen der Oracle-Quelle
- Verhalten und Einschränkungen von PostgreSQL-Quellen (einschließlich AlloyDB for PostgreSQL)
- Verhalten und Einschränkungen von SQL Server-Quellen
- Verhalten von BigQuery-Zielen
- Verhalten des Cloud Storage-Ziels
- Gängige Anwendungsfälle für die Verwendung von Datastream
- Wie Datastream Google Cloud-Datendienste einbindet
- Sicherheit und Konnektivität
- 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 Change Data Capture- (CDC) und Replikationsdienst. Datastream ermöglicht die nahtlose Replikation von Daten aus relationalen Datenbankquellen wie AlloyDB for PostgreSQL, PostgreSQL, MySQL, SQL Server und Oracle direkt in BigQuery. Datastream bietet die Skalierbarkeit, Geschwindigkeit, Sicherheit und Einfachheit, die moderne Unternehmen benötigen. Dank der serverlosen Autoscaling-Architektur können Sie mit Datastream ganz einfach eine ELT-Pipeline (Extrahieren, Laden und Transformieren) für die Datenreplikation mit niedriger Latenz einrichten. So erhalten Sie nahezu in Echtzeit Informationen. Mit Datastream können Sie außerdem Datenstreams über heterogene Datenbanken und Anwendungen zuverlässig und mit minimaler Latenz synchronisieren. Der Dienst bietet eine optimierte Einbindung in Dataflow-Vorlagen, um Datenbanken zur Datenbanksynchronisierung in Cloud SQL oder Spanner zu replizieren. Außerdem können Sie den Ereignisstream direkt aus Cloud Storage nutzen, um ereignisgesteuerte Architekturen zu realisieren. |
Welche Methoden verwendet Datastream zum Streamen von Daten? | Datastream streamt Daten aus einer Quelle mit einer von zwei Methoden an ein Ziel:
|
Was ist die 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 operative Datenspeicher 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 Streaming von Datenänderungen in Echtzeit 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 ein 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. Es gibt zwei Arten von Backfill:
|
Gibt es Einschränkungen, die bei einem Backfill zu beachten sind? |
Informationen zu Backfill-Einschränkungen finden Sie auf den Seiten zu bekannten Einschränkungen für die jeweiligen Quelltypen:
|
Welche Reihenfolge wird für CDC- und Backfill-Vorgänge empfohlen? | In den meisten Fällen gibt es hier keine besonderen Überlegungen. Wenn der Backfill für einen Stream aktiviert ist, führt Datastream sowohl Backfill als auch CDC gleichzeitig aus. In einigen Grenzfällen, z. B. beim Replizieren sehr großer Tabellen, die nicht mit Datastream aufgefüllt werden können, müssen Sie die Daten möglicherweise zuerst in BigQuery laden, bevor Sie den Stream starten. |
Kann ich den Status von CDC- und Backfill-Vorgängen überwachen? | Sie können den Backfill-Status pro Objekt überwachen:
Der CDC-Status entspricht dem Streamstatus. Wenn der CDC-Vorgang fehlschlägt, schlägt der gesamte Stream fehl. In Cloud Monitoring sind zusätzliche Messwerte auf Objektebene verfügbar. Weitere Informationen finden Sie in der Cloud Monitoring-Dokumentation. |
Was ist ein Änderungsstream im Vergleich zur Replikation? | Ein Änderungsstream ist eine Abfolge von Ereignissen, die Datastream an ein Ziel für die nachgelagerte Nutzung ausgibt. Das Ergebnis eines Änderungsstreams, der in Cloud Storage geschrieben wird, ist eine Reihe von Dateien, die Änderungsprotokollereignisse aus einer bestimmten Tabelle über einen bestimmten Zeitraum enthalten. Die Ereignisse stellen Einfügungs-, Aktualisierungs- und Löschvorgänge für diese Tabelle dar. Die Ereignisse können von Diensten wie Dataflow für Anwendungsfälle wie ereignisgesteuerte Architekturen nach Cloud Storage verarbeitet und verarbeitet werden. Replikation im Datastream-Kontext bedeutet eine aktuelle 1:1-Darstellung der Quelltabelle im Ziel. Beispiel: eine Tabelle in Oracle, deren Änderungen kontinuierlich in eine BigQuery-Tabelle repliziert werden, wobei die BigQuery-Tabelle anhand der aus der Oracle-Tabelle gestreamten Änderungen auf dem neuesten Stand gehalten wird. Bei der Replikation werden Änderungsstreams genutzt, indem jedes Änderungsereignis verarbeitet und das Ziel aktualisiert wird. Datastream ermöglicht die direkte Replikation in BigQuery und unterstützt zusätzliche Ziele wie Cloud SQL und Spanner durch die Einbindung von Dataflow. Dabei kommen Vorlagen zum Einsatz, die die Änderungsstreamereignisse aus Cloud Storage abrufen und die Zieltabellen entsprechend aktualisieren. |
Erfordert Datastream einen Agent an der Quelle? | Sie müssen keinen Agenten an der Quelle installieren. Datastream verwendet vorhandene Schnittstellen (wie Oracle LogMiner), um die Daten aus der Quelle abzurufen. |
Wie viele Tabellen kann ich in einen einzelnen Stream aufnehmen? | Datastream kann bis zu 10.000 Tabellen in einem einzelnen Stream verarbeiten. Es gibt keinen technischen Grund, eine Datenbank in mehrere Streams aufzuteilen. Es kann jedoch geschäftliche Gründe geben, verschiedene Streams für verschiedene logische Abläufe zu verwenden, z. B. beim Replizieren großer Transaktionen aus PostgreSQL-Quellen. Jeder Stream erhöht jedoch die Auslastung der Quelldatenbank. Eine solche Auslastung ist für CDC vernachlässigbar, beim Backfill jedoch erheblich. |
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. CDC macht außerdem die Notwendigkeit von Bulk-Load-Updates und ungünstigen Batch-Fenstern überflüssig, da Datenänderungen in einem Ziel inkrementell geladen oder nahezu in Echtzeit gestreamt werden können. 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. |
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. |
Kann Datastream verschlüsselte Datenbanken verarbeiten? | 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 festlegen, um nur die gewünschten Daten von einer Quelle an ein Ziel zu streamen. Bei eingeschlossenen Tabellen können Sie bestimmte Spalten der Tabellen ausschließen, um genau festzulegen, 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 Datenbankprotokolldateien nicht festgeschriebene Transaktionen enthalten und Transaktionen rückgängig gemacht werden, wird dies in den Protokolldateien als „umgekehrte“ DML-Vorgänge (Datenmanipulationssprache) dargestellt. Für einen Rollback-Vorgang vom Typ INSERT gibt es beispielsweise 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. |
Allgemeines Verhalten und Einschränkungen von Quellen
Frage | Antwort |
---|---|
Welche Quellen werden von Datastream unterstützt? | Datastream unterstützt das Streaming von Daten aus Oracle-, MySQL-, PostgreSQL-, AlloyDB for PostgreSQL- und SQL Server-Quellen, sowohl in der Cloud als auch selbstverwaltet. Informationen zu quellenspezifischen Versionen finden Sie auf den folgenden Seiten:
|
Kann Datastream verschlüsselte Datenbanken verarbeiten? | Ja. |
Wie extrahiert Datastream Daten aus den Quellen? | Bei 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. Bei PostgreSQL und AlloyDB for PostgreSQL stützt sich Datastream auf die logische Decodierung von PostgreSQL. Die logische Decodierung macht alle Änderungen sichtbar, für die ein Commit an die Datenbank durchgeführt wurde, und ermöglicht die Verarbeitung und Verarbeitung dieser Änderungen. Bei SQL Server verfolgt Datastream Änderungen an der Datenbearbeitungssprache (Data Manipulation Language, DML) mithilfe von Transaktionslogs. |
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. |
Welche Einschränkungen gelten für die Daten, die mit Datastream verarbeitet werden können? |
Es gibt allgemeine Einschränkungen und Einschränkungen, die für bestimmte Datenbankquellen gelten. Allgemeine Einschränkungen:
Informationen zu quellenspezifischen Einschränkungen finden Sie auf den folgenden Seiten:
|
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 entfernen, indem Sie zusätzliche Metadaten verwenden, die Datastream für jedes Ereignis schreibt. |
Wie stellt Datastream Datentypen aus der Quelle zur Verwendung in der nachgelagerten Verarbeitung dar? | Beim Schreiben in ein schemaloses Ziel wie Cloud Storage vereinfacht Datastream die nachgelagerte Verarbeitung von Daten über Quellen hinweg, indem Datentypen aus allen Quellen normalisiert werden. Datastream verwendet den ursprünglichen Quelldatentyp (z. B. einen MySQL- oder PostgreSQL- 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. |
Wie behandelt Datastream Struktur- bzw. Schemaänderungen in der Quelle? | Datastream ruft das Schema regelmäßig von der Quelle ab. Schemas werden in der internen Schemaregistrierung von Datastream gespeichert. Jedes Ereignis verweist auf das Schema zum Zeitpunkt seiner Generierung. So kann Datastream Schemaänderungen verfolgen und entsprechend anpassen, damit alle Daten richtig gestreamt und in das Ziel geladen werden. Zwischen Schemaabrufen werden jedoch einige Schemaänderungen möglicherweise nicht erkannt, was zu Datenabweichungen führen kann. |
Ich habe eine Spalte in meiner Quelldatenbank gelöscht, sie wird aber weiterhin in der Zieldatenbank angezeigt. Warum? | Datastream löscht keine Spalten im Ziel. Spalten müssen manuell gelöscht werden. Dieses Verhalten ist beabsichtigt, da Sie die gelöschte Spalte in einigen Fällen im Ziel beibehalten möchten. Wenn Sie beispielsweise eine Spalte in der Quelle umbenennen, wird das von Datastream als Löschen einer Spalte und Hinzufügen einer anderen Spalte interpretiert. In diesem Fall soll die ursprüngliche Spalte im Ziel nicht verloren gehen. |
Der Stream kann aufgrund eines Validierungsfehlers nicht gestartet werden. Ich glaube aber, dass es sich um einen Fehler handelt oder ich möchte den Stream trotzdem ausführen. Wie kann ich diese Bestätigung umgehen? | Du kannst den Stream über die API starten, indem du das Flag force=true hinzufügst und die Validierungschecks überspringst. Das Überspringen von Validierungen garantiert nicht, dass der Stream ausgeführt werden kann. Er kann trotzdem fehlschlagen, wenn der Datenbank die erforderliche Konfiguration oder Berechtigungen fehlen.
|
Kann ich einen fehlgeschlagenen Stream neu starten? | Sie können einen Stream mit dem Status Sie können auch einen Stream mit dem Status |
Sperrt Datastream Datenbanktabellen? | Nein. Datastream muss die Tabellen nicht sperren. |
Auf den Seiten mit der Begrenzung für jede Quelle ist angegeben,dass Streams bis zu 10.000 Tabellen enthalten können. Bedeutet das,dass Datastream CDC-Vorgänge nicht für mehr als 10.000 Tabellen gleichzeitig ausführen kann? | Nein. Das angegebene Limit gilt pro Stream. Sie können mehrere Streams mit einer Gesamtzahl von 10.000 Tabellen haben. |
MySQL-Quellverhalten und -Einschränkungen
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 Cloud SQL for MySQL-Versionen 5.7 und 8.0. Sie können das binäre Logging für diese 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. |
Welche Berechtigungen benötigt Datastream mindestens, um Daten aus einer MySQL-Quelldatenbank zu replizieren? | Sie müssen Ihrem Datastream-Nutzer die folgenden Berechtigungen gewähren, um Daten aus einer MySQL-Datenbank zu replizieren:
|
Unterstützt Datastream die Komprimierung von binären Logs? | Nein. Datastream unterstützt die Komprimierung von Transaktionsereignissen mit der Binärlog-Transaktionskomprimierung nicht. Deaktivieren Sie die Komprimierung von Binärlog-Transaktionen, um die Funktion zur Änderungsdatenerfassung für MySQL in Datastream zu verwenden. |
Ihre Organisation erlaubt nicht, die Berechtigung SELECT für alle ihre Tabellen und Datenbanken zu gewähren. Kann ich Datastream weiterhin verwenden? |
Sie können die Berechtigung GRANT SELECT ON DATABASE_NAME.TABLE_NAME TO USER_NAME@'%'; GRANT SELECT ON DATABASE_NAME.* TO USER_NAME@'%'; Ersetzen Sie Folgendes:
Wenn Sie die Berechtigungen auf einen bestimmten Hostnamen beschränken möchten, ersetzen Sie das Zeichen |
Funktionsweise und Einschränkungen der Oracle-Quelle
Frage | Antwort |
---|---|
Wie ruft Datastream Daten aus Oracle ab? | Datastream verwendet Oracle LogMiner, um die Daten aus den Redo-Logs von Oracle zu extrahieren. |
Ist für Datastream eine GoldenGate-Lizenz von Oracle erforderlich? | Nein. 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 mehr unterstützt wird? | Oracle LogMiner wird weiterhin in allen allgemein verfügbaren Oracle-Releases unterstützt. Datastream wird LogMiner auch in allen zukünftigen Releases unterstützen. 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. |
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 Verschlüsselung mit Secure Sockets Layer (SSL) und Transport Layer Security (TLS)? | Ja, Datastream unterstützt das TCPS-Protokoll für SSL/TLS-verschlüsselte Verbindungen zu Oracle-Quellen. |
Unterstützt Datastream die mehrmandantenfähige Architektur von Oracle, insbesondere Containerdatenbanken (CDBs) und Plug-in-Datenbanken (PDBs)? | Ja, Datastream unterstützt die mehrmandantenfähige Architektur von Oracle (CDB/PDB). Sie können jedoch nur eine einzelne Plug-in-Datenbank in einem Stream replizieren. |
Ihre Organisation erlaubt nicht, die Berechtigung GRANT SELECT ANY TABLE zu gewähren. Kann ich Datastream trotzdem verwenden? |
Wenn Sie die Berechtigung
Wenn Sie Änderungen mit Datastream streamen möchten, benötigen Sie außerdem Lesezugriff auf alle Tabellen im Stream. Um den Stream zu starten, umgehen Sie die Validierung mit der API. Weitere Informationen finden Sie unter Stream starten. |
Unterstützt Datastream die Replikation von Oracle-Lesereplikatinstanzen? | Datastream unterstützt die Replikation von Oracle-Lesereplikatinstanzen, sofern die Instanz gemäß den Konfigurationsrichtlinien konfiguriert ist. |
Unterstützt Datastream Oracle SCAN RAC-Datenbanken? | Ja. Sie können jedoch mit der SCAN-Funktion (Single Client Access Name) in Oracle Real Application Cluster-Umgebungen (RAC) mit Datastream keine direkte Verbindung zu Datenbanken herstellen. Um diese Einschränkung zu umgehen, können Sie eine direkte Verbindung zu einem der Knoten herstellen oder den Oracle Connection Manager verwenden. Sie können eine Konfiguration für private Verbindungen auch mit Reverse-Proxy-Lösungen wie HAProxy erstellen. |
Verhalten und Einschränkungen von PostgreSQL-Quellen
Frage | Antwort |
---|---|
Wie ruft Datastream Daten aus PostgreSQL ab? | Datastream verwendet die Funktion logische Decodierung von PostgreSQL, um die Änderungsereignisse aus PostgreSQL zu extrahieren. |
Unterstützt Datastream die Replikation aus AlloyDB for PostgreSQL- oder AlloyDB Omni-Quellen? | Ja. Datastream unterstützt diese beiden Quellen. Informationen zum Konfigurieren der AlloyDB for PostgreSQL-Quelldatenbank finden Sie unter AlloyDB for PostgreSQL-Datenbank konfigurieren. Informationen zum Konfigurieren der AlloyDB Omni-Quelldatenbank finden Sie unter Selbstverwaltete PostgreSQL-Datenbank konfigurieren. |
Unterstützt Datastream die Replikation von einer PostgreSQL-Lesereplikatinstanz? | Lesereplikatinstanzen können nicht als Publisher für die logische Replikation fungieren, da PostgreSQL die logische Decodierung in Lesereplikaten nicht unterstützt. |
Unterstützt Datastream die Sicherheit auf Zeilenebene? | Datastream unterstützt keine Replikation von Tabellen, bei denen die RLS aktiviert ist. Diese Einschränkung können Sie jedoch mithilfe der BYPASSRLS -Klausel umgehen:
ALTER USER USER_NAME BYPASSRLS; Ersetzen Sie USER_NAME durch den Namen des Nutzers, den Datastream verwendet, um eine Verbindung zur Datenbank herzustellen und für den Sie RLS-Richtlinien umgehen möchten. |
Unterstützt Datastream gleichzeitige CDC-Vorgänge bei der Replikation aus einer PostgreSQL-Quelle? | Nein. Die PostgreSQL-Replikation basiert auf dem Konzept von Replikationsslots. Replikationsslots unterstützen keine parallelen Verbindungen. Es kann immer nur eine CDC-Aufgabe geben, die aus dem Replikationsslot liest. Wenn Sie beispielsweise eine große Anzahl von Datensätzen aus der Quelldatenbank löschen, wird der Replikationsslot möglicherweise mit Löschereignissen überlastet. Alle nachfolgenden Änderungen an der Quelle werden verzögert, bis die Löschereignisse, die sich bereits in der Replikationsslot-Warteschlange befinden, verarbeitet wurden. Informationen zum empfohlenen Ansatz bei der Replikation großer Transaktionsdaten finden Sie unter Probleme diagnostizieren. |
Unterstützt Datastream die Verschlüsselung mit Secure Sockets Layer (SSL) und Transport Layer Security (TLS)? | Datastream unterstützt SSL/TLS-verschlüsselte Verbindungen, für die keine Clientzertifikate erforderlich sind. |
Verhalten und Einschränkungen der SQL Server-Quelle
Frage | Antwort |
---|---|
Welche SQL Server-Versionen werden von Datastream unterstützt? | Datastream unterstützt SQL Server-Datenbankversionen, die Change Data Capture unterstützen. Eine vollständige Liste der unterstützten SQL Server-Versionen und ‑Editionen finden Sie unter Versionen. |
Wie funktioniert die Datastream-CDC-Replikation für SQL Server-Quellen? | Bei der Datastream-Datenaufnahme werden je nach Quellkonfiguration Transaktionslogs oder Änderungstabellen verwendet. Weitere Informationen finden Sie unter SQL Server-Quelldatenbank. |
Welche Berechtigungen benötigt Datastream mindestens, um Daten aus einer SQL Server-Quelldatenbank zu replizieren? | Sie müssen Ihrem Datastream-Nutzer die folgenden Rollen und Berechtigungen erteilen, um Daten aus einer SQL Server-Datenbank zu replizieren: Für die CDC-Methode für Änderungstabellen:
Zusätzliche Schritte für die CDC-Methode für Transaktionslogs:
Ausführliche Informationen zur Konfiguration der Quelle finden Sie auf den entsprechenden Konfigurationsseiten für Ihren Datenbanktyp. |
Warum benötigen Sie bei der Verwendung von Transaktionslogs Konfigurationsoptionen wie das Ändern von Abfrageintervallen und die Einrichtung eines Kürzungsschutzes? | Wenn Sie Daten aus einer SQL Server-Quelle mithilfe von Transaktionsprotokollen replizieren und ein Protokoll vor dem Lesen durch Datastream abgeschnitten wird, kommt es zu Datenverlusten. Das Ändern der Abfrageintervalle und das Einrichten von Schutzmaßnahmen gegen Kürzung ist optional, bietet aber einen zusätzlichen Schutz, damit Datastream die Daten auch in Szenarien lesen kann, in denen es zu Ausfallzeiten oder Verbindungsproblemen kommt. Weitere Informationen finden Sie unter SQL Server-Quelldatenbank konfigurieren. |
Welche CDC-Methode sollte bei der Replikation von einer SQL Server-Quelle ausgewählt werden? | Sie können je nach Konfiguration der SQL Server-Quelldatenbank eine der beiden verfügbaren CDC-Methoden auswählen:
Weitere Informationen finden Sie unter SQL Server als Quelle. |
Verhalten des BigQuery-Ziels
Frage | Antwort |
---|---|
Wie arbeiten Datastream und BigQuery zusammen, um Änderungen aus der Quelldatenbank zu replizieren? | Datastream liest kontinuierlich den Änderungsstream aus der Quelldatenbank und streamt die Upsert- und Löschereignisse mithilfe der Storage Write API an die BigQuery-Zieltafeln. BigQuery wendet dann die Änderungen basierend auf der Konfiguration der Tabellenveralterung auf die Tabelle an. |
Wie werden DML-Vorgänge (Data Manipulation Language) in BigQuery angewendet? |
|
Wie handhaben Datastream und BigQuery die Ereignissortierung? | In BigQuery werden die Ereignismetadaten und eine interne Änderungssequenznummer (CSN) verwendet, um die Ereignisse in der richtigen Reihenfolge auf die Tabelle anzuwenden. Weitere Informationen zu Ereignismetadaten finden Sie unter Ereignisse und Streams. |
Wie werden die BigQuery-Kosten berechnet, wenn BigQuery mit Datastream verwendet wird? | BigQuery-Kosten werden separat von Datastream berechnet und in Rechnung gestellt. Informationen zur Kontrolle Ihrer BigQuery-Kosten finden Sie unter BigQuery CDC-Preise. |
Wie viele Zeilen werden von Datastream maximal unterstützt, wenn Daten in BigQuery gestreamt werden? | Die maximale Zeilengröße, die von Datastream unterstützt wird, beträgt 20 MB. |
Wenn Sie Daten in BigQuery streamen, erhalten Tabellen das Präfix . Können Sie dieses Verhalten so ändern, dass die Tabellen in BigQuery dieselbe Struktur wie in der Quelldatenbank haben? |
Wenn Sie Datasets für ein BigQuery-Ziel konfigurieren, erstellen Sie ein Dataset für jedes Schema oder ein einzelnes Dataset für alle Schemas. Wenn Sie ein Dataset für jedes Schema erstellen, wird jedes Schema in der Quelle einem Dataset in BigQuery und alle Tabellen im Quellschema den Tabellen im Dataset zugeordnet. Wenn Sie die Option „Einzelnes Dataset für alle Schemas“ auswählen, wird den Tabellennamen gemäß der Tabellenbenennungskonvention in BigQuery das Präfix vorangestellt. |
Kann CDC Änderungen am Quellschema erfassen, z. B. wenn eine Spalte in die Quelle eingefügt oder daraus gelöscht wird? Werden solche Änderungen automatisch in den bereits ausgefüllten Tabellen in den BigQuery-Ziel-Datasets übernommen? | Datastream erkennt neue Spalten automatisch und fügt sie dem Zielschema für die neuen Zeilen hinzu. Für die bereits in das Ziel replizierten Zeilen werden sie jedoch nicht berücksichtigt. Gelöschte Spalten werden ignoriert und Datastream füllt sie im Ziel mit NULL -Werten aus. Diese Spalten können Sie dann manuell in BigQuery löschen. |
Verhalten von Cloud Storage-Zielen
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 in den Protokolldateien eindeutig identifizieren und mit denen Sie die Ereignisse sortieren können. Zu diesen Feldern gehören: Für Oracle-Quellen:
Für MySQL-Quellen:
Für PostgreSQL-Quellen:
Weitere Informationen zu Metadatenfeldern finden Sie unter Quellenspezifische Metadaten. |
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 für die Verarbeitung der Dateien für die Quelle am besten bestimmen, indem Sie alle Ereignisse aus allen Dateien für den jeweiligen Zeitstempel abrufen und dann die Sortierung mit der oben in diesem Abschnitt beschriebenen Methode anwenden. |
Wie werden Aktualisierungen von Primärschlüsseln verarbeitet? Gibt es Informationen zum Vorher und Nachher des Ereignisses? | Wenn sich der Primärschlüssel einer Zeile ändert, generiert Datastream zwei Ereignisse für die Änderung: eine UPDATE-DELETE und eine UPDATE-INSERT . Das Ereignis UPDATE-DELETE steht für die Daten vor der Aktualisierung und UPDATE-INSERT für die Daten nach der Aktualisierung. Weitere Informationen zu quellspezifischen Metadaten finden Sie unter Ereignisse und Streams. |
Wie viele Zeilen werden von Datastream maximal unterstützt, wenn Daten in Cloud Storage gestreamt werden? | Die maximale Zeilengröße, die von Datastream unterstützt wird, beträgt 100 MB. |
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. Die häufigsten Anwendungsfälle für Datastream sind:
|
Integrationen
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:
|
Gibt es in Dataflow für die Vorlage „Datastream to BigQuery“ Einschränkungen in Bezug auf die Anzahl der DML-Vorgänge (Datenbearbeitungssprache)? | Nein. In der Vorlage wird die Streaming Insert API verwendet, um Daten in BigQuery zu laden. Daher gibt es keine Begrenzung für die Anzahl der DML-Vorgänge. Es gelten jedoch einige Kontingenteinschränkungen. |
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 BigQuery oder 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 sensibler Daten durch Datastream einschränken? |
Mit Datastream können Sie angeben, welche spezifischen Datenelemente (Schemas, Tabellen und Spalten) der Quelle an ein Ziel gestreamt werden sollen und welche Elemente nicht gestreamt 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 und von Google in seinen eigenen Speichersystemen gespeichert. Der Zugriff auf diese Metadaten wird nachverfolgt und geprüft. |
Warum wird auf der Seite Konfiguration für private Verbindungen erstellen angegeben, dass Sie dem Datastream-Dienstkonto die Rolle roles/compute.networkAdmin zuweisen müssen, um eine Konfiguration für private Verbindungen in einer freigegebenen VPC zu erstellen? |
Die Rolle networkAdmin ist nur zum Erstellen des VPC-Peerings erforderlich. Nachdem das Peering eingerichtet wurde, benötigen Sie die Rolle nicht mehr. Wenn Ihre Organisation nicht erlaubt, dem Datastream-Dienstkonto die Rolle networkAdmin zu gewähren, erstellen Sie eine benutzerdefinierte Rolle mit den folgenden spezifischen Berechtigungen:
IP-Bereiche dynamisch auswählen
Peering-Netzwerke erstellen
IP-Adressen reservieren
|
Kann ich mit Private Service Connect eine Konfiguration für private Verbindungen erstellen? | Nein, Datastream unterstützt Private Service Connect nicht. |
Datastream überwachen
Frage | Antwort |
---|---|
Woher weiß ich, wann alle Verlaufsdaten in das Ziel kopiert wurden? | Datastream stellt Informationen zu seinem aktuellen Status in den Protokolldateien bereit. Es wird ein Logeintrag erstellt, um anzugeben, wann das Backfilling für eine Tabelle abgeschlossen ist. |
Die Latenz steigt gelegentlich an und nimmt dann im Laufe der Zeit allmählich ab. Ist das normal? | Datastream wird automatisch hochskaliert, wenn der von der Quelle generierte Ereignisdurchsatz steigt. Um sowohl die Quelldatenbank als auch Datastream zu schützen, gibt es jedoch Einschränkungen für die Anzahl der gleichzeitigen Verbindungen und Prozesse, die Datastream jederzeit öffnen kann. Vorübergehende Spitzen in der Latenz sind zu erwarten, wenn der Ereignisdurchsatz deutlich ansteigt, und werden voraussichtlich schrittweise abnehmen, während der Rückstand der Ereignisse verarbeitet wird. |
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 verarbeitet 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 Größe der Daten, die von Datastream verarbeitet werden. Datastream stellt nur Daten in Rechnung, die an das Ziel gestreamt werden. |
Wofür bezahlen Sie, wenn Sie Datastream mit BigQuery oder Dataflow verwenden? | Die Preise für die einzelnen Dienste sind unterschiedlich und werden separat in Rechnung gestellt. |
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. |
Nächste Schritte
- Weitere Informationen zu Datastream
- Weitere Informationen zu den wichtigsten Konzepten und Funktionen von Datastream
- Von Datastream unterstützte Quellen
- Weitere Informationen zu den von Datastream unterstützten Zielen