HeatWave-Clusterdaten-Recovery

Das HeatWave-Cluster stellt die im Speicher gespeicherten Daten automatisch wieder her, wenn ein Knotenfehler, ein Clusterneustart, ein DB-Systemneustart oder eine geplante Wartung vorliegt.

Das HeatWave-Cluster führt den Datenwiederherstellungsprozess aus, wenn:
  • Mindestens ein HeatWave-Knoten war nicht erfolgreich und wurde neu gestartet.
    Hinweis

    MySQL HeatWave überwacht den Status von HeatWave-Knoten regelmäßig. Wenn nach 60 Sekunden keine Antwort von einem Knoten vorliegt, versucht MySQL HeatWave automatisch, den Knoten online zu setzen.
  • Das HeatWave-Cluster wird neu gestartet.
  • Das DB-System wird neu gestartet.
  • High Availability ist im DB-System aktiviert oder deaktiviert.
  • Im DB-System ist ein Switchover oder Failover mit aktivierter High Availability aufgetreten.
Hinweis

Automatisch geladene Tabellen werden nicht wiederhergestellt, wenn das DB-System neu gestartet wurde (einschließlich Switchover und Failover eines High-Availability-DB-Systems). Sie werden nur wiederhergestellt, wenn das DB-System während des Recovery-Prozesses des HeatWave-Clusters weiter ausgeführt wird.
MySQL HeatWave-Daten können aus der HeatWave-Speicherebene wiederhergestellt oder aus dem DB-System und Lakehouse-Objektspeicher neu geladen werden.
  • Wiederherstellen aus der HeatWave-Speicherschicht
    MySQL HeatWave versucht zunächst, Daten aus der HeatWave-Speicherschicht wiederherzustellen, die erstellt wird, wenn Sie das HeatWave-Cluster zum ersten Mal aktivieren. Um das Recovery zu vereinfachen, werden Daten im Object Storage persistiert, wenn Daten im HeatWave-Cluster geladen und wenn Datenänderungen vom DB-System an das HeatWave-Cluster propagiert werden Das Laden von Daten aus der HeatWave-Speicherschicht ist schneller, da die Daten nicht in das HeatWave-Speicherformat konvertiert werden müssen, wie es beim Laden von Daten aus dem DB-System oder Lakehouse-Objektspeicher erforderlich ist.
    Hinweis

    Die in 9.3.0 eingeführten temporären HeatWave-Tabellen können nur aus der HeatWave-Speicherschicht wiederhergestellt werden. Sie werden nur wiederhergestellt, wenn das DB-System während des Recovery-Prozesses des HeatWave-Clusters weiter ausgeführt wird. Sie werden nicht wiederhergestellt, wenn das DB-System neu gestartet wurde (einschließlich Switchover und Failover eines High-Availability-DB-Systems), weil eine temporäre HeatWave-Tabelle sessionbasiert ist und beim Schließen der Session gelöscht wird.
  • Aus DB-System oder Lakehouse-Objektspeicher neu laden
    Die Daten können in diesen Situationen nicht aus der HeatWave-Speicherschicht wiederhergestellt werden, und alle Tabellen müssen aus dem DB-System oder Lakehouse-Objektspeicher neu geladen werden:
    • Das Recovery aus der HeatWave-Speicherschicht war aufgrund eines Object Storage-Ausfalls oder eines Netzwerkausfalls nicht erfolgreich.
    • Die Binärlogs, die für die Änderungspropagierung der aus der HeatWave-Speicherschicht wiederhergestellten Daten erforderlich sind, wurden gelöscht.
    • Das DB-System wird upgegradet, und die in der HeatWave-Speicherschicht gespeicherten Daten sind zwischen der alten und der neuen Version nicht kompatibel.
    • High Availability ist im DB-System aktiviert oder deaktiviert.
    • Ein Standalone-DB-System mit einer niedrigeren Version als 9.2.0 wird neu gestartet.
    • In einem High-Availability-DB-System mit einer niedrigeren Version als 9.3.0 ist ein Neustart, Switchover oder Failover aufgetreten.
      Hinweis

      Ab Version 9.2.1 können InnoDB-Tabellen aus der HeatWave-Speicherschicht wiederhergestellt werden.
    Nach dem Neustart des DB-Systems können diese Tabellen nicht aus der HeatWave-Speicherschicht wiederhergestellt werden und müssen aus dem DB-System oder Lakehouse-Objektspeicher neu geladen werden:
    • Tabellen mit Dictionary-codierten Spalten.
    • Veraltete Tabellen.
    • Tabellen, die nicht in periodischen Metadaten-Checkpoints erfasst wurden.
    • Tabellen, in denen Partitionslade- oder -entladevorgänge ausgeführt wurden, als das DB-System abrupt gestoppt wurde.

Sie können den Status des HeatWave-Clusters überwachen, indem Sie die HeatWave-Clustermetrik mit dem Namen Zustandsstatus des HeatWave-Clusters prüfen. Siehe HeatWave-Clustermetriken. Der Status zeigt 1 für RECOVERING an, und der Status ändert sich in 0 für HEALTHY, wenn das Recovery abgeschlossen ist.

Beim Recovery lädt das HeatWave-Cluster die Daten automatisch neu. Wenn sich der MySQL Server jedoch im SUPER_READ_ONLY-Modus befindet, können Sie keine Daten in das HeatWave-Cluster laden, und das MySQL HeatWave-Recovery verläuft nicht erfolgreich. Deaktivieren Sie den SUPER_READ_ONLY-Modus, um Daten zu laden. Siehe Problem SUPER_READ_ONLY und OFFLINE_MODE lösen, das durch wenig freien Speicherplatz verursacht wird.

Wenn Sie eine Tabelle entladen, werden die Daten aus dem HeatWave-Cluster entfernt. In einem Hintergrundvorgang werden sie auch aus der HeatWave-Speicherschicht im Object Storage entfernt.