MySQL-Quelldatenbank

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:

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:
    1. Die Tabelle hat einen eindeutigen Index.
    2. Keine der Spalten des Index kann Nullwerte enthalten.
    3. Der Index ist nicht absteigend.
    4. 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 Datentypen DATETIME, DATE oder TIMESTAMP nicht. Der Nullwert wird durch den Wert NULL 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 oder TIMESTAMP2. 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