Dieser Abschnitt enthält Informationen über:
- Das Verhalten von Datastream zur Verarbeitung von Daten, die aus einer MySQL-Quelldatenbank abgerufen werden
- Von Datastream unterstützte Versionen der MySQL-Datenbank
- Bekannte Einschränkungen bei Verwendung der MySQL-Datenbank als Quelle
- Eine Übersicht über das Einrichten einer MySQL-Quelldatenbank, damit Daten daraus an ein Ziel gestreamt werden können
Verhalten
Die MySQL-Quelldatenbank greift auf das Feature Binärlog zurück, um Änderungen an den Daten aufzuzeigen.
- Es können alle oder nur bestimmte Datenbanken aus einer bestimmten MySQL-Quelle sowie alle Tabellen oder bestimmte Tabellen aus den Datenbanken ausgewählt werden.
- Alle Verlaufsdaten werden repliziert.
- Alle Änderungen der Datenbearbeitungssprache (Data Manipulation Language, DML) wie Einfügungen, Aktualisierungen und Löschungen aus den angegebenen Datenbanken und Tabellen werden repliziert.
- Es werden nur Änderungen repliziert, für die ein Commit durchgeführt wurde.
Versionen
Datastream unterstützt die folgenden Versionen von MySQL-Datenbanken:
- MySQL 5.6
- MySQL 5.7
- MySQL 8.0
Datastream unterstützt die folgenden Typen von MySQL-Datenbanken:
- Selbst gehostetes MySQL
- Cloud SQL for MySQL
- Amazon RDS for MySQL
- Amazon Aurora MySQL
- MariaDB
- Alibaba Cloud PolarDB
- Percona Server for MySQL
Bekannte Einschränkungen
Bekannte Einschränkungen bei Verwendung der MySQL-Datenbank als Quelle
- Streams sind auf 10.000 Tabellen beschränkt.
- Für Tabellen, die einen Primärschlüssel haben, der als
INVISIBLE
definiert ist, kann kein Backfill durchgeführt werden. - Für Tabellen mit mehr als 500 Millionen Zeilen ist kein Backfill möglich, es sei denn, die folgenden Bedingungen sind erfüllt:
- Die Tabelle hat einen eindeutigen Index.
- Keine der Spalten des Index kann Nullwerte enthalten.
- Der Index ist nicht absteigend.
- Alle Spalten des Index sind im Stream enthalten.
- Datastream ruft regelmäßig das neueste Schema aus der Quelle ab, während Ereignisse verarbeitet werden. Wenn sich ein Schema ändert, erkennt Datastream die Schemaänderung und löst einen Schemaabruf aus. Einige Ereignisse werden jedoch möglicherweise falsch verarbeitet oder zwischen den Schemaabrufen gelöscht, was zu Datenabweichungen führen kann.
- Nicht alle Änderungen am Quellschema können automatisch erkannt werden. Dies kann zu Datenbeschädigungen führen. Die folgenden Schemaänderungen können zu Datenbeschädigungen oder Fehlern bei der nachgelagerten Verarbeitung der Ereignisse führen:
- Spalten entfernen
- Spalten in der Mitte einer Tabelle einfügen
- Datentyp einer Spalte ändern
- Spalten neu sortieren
- Tabellen löschen (relevant, wenn dieselbe Tabelle anschließend mit neuen Daten neu erstellt wird)
- Tabellen kürzen
- Datastream unterstützt keine Replikation von Ansichten.
- Datastream unterstützt keine Spalten mit raumbezogenen Datentypen. Die Werte in diesen Spalten werden durch
NULL
-Werte ersetzt. - Datastream unterstützt den Nullwert (
0000-00-00 00:00:00
) in Spalten der DatentypenDATETIME
,DATE
oderTIMESTAMP
nicht. Der Nullwert wird durch den WertNULL
ersetzt. - Das Replizieren von Zeilen mit den folgenden Werten in
JSON
-Spalten wird von Datastream nicht unterstützt:DECIMAL
,NEWDECIMAL
,TIME
,TIME2
DATETIME
,DATETIME2
,DATE
,TIMESTAMP
oderTIMESTAMP2
. Ereignisse mit solchen Werten werden verworfen. - Datastream unterstützt die Komprimierung von Transaktionen mit binären Logs nicht.
- Datastream unterstützt keine SSL-Zertifikatsketten in den MySQL-Quellverbindungsprofilen. Es werden nur einzelne, x509-PEM-codierte Zertifikate unterstützt.
- Datastream unterstützt keine kaskadierenden Löschvorgänge. Solche Ereignisse werden nicht in das binäre Log geschrieben und daher auch nicht an das Ziel weitergegeben.
- Datastream unterstützt keine Failover zu Replikaten. Aus diesem Grund empfehlen wir nicht, Datastream für die Replikation von Cloud SQL for MySQL Enterprise Plus-Quellen zu verwenden. Instanzen der Cloud SQL Enterprise Plus-Version unterliegen einer Wartung nahezu ohne Ausfallzeiten und einem Failover auf ein Replikat während der Wartung. Dadurch wird die Binlog-Kontinuität unterbrochen und die betroffenen Streams schlagen dauerhaft fehl.
Nächste Schritte
- MySQL-Quelle konfigurieren zur Verwendung mit Datastream.