SAP HANA - Persistente Schicht

Die Persistenzschicht der SAP-HANA-Datenbank ist für die Verwaltung der Protokolle aller Transaktionen verantwortlich, um die Standardfunktion für Datensicherung und Systemwiederherstellung bereitzustellen.

Es stellt sicher, dass die Datenbank nach einem Neustart oder nach einem Systemabsturz auf den neuesten festgeschriebenen Status zurückgesetzt werden kann und Transaktionen vollständig oder vollständig rückgängig gemacht werden. SAP HANA Persistent Layer ist Teil des Indexservers und verfügt über Daten- und Transaktionsprotokollvolumes für das HANA-System. In-Memory-Daten werden regelmäßig auf diesen Volumes gespeichert. Es gibt Dienste im HANA-System, die ihre eigene Persistenz haben. Es bietet auch Speicherpunkte und Protokolle für alle Datenbanktransaktionen ab dem letzten Speicherpunkt.

Warum benötigt die SAP HANA-Datenbank eine persistente Schicht?

  • Der Hauptspeicher ist flüchtig, daher gehen Daten während eines Neustarts oder eines Stromausfalls verloren.

  • Daten müssen auf einem dauerhaften Medium gespeichert werden.

  • Backup & Restore ist verfügbar.

  • Es stellt sicher, dass die Datenbank nach einem Neustart auf den letzten festgeschriebenen Status zurückgesetzt wird und dass die Transaktion entweder vollständig ausgeführt oder vollständig rückgängig gemacht wird.

Daten- und Transaktionsprotokollvolumes

Die Datenbank kann immer auf den neuesten Stand gebracht werden, um sicherzustellen, dass diese Änderungen an den Daten in der Datenbank regelmäßig auf die Festplatte kopiert werden. Protokolldateien mit Datenänderungen und bestimmten Transaktionsereignissen werden ebenfalls regelmäßig auf der Festplatte gespeichert. Daten und Protokolle eines Systems werden in Protokolldatenträgern gespeichert.

Datenvolumes speichern SQL-Daten und machen Protokollinformationen rückgängig sowie SAP HANA-Informationsmodellierungsdaten. Diese Informationen werden auf Datenseiten gespeichert, die als Blöcke bezeichnet werden. Diese Blöcke werden in regelmäßigen Zeitintervallen, die als Speicherpunkt bezeichnet werden, auf Datenmengen geschrieben.

Protokolldatenträger speichern die Informationen zu Datenänderungen. Änderungen, die zwischen zwei Protokollpunkten vorgenommen werden, werden in Protokolldatenträger geschrieben und als Protokolleinträge bezeichnet. Sie werden im Protokollpuffer gespeichert, wenn die Transaktion festgeschrieben wird.

Sicherungspunkte

In der SAP-HANA-Datenbank werden geänderte Daten automatisch vom Speicher auf der Festplatte gespeichert. Diese regelmäßigen Intervalle werden als Sicherungspunkte bezeichnet und sind standardmäßig alle fünf Minuten festgelegt. Die Persistenzschicht in der SAP-HANA-Datenbank führt diese Sicherungspunkte in regelmäßigen Abständen aus. Während dieses Vorgangs werden geänderte Daten auf die Festplatte geschrieben und Redo-Protokolle werden ebenfalls auf der Festplatte gespeichert.

Die zu einem Sicherungspunkt gehörenden Daten zeigen den konsistenten Status der Daten auf der Festplatte an und bleiben dort, bis der nächste Sicherungspunktvorgang abgeschlossen ist. Redo-Protokolleinträge werden für alle Änderungen an persistenten Daten auf die Protokolldatenträger geschrieben. Bei einem Neustart der Datenbank können Daten vom letzten abgeschlossenen Sicherungspunkt aus den Datenvolumes gelesen und Protokolleinträge wiederholt werden, die auf die Protokollvolumes geschrieben wurden.

Die Häufigkeit des Sicherungspunkts kann über die Datei global.ini konfiguriert werden. Sicherungspunkte können durch andere Vorgänge wie Herunterfahren der Datenbank oder Neustart des Systems ausgelöst werden. Sie können savepoint auch ausführen, indem Sie den folgenden Befehl ausführen:

ALTER System SAVEPOINT

Um Daten zu speichern und Protokolle auf Protokolldatenträgern zu wiederholen, sollten Sie sicherstellen, dass genügend Speicherplatz verfügbar ist, um diese zu erfassen. Andernfalls gibt das System ein Ereignis mit vollem Datenträger aus und die Datenbank funktioniert nicht mehr.

Während der Installation des HANA-Systems werden folgende Standardverzeichnisse als Speicherort für Daten- und Protokollvolumes erstellt:

  • /usr/sap/<SID>/SYS/global/hdb/data
  • /usr/sap/<SID>/SYS/global/hdb/log

Diese Verzeichnisse sind in der Datei global.ini definiert und können zu einem späteren Zeitpunkt geändert werden.

Beachten Sie, dass Sicherungspunkte die Leistung von Transaktionen, die im HANA-System ausgeführt werden, nicht beeinträchtigen. Während eines Sicherungspunktvorgangs werden die Transaktionen wie gewohnt fortgesetzt. Wenn das HANA-System auf der richtigen Hardware ausgeführt wird, sind die Auswirkungen von Sicherungspunkten auf die Leistung des Systems vernachlässigbar.