Hier finden Sie Antworten auf häufig gestellte Fragen zu Datastream und Change Data Capture. Zu den Themen gehören gängige Anwendungsfälle, das Verhalten von Quelle und Ziel, Integrationen von Google Cloud , Sicherheit, Konnektivität, Monitoring und Preise.
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 sowie aus Salesforce, Salesforce Marketing Cloud (Vorabversion), ServiceNow (Vorabversion) und MongoDB direkt in BigQuery. Datastream bietet die Skalierbarkeit, Geschwindigkeit, Sicherheit und Einfachheit, die moderne Unternehmen benötigen. Mit der serverlosen, automatisch skalierten Architektur ermöglicht Ihnen Datastream das Einrichten einer ELT-Pipeline (Extract, Load, Transform) für die Datenreplikation mit niedriger Latenz. Somit lassen sich Informationen nahezu in Echtzeit ableiten. Datastream kann außerdem Datenstreams über heterogene Datenbanken und Anwendungen hinweg zuverlässig und mit minimaler Latenz synchronisieren. Sie können den Dienst in Dataflow-Vorlagen einbinden, um Datenbanken zur Datenbanksynchronisierung in Cloud SQL oder Spanner zu replizieren, oder 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 CDC? |
CDC ist ein Ansatz zur 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, um die Auswirkungen auf die Quelle beim Laden neuer Daten in operative Datenspeicher und Data Warehouses zu begrenzen. Außerdem entfällt die Notwendigkeit von Bulk-Load-Updates und unpraktischen Batch-Fenstern, da inkrementelles Laden oder nahezu in Echtzeit-Streaming von Datenänderungen in ein Datenziel ermöglicht wird. CDC kann in vielen Anwendungsfällen eingesetzt werden, bei denen der ständige Zugriff auf Datenänderungen, sobald sie auftreten, von Vorteil ist, z. B. bei Analysen, der Synchronisierung von Daten über geografisch verteilte Systeme und ereignisgesteuerten 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. Es gibt zwei Arten von Backfill:
|
| Gibt es Einschränkungen, die Sie beim Backfill beachten müssen? |
Informationen zu Einschränkungen bei Backfills finden Sie auf den Seiten mit bekannten Einschränkungen für die jeweiligen Quelltypen:
|
| Wie lautet die empfolenene Reihenfolge für CDC- und Backfill-Vorgänge? | In den meisten Fällen ist hier nichts Besonderes zu beachten. Wenn der Backfill für einen Stream aktiviert ist, führt Datastream sowohl den Backfill als auch CDC gleichzeitig aus. In einigen Grenzfällen, z. B. beim Replizieren sehr großer Tabellen, die nicht mit Datastream gefü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 ist im Wesentlichen der Streamstatus. Wenn der CDC-Vorgang fehlschlägt, schlägt der gesamte Stream fehl. Zusätzliche Messwerte auf Objektebene sind in Cloud Monitoring verfügbar. Weitere Informationen finden Sie in der Dokumentation zu Cloud Monitoring. |
| Was ist der Unterschied zwischen einem Änderungsstream und einer Replikation? | Ein Änderungsstream ist eine Abfolge von Ereignissen, die Datastream an ein Ziel sendet, um sie nachgelagert zu nutzen. 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ügungen, Aktualisierungen und Löschungen in dieser Tabelle dar und können von Diensten wie Dataflow nachgelagert von Cloud Storage für Anwendungsfälle wie ereignisgesteuerte Architekturen genutzt 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 mithilfe der aus der Oracle-Tabelle gestreamten Änderungen auf dem neuesten Stand gehalten wird. Bei der Replikation werden Änderungsstreams genutzt, indem jedes Änderungsereignis verarbeitet und zum Aktualisieren des Ziels verwendet wird. Datastream ermöglicht die direkte Replikation in BigQuery und unterstützt zusätzliche Ziele wie Cloud SQL und Spanner durch die Einbindung in Dataflow. Dazu werden Vorlagen verwendet, die die Änderungsstream-Ereignisse aus Cloud Storage abrufen und die Zieltabellen entsprechend aktualisieren. |
| Erfordert Datastream einen Agent an der Quelle? | Sie müssen keinen Agent auf der Quelle installieren. Datastream verwendet vorhandene Schnittstellen (z. B. 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 unterschiedliche logische Abläufe zu verwenden, z. B. beim Replizieren von großen Transaktionen aus PostgreSQL-Quellen. Jeder Stream erhöht jedoch die Last auf der Quelldatenbank. Diese Last ist für CDC vernachlässigbar, kann aber für Backfill erheblich sein. |
| 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 auch Bulk-Load-Updates und unpraktische Batchfenster überflüssig, da Datenänderungen inkrementell oder nahezu in Echtzeit in ein Ziel gestreamt werden können. Außerdem minimiert Datastream die Auswirkungen eines anfänglichen Backfills, indem die Anzahl der gleichzeitigen Backfill-Aufgaben begrenzt wird. Sie können selbst entscheiden, welche Objekte wann per Backfill gefüllt werden sollen. |
| Können Sie die Protokolldateien von der Quelle nach Google Cloudkopieren? | 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 mit verschlüsselten Datenbanken umgehen? | 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 zu einem Ziel zu streamen. Bei eingeschlossenen Tabellen können Sie bestimmte Spalten der Tabellen ausschließen, um genau festzulegen, welche Daten in 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 übernommene Transaktionen enthalten und Transaktionen zurückgesetzt werden, wird dies in den Logdateien als „umgekehrte“ DML-Vorgänge (Datenbearbeitungssprache) dargestellt. Ein zurückgesetzter INSERT-Vorgang hat 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 Streamen von Daten aus Oracle-, MySQL-, PostgreSQL-, AlloyDB for PostgreSQL-, SQL Server-, Salesforce-, Salesforce Marketing Cloud- (Vorabversion), ServiceNow- (Vorabversion) und MongoDB-Quellen, sowohl in der Cloud gehostet als auch selbstverwaltet. Informationen zu quellenspezifischen Versionen finden Sie auf den folgenden Seiten:
|
| Kann Datastream mit verschlüsselten Datenbanken umgehen? | 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. Für PostgreSQL und AlloyDB for PostgreSQL verwendet Datastream das Feature Logische Decodierung von PostgreSQL. Die logische Decodierung zeigt alle Änderungen an, die an der Datenbank vorgenommen wurden, und ermöglicht die Nutzung und Verarbeitung dieser Änderungen. Bei SQL Server verfolgt Datastream Änderungen der Datenbearbeitungssprache (Data Manipulation Language, DML) mithilfe von Transaktionslogs. |
| Können Sie Protokolldateien direkt von einer Quelle nach Google Cloudkopieren? | 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 Datastream verarbeiten kann? |
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 mithilfe zusätzlicher Metadaten entfernen, die Datastream in 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 über alle Quellen hinweg 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 mit minimalem Aufwand verarbeitet und nachgelagert quellenunabhängig abgefragt werden können. |
| Wie behandelt Datastream Struktur- bzw. Schemaänderungen in der Quelle? | Datastream ruft das Schema regelmäßig aus der Quelle ab. Schemas werden in der internen Schemaregistrierung von Datastream gespeichert. Jedes Ereignis verweist auf das Schema, das zum Zeitpunkt der Generierung des Ereignisses gültig war. So kann Datastream Schemaänderungen verfolgen und sich an diese Änderungen anpassen, damit alle Daten ordnungsgemäß gestreamt und in das Ziel geladen werden. Zwischen den Schemaabrufen können jedoch einige Schemaänderungen unbemerkt bleiben, was zu Datenabweichungen führen kann. |
| Ich habe eine Spalte in meiner Quelldatenbank gelöscht (verworfen), sie wird aber weiterhin im Ziel angezeigt. Warum? | Datastream löscht keine Spalten im Ziel. Sie müssen Spalten manuell löschen. Dieses Verhalten ist beabsichtigt, da Sie in einigen Fällen die gelöschte Spalte im Ziel beibehalten möchten. Beispiel: Das Umbenennen einer Spalte in der Quelle wird von Datastream als Löschen einer Spalte und Hinzufügen einer anderen Spalte interpretiert. In diesem Fall möchten Sie die ursprüngliche Spalte im Ziel nicht verlieren. |
| Der Stream kann aufgrund eines Validierungsfehlers nicht gestartet werden, aber ich denke, dass es sich um einen Fehler handelt, oder ich möchte den Stream trotzdem ausführen. Wie kann ich diese Validierung umgehen? | Sie können den Stream über die API starten, indem Sie das Flag force=true hinzufügen und die Validierungsprüfungen überspringen. Das Überspringen von Validierungen garantiert nicht, dass der Stream ausgeführt werden kann. Er kann trotzdem fehlschlagen, wenn die erforderliche Konfiguration oder die erforderlichen Berechtigungen in der Datenbank 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 den Einschränkungen für die einzelnen Quellen ist angegeben,dass Streams bis zu 10.000 Tabellen enthalten können. Bedeutet das,dass Datastream CDC-Vorgänge nicht parallel für mehr als 10.000 Tabellen gleichzeitig ausführen kann? | Nein. Das erwähnte Limit gilt pro Stream. Sie können mehrere Streams mit einer Gesamtzahl von mehr als 10.000 Tabellen haben. |
Verhalten und Einschränkungen von MySQL-Quellen
| 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 CLI-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ärlogs? | Nein, Datastream unterstützt die Komprimierung von Transaktionsereignissen mit der Transaktionskomprimierung für binäre Logs nicht. Deaktivieren Sie die Transaktionskomprimierung für binäre Logs, um die Change Data Capture-Funktion für MySQL in Datastream zu verwenden. |
Ihre Organisation lässt die Erteilung der Berechtigung SELECT für alle ihre Tabellen und Datenbanken nicht zu. Können Sie 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 |
Verhalten und Einschränkungen von Oracle-Quellen
| Frage | Antwort |
|---|---|
| Wie ruft Datastream Daten aus Oracle ab? | Datastream verwendet Oracle LogMiner, um die Daten aus den Redo-Logs von Oracle zu extrahieren. |
| Benötigt Datastream eine GoldenGate-Lizenz von Oracle? | Nein. Datastream benötigt keine GoldenGate-Lizenz, da es Oracle LogMiner verwendet, um die Daten aus den Redo-Logs der Datenbank zu lesen. |
| Was passiert, wenn Oracle LogMiner nicht mehr unterstützt wird? | Oracle LogMiner wird weiterhin in allen allgemein verfügbaren Oracle-Releases unterstützt und 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 diese Einstellung keine Auswirkungen auf Datastream hat. |
| 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 Pluggable Database in einem Stream replizieren. |
Ihre Organisation lässt das Gewähren der Berechtigung GRANT SELECT ANY TABLE nicht zu. Können Sie Datastream weiterhin verwenden? |
Wenn Sie die Berechtigung
Wenn Sie Änderungen mit Datastream streamen möchten, benötigen Sie außerdem Lesezugriff auf alle im Stream enthaltenen Tabellen. Um den Stream zu starten, umgehen Sie die Validierung mithilfe 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 keine direkte Verbindung zu Datenbanken mit der SCAN-Funktion (Single Client Access Name) in Oracle Real Application Clusters (RAC)-Umgebungen mit Datastream herstellen. Um diese Einschränkung zu umgehen, stellen Sie eine direkte Verbindung zu einem der Knoten her oder verwenden Sie den Oracle Connection Manager. Sie können auch eine Konfiguration für private Konnektivität 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 beide 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? | Nein, Datastream unterstützt die Replikation von Lesereplikatinstanzen für PostgreSQL nicht. |
| Unterstützt Datastream Sicherheit auf Zeilenebene (Row-Level Security, RLS)? | Datastream unterstützt keine Replikation von Tabellen mit aktivierter RLS. Sie können diese Einschränkung jedoch mit der BYPASSRLS-Klausel umgehen:
ALTER USER USER_NAME BYPASSRLS; Ersetzen Sie USER_NAME durch den Namen des Nutzers, den Datastream für die Verbindung zur Datenbank verwendet und für den Sie RLS-Richtlinien umgehen möchten. |
| Unterstützt Datastream gleichzeitige CDC-Vorgänge, wenn von einer PostgreSQL-Quelle repliziert wird? | Nein. Die PostgreSQL-Replikation basiert auf dem Konzept von Replikationsslots, die keine gleichzeitigen Verbindungen unterstützen. Es kann jeweils nur eine CDC-Aufgabe aus dem Replikationsslot lesen. Wenn Sie beispielsweise eine große Anzahl von Datensätzen aus der Quelldatenbank löschen, kann der Replikationsslot mit Löschereignissen überlastet werden. Alle nachfolgenden Änderungen an der Quelle werden verzögert, bis die Löschereignisse, die sich bereits in der Warteschlange des Replikationsslots befinden, verarbeitet wurden. Informationen zum empfohlenen Ansatz beim Replizieren großer Transaktionsdaten finden Sie unter Probleme diagnostizieren. |
| Unterstützt Datastream die Verschlüsselung mit Secure Sockets Layer (SSL) und Transport Layer Security (TLS)? | Ja, Datastream unterstützt SSL/TLS-verschlüsselte Verbindungen. |
Verhalten und Einschränkungen von SQL Server-Quellen
| Frage | Antwort |
|---|---|
| Welche SQL Server-Editionen 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 CDC-Replikation von Datastream für SQL Server-Quellen? | Bei der Datenaufnahme in Datastream 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 zuweisen, um Daten aus einer SQL Server-Datenbank zu replizieren: Für die CDC-Methode mit Änderungstabellen:
Zusätzlich für die CDC-Methode für Transaktionslogs:
Ausführliche Informationen zum Konfigurieren Ihrer Quelle finden Sie auf den entsprechenden Konfigurationsseiten für Ihren Datenbanktyp. |
| Warum ist eine Konfiguration wie das Ändern von Abfrageintervallen und das Einrichten eines Kürzungsschutzes erforderlich, wenn Transaktionslogs verwendet werden? | Wenn Sie Daten aus einer SQL Server-Quelle mithilfe von Transaktionslogs replizieren und ein Log gekürzt wird, bevor Datastream es liest, kommt es zu Datenverlust. Das Ändern der Abfrageintervalle und das Einrichten des Abschneideschutzes sind optional, bieten aber eine zusätzliche Schutzebene, damit Datastream die Daten auch bei Ausfällen oder Verbindungsproblemen lesen kann. 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 eine der beiden verfügbaren CDC-Methoden auswählen, je nach Konfiguration Ihrer SQL Server-Quelldatenbank:
Weitere Informationen finden Sie unter SQL Server als Quelle – Übersicht. |
Verhalten und Einschränkungen von Salesforce-Quellen
| Frage | Antwort |
|---|---|
| Was ist eine Salesforce-Organisation? | Eine Salesforce-Organisation, auch als Org bezeichnet, ist Ihre dedizierte Salesforce-Bereitstellung, ähnlich einer Datenbankinstanz. Eine Organisation hat eine definierte Gruppe von lizenzierten Nutzern und speichert alle Kundendaten und Anwendungen. |
| Was sind Salesforce-Objekte, ‑Einträge und ‑Felder? | Ein Objekt ist eine Klassenentität und ähnelt einer Tabelle in der Nomenklatur relationaler Datenbanken. Sie können Standard- oder benutzerdefinierte Dimensionen sein. Standardobjekte sind standardmäßig in Salesforce enthalten, während benutzerdefinierte Objekte von Nutzern erstellt werden, um Daten zu speichern, die für ihren Anwendungsfall spezifisch sind. Ein Eintrag ist eine bestimmte Instanz eines Objekts, ähnlich einer Zeile in relationalen Datenbanken. Ein Feld ist ein bestimmtes Attribut eines Objekts, ähnlich einer Spalte in relationalen Datenbanken. |
| Unterstützt Datastream berechnete Felder von Salesforce? | Datastream unterstützt berechnete Felder (Formelfelder) von Salesforce teilweise. Für die Replikation dieser Felder gelten bestimmte Einschränkungen. Weitere Informationen finden Sie unter Bekannte Einschränkungen. |
Verhalten und Einschränkungen von Salesforce Marketing Cloud-Quellen
| Frage | Antwort |
|---|---|
| Was ist die Salesforce Marketing Cloud? | Salesforce Marketing Cloud ist eine Plattform für personalisierte Customer Journeys über mehrere Kanäle wie E‑Mail, Mobilgeräte und soziale Medien. Es ist ein völlig separates Produkt von der Standard-Salesforce-Plattform. |
| Wie repliziert Datastream Daten aus Salesforce Marketing Cloud? | Datastream verwendet die Salesforce Marketing Cloud APIs, um Daten basierend auf konfigurierten Abfrageintervallen abzurufen. Er unterstützt die inkrementelle Synchronisierung für die meisten Objekte und regelmäßige vollständige Aktualisierungen für Objekte wie Datenerweiterungen. |
Verhalten des BigQuery-Ziels
| Frage | Antwort |
|---|---|
| Wie arbeiten Datastream und BigQuery zusammen, um Änderungen aus der Quelldatenbank zu replizieren? | Datastream liest den Änderungsstream kontinuierlich aus der Quelldatenbank und streamt die Upsert- und Löschereignisse mithilfe der Storage Write API in die BigQuery-Zieltabellen. BigQuery wendet die Änderungen dann basierend auf der Konfiguration der Tabellenveralterung auf die Tabelle an. |
| Wie werden DML-Vorgänge (Datenbearbeitungssprache) in BigQuery angewendet? |
|
| Wie wird die Ereignisreihenfolge in Datastream und BigQuery gehandhabt? | BigQuery verwendet die Ereignismetadaten und eine interne Änderungssequenznummer (CSN), 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 zum Kontrollieren Ihrer BigQuery-Kosten finden Sie unter BigQuery CDC-Preise. |
| Wie groß darf eine Zeile maximal sein, wenn Daten mit Datastream in BigQuery gestreamt werden? | Die maximale Zeilengröße, die Datastream unterstützt, beträgt 20 MB. |
Wenn Sie Daten in BigQuery streamen, wird den Tabellen das Präfix vorangestellt. 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 für jedes Schema ein Dataset erstellen, wird jedes Schema in der Quelle einem Dataset in BigQuery zugeordnet und alle Tabellen im Quellschema werden den Tabellen im Dataset zugeordnet. Wenn Sie die Option „Einzelnes Dataset für alle Schemas“ auswählen, wird den Tabellennamen gemäß der Namenskonvention für Tabellen in BigQuery das Präfix vorangestellt. |
| Kann CDC Änderungen am Quellschema erfassen, z. B. wenn eine Spalte in der Quelle eingefügt oder 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, aber nicht für die bereits im Ziel replizierten Zeilen. Gelöschte Spalten werden ignoriert und von Datastream im Ziel mit NULL-Werten gefüllt. Sie können diese Spalten dann manuell in BigQuery löschen. |
Verhalten des Cloud Storage-Ziels
| 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. Diese Felder umfassen: Für Oracle-Quellen:
Für MySQL-Quellen:
Für PostgreSQL-Quellen:
Weitere Informationen zu Metadatenfeldern finden Sie unter Quellspezifische 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, können Sie 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 Reihenfolge mit der zuvor in diesem Abschnitt erwähnten Methode anwenden. |
| Wie werden Aktualisierungen von Primärschlüsseln verarbeitet? Enthält das Ereignis Vorher- und Nachher-Informationen? | Wenn sich der Primärschlüssel einer Zeile ändert, generiert Datastream zwei Ereignisse für die Änderung: ein UPDATE-DELETE- und ein UPDATE-INSERT-Ereignis. Das Ereignis UPDATE-DELETE stellt die Daten vor der Aktualisierung dar und UPDATE-INSERT die Daten nach der Aktualisierung. Weitere Informationen zu quellenspezifischen Metadaten finden Sie unter Ereignisse und Streams. |
| Wie groß darf eine Zeile maximal sein, wenn Daten mit Datastream in Cloud Storage gestreamt werden? | Die maximale Zeilengröße, die Datastream unterstützt, 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 wird Datastream in Google Cloud -Datendienste eingebunden? | Datastream ergänzt und verbessert die Datensuite von Google Cloud durch die CDC-Datenreplikation von Quellen zu verschiedenen Diensten von Google Cloud . Durch die nahtlose Integration in diese Dienste fügt sich Datastream in das größere Ökosystem von Google Cloud ein. Datastream kann in die folgenden Datendienste eingebunden werden:
|
| Gibt es für die Datastream-zu-BigQuery-Vorlage in Dataflow Einschränkungen für die Anzahl der DML-Vorgänge (Datenbearbeitungssprache)? | Nein. Die Vorlage verwendet die Streaming-Insert-Anweisungs-API, um Daten in BigQuery zu laden. Daher gibt es keine Begrenzung für die Anzahl der DML-Vorgänge. Es gelten jedoch einige Kontingentbeschrä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. Nach der Replikation werden die Daten standardmäßig verschlüsselt und die Sicherheitskontrollen von BigQuery oder Cloud Storage werden angewendet. 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 festlegen, welche spezifischen Datenelemente (Schemas, Tabellen und Spalten) Ihrer Quelle in ein Ziel gestreamt werden sollen 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? | Unabhängig davon, ob Sie Secret Manager zum Speichern Ihres Passworts verwenden oder Ihr Passwort beim Erstellen des Verbindungsprofils manuell eingeben, werden alle Nutzermetadaten bei der Übertragung und im Ruhezustand verschlüsselt und von Google in seinen proprietären Speichersystemen gespeichert. Der Zugriff auf diese Metadaten wird nachverfolgt und geprüft. |
Warum wird auf der Seite Konfiguration für private Konnektivität erstellen angegeben, dass Sie dem Datastream-Dienstkonto die Rolle roles/compute.networkAdmin zuweisen müssen, um eine Konfiguration für private Konnektivität in einer gemeinsam genutzten 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 die Zuweisung der Rolle networkAdmin an das Datastream-Dienstkonto nicht zulässt, erstellen Sie eine benutzerdefinierte Rolle mit den folgenden spezifischen Berechtigungen:
IP-Bereiche dynamisch auswählen
Peering-Netzwerke erstellen
IP-Adressen reservieren
|
| Kann ich Private Service Connect verwenden, um eine private Konnektivität zu erstellen? | Datastream unterstützt Private Service Connect-Schnittstellen als Konfiguration für private Konnektivität. Eine Private Service Connect-Schnittstelle ist eine Ressource, mit der das VPC-Netzwerk (Virtual Private Cloud) eines Erstellers Verbindungen zu einem Netzwerkanhang in einem Nutzer-VPC-Netzwerk initiieren und von diesem empfangen kann. Weitere Informationen finden Sie unter Private Service Connect-Schnittstellen konfigurieren. |
Datastream überwachen
| Frage | Antwort |
|---|---|
| Woher weiß ich, wann alle meine Verlaufsdaten an das Ziel kopiert wurden? | Datastream stellt Informationen zum aktuellen Status in den Logdateien bereit. Es wird ein Logeintrag erstellt, der angibt, wann der Backfill einer 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. Zum Schutz der Quelldatenbank und von Datastream gibt es jedoch Limits für die Anzahl der gleichzeitigen Verbindungen und Prozesse, die Datastream jederzeit öffnen kann. Bei einem deutlichen Anstieg des Ereignisdurchsatzes sind vorübergehende Latenzspitzen zu erwarten. Diese sollten sich allmählich verringern, wenn der Rückstand an Ereignissen abgearbeitet wird. |
Preise
| Frage | Antwort |
|---|---|
| Welche Preise gelten für Datastream? | Die Preise für Datastream richten sich nach dem Volumen (GB) der Daten, die von Ihrer 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 erfolgt anhand der Größe der von Datastream verarbeiteten Daten. 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 werden separat berechnet und 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
- Wichtige Konzepte und Funktionen von Datastream kennenlernen.
- Quellen, die von Datastream unterstützt werden
- Ziele, die von Datastream unterstützt werden