Diese Seite bietet einen Überblick über die RDB-Persistenz (Redis-Datenbank) in Memorystore for Redis Cluster.
Informationen zum Aktivieren, Deaktivieren und Überwachen der RDB-Persistenz finden Sie unter Persistenz verwalten.
Informationen zu Best Practices für die RDB-Persistenz finden Sie unter Best Practices für die Persistenz.
Mit der RDB-Persistenzfunktion werden Ihre Daten geschützt, indem Snapshots Ihrer Daten in einem langlebigen Speicher gespeichert werden. Sie legen die Häufigkeit dieser Snapshots fest, indem Sie ein Snapshot-Intervall zwischen mindestens 1 Stunde und maximal 24 Stunden auswählen. Bei Knotenausfällen werden Daten auch dann wiederhergestellt, wenn kein Failover möglich ist.
Bei Knoten mit Replikaten wird die Datenwiederherstellung aus dem Replikat priorisiert. Wenn jedoch sowohl der primäre als auch der Replikatknoten gleichzeitig ausfallen, werden die Knoten aus dem letzten Snapshot wiederhergestellt.
Durch die RDB-Persistenz entstehen keine zusätzlichen Kosten für die Abrechnung Ihrer Instanz. Diese Funktion eignet sich ideal für Anwendungsfälle, in denen eine geringe Datenaktualität nach der Wiederherstellung akzeptabel ist. Da Memorystore Snapshots für die automatische Wiederherstellung verwendet, sind Snapshots nicht für manuelle Wiederherstellungen verfügbar. Außerdem wird nur der letzte erfolgreiche Snapshot beibehalten.
Memorystore for Redis Cluster unterstützt auch die AOF-Persistenz. Sie müssen jedoch entweder den AOF- oder den RDB-Persistenzmodus auswählen, da beide nicht gleichzeitig aktiviert werden können. Informationen zur Auswahl zwischen den beiden Persistenzmodi finden Sie unter Persistenz – Übersicht. Für eine bestmögliche Verfügbarkeit empfehlen wir, zusätzlich zur Aktivierung der Persistenz eine Instanz mit Hochverfügbarkeit zu verwenden.
Snapshot-Zeitplanung
Die Snapshot-Planung wird durch zwei Einstellungen bestimmt: die Snapshot-Startzeit und das Snapshot-Intervall. Die Intervalle, die Sie festlegen können, sind 1h
, 6h
, 12h
und 24h
. Wenn Sie beispielsweise die Startzeit auf 4:00 Uhr und das Intervall auf eine Stunde festlegen, werden die Snapshots am Tag der Aktivierung um 4:00 Uhr gestartet und danach jede Stunde fortgesetzt.
Snapshot-Zeitpläne werden in der UTC-Zeitzone ausgewertet. Daher werden Zeitpläne in lokalen Zeitzonen mit Sommerzeit angepasst. Am Anfang und Ende der Sommerzeit in den USA werden die lokalen Startzeiten Ihrer geplanten Snapshot-Zeitpläne beispielsweise um eine Stunde vor oder zurück angezeigt, wenn Ihre Zeitzone die Änderungen der Sommerzeit berücksichtigt.
Snapshots pausieren
Es kann vorkommen, dass Sie die Erstellung von RDB-Snapshots für einen bestimmten Zeitraum vorübergehend pausieren möchten. Dies kann erforderlich sein, um Leistungseinbußen bei kritischen Ereignissen zu vermeiden oder Snapshots vorübergehend zu deaktivieren, um Leistungsprobleme zu beheben.
Wenn Sie Snapshots pausieren möchten, müssen Sie den Beginn in die Zukunft legen. In diesem Fall wird der letzte Snapshot beibehalten und im Falle einer Wiederherstellung verwendet. Wenn Sie Snapshots fortsetzen möchten, passen Sie den Snapshot-Zeitplan so an, dass der nächste Snapshot zum gewünschten Zeitpunkt erstellt wird. Weitere Informationen zum Anpassen von Snapshot-Zeitplänen finden Sie unter RDB-Snapshot-Intervall anpassen.
Wiederherstellungsverhalten
Bei Memorystore for Redis Cluster-Knoten wird als primärer Wiederherstellungsmechanismus ein Failover zu Replikaten durchgeführt, anstatt aus einem Snapshot geladen zu werden. Wenn ein Knoten ausfällt und nicht von einem Replikat wiederhergestellt werden kann, wird er aus einem Snapshot wiederhergestellt.
Datenkonsistenz bei der Wiederherstellung
Wenn die RDB-Persistenz aktiviert ist, wird versucht, Sicherungen im angegebenen Intervall zu erstellen. Snapshots können aus verschiedenen Gründen fehlschlagen. Wenn die Momentaufnahme in mehreren aufeinanderfolgenden Intervallen fehlschlägt, kann das letzte verfügbare Backup beliebig alt sein.
Die maximale Datenabweichung bei der Wiederherstellung aus einem Snapshot ist die Summe aus dem angegebenen Intervall seit Beginn des letzten fehlerfreien Snapshots und der Zeit, die zum Speichern des nächsten Snapshots im Speicher benötigt wird. Verwenden Sie im Falle eines Wiederherstellungsereignisses den Messwert rdb_save_ages
, um den Zeitraum für die Datenveralterung zu sehen.
Regenerationszeit
Wenn ein Knoten ausfällt und Daten aus einem Snapshot wiederherstellen muss, ist der Knoten während der Wiederherstellung nicht verfügbar. Die Wiederherstellungszeit hängt von der Größe des Snapshots ab.
Snapshot-Fehler
Fehlgeschlagene Snapshots werden sofort mit exponentiellem Backoff von 5 bis 300 Sekunden wiederholt. Aufeinanderfolgende Snapshot-Fehler erhöhen die Datenveralterung im Falle einer Wiederherstellung.
Fehler bei der Wiederherstellung
Fehler bei der Wiederherstellung sind selten, können aber auftreten. Wenn ein Fehler bei der Wiederherstellung auftritt, wird der Vorgang vom Knoten wiederholt, bis er erfolgreich ist.
Snapshots überwachen
Es ist wichtig, Snapshots zu überwachen und Benachrichtigungen für fehlgeschlagene Snapshots einzurichten. Informationen zu Best Practices für die RDB-Persistenz finden Sie unter Best Practices für die RDB-Persistenz. Fehlerhafte Snapshots können auf überlastete Knoten hinweisen, die möglicherweise weiterhin Schwierigkeiten haben, sich vom Snapshot zu erholen.
Eine Liste der Messwerte, die für die Überwachung von Snapshots verfügbar sind, finden Sie unter Messwerte für die Persistenz.
Auswirkungen auf die Leistung verwalten
Sie können die Auswirkungen eines Snapshots auf die Leistung Ihrer Memorystore-Instanz überwachen, indem Sie sich die über Cloud Monitoring verfügbaren Messwerte wie CPU-Auslastung und Speicherauslastung ansehen.