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 historischen Daten werden repliziert.
  • Alle Änderungen an der Datenbearbeitungssprache (Data Manipulation Language, DML), z. B. 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 eine Tabelle mit mehr als 500 Millionen Zeilen kann nur ein Backfill ausgeführt werden, wenn die folgenden Bedingungen erfüllt sind:
    1. Die Tabelle hat einen eindeutigen Index.
    2. Keine der Spalten des Index darf Nullwerte enthalten.
    3. Der Index steigt nicht ab.
    4. Alle Spalten des Index sind in den Stream enthalten.
  • Datastream ruft regelmäßig das neueste Schema aus der Quelle ab, wenn die 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 räumlichen 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 Wert Null wird durch den Wert NULL ersetzt.
  • Datastream unterstützt nicht die Replikation von Zeilen, die die folgenden Werte in JSON-Spalten enthalten: DECIMAL, NEWDECIMAL, TIME, TIME2 DATETIME, DATETIME2, DATE, TIMESTAMP oder TIMESTAMP2. Ereignisse mit solchen Werten werden verworfen.
  • Datastream unterstützt die Komprimierung der Transaktionen von 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 folglich nicht an das Ziel weitergegeben.
  • Datastream unterstützt keine Failovers auf Replikate. Aus diesem Grund raten wir davon ab, Datastream für die Replikation aus Cloud SQL for MySQL Enterprise Plus-Quellen zu verwenden. Instanzen der Cloud SQL Enterprise Plus-Version unterliegen einer Wartung nahezu ohne Ausfallzeiten und führen bei der Wartung ein Failover auf ein Replikat aus. Dadurch wird die binlog-Kontinuität unterbrochen und betroffene Streams schlagen dauerhaft fehl.