23. Mai - 08. September 2019

19. Mai 2019

Artikelreihe "S/4HANA": Was ist In-Memory-Computing? (Teil 3)

erp_logo_200px
Im digitalen Zeitalter kommt es darauf an, möglichst schnell und unkompliziert Daten zu erhalten, zu analysieren und entsprechend zeitig auf Veränderungen zu reagieren. Dies ist der Grund, warum IT-Abteilungen neue und schnellere Möglichkeiten finden müssen, um den Entscheidungsträgern aktuelle Informationen und Erkenntnisse bereitstellen zu können. Darauf zu warten, dass Daten ein komplexes Datenmodell und Data Warehouse durchlaufen, reicht den Entscheidungsträgern bereits nicht mehr aus. Für sie ist es von Bedeutung, was gegenwärtig – also in diesem Moment – geschieht, um möglichst in Echtzeit darauf reagieren zu können. 

 

Um diesen Traum zu verwirklichen, müssen Ereignisse nicht nur in Echtzeit analysiert werden, sondern auch große Datenmengen. An dieser Stelle kommt nun das In-Memory-Computing (engl. in-memory = Hauptspeicher, computing = Nutzung und Funktion von Computern) ins Spiel. Indem Daten von einer Festplatte in den Hauptspeicher verschoben werden, können sie damit mühelos und rasch aufgewartet werden. 

 

Beim In-Memory-Computing ist es möglich, große Datenmengen im Hauptspeicher zu verarbeiten und Analyse- und Transaktionsergebnisse direkt bereitzustellen. SAP nennt dies Massive Parallel Processing (MPP). Im Idealfall werden die zu verarbeitenden Daten in Echtzeit erzeugt. Um dieses Leistungsniveau zu erreichen und zu halten, folgt In-Memory-Computing einem einfachen Prinzip: Der Datenzugriff wird beschleunigt und Datenbewegungen minimiert. Der Hauptspeicher (RAM) ist der schnellste Speichertyp, der eine große Datenmenge aufnehmen kann. Der Zugriff auf diese Daten im Hauptspeicher erfolgt 100 000-mal schneller als auf die Festplatte. Durch die Nutzung der In-Memory-Funktion kann so die Leistung beträchtlich verbessert werden, da die Daten schneller für die Berichts- und Analyselösungen oder andere Anwendungen zur Verfügung gestellt werden. 
 

Bei einem Stromausfall oder wenn der Computer abstürzt, muss nicht befürchtet werden, dass Daten verloren gehen, denn In-Memory-Datenbanken arbeiten unter dem sogenannten AKID-Prinzip (Atomarität, Konsistenz, Isoliertheit und Dauerhaftigkeit), das die gewünschten Eigenschaften der Verarbeitung von Daten in einer Datenbank beschreibt. Diese Anforderungen sehen wie folgt aus: 

  • Eine Transaktion muss atomar ablaufen, das heißt, wenn ein Teil einer Transaktion fehlschlägt, misslingt die gesamte Transaktion, und der Status der Datenbank bleibt unverändert.
  • Die Konsistenz einer Datenbank muss gewährleistet werden, das heißt, es werden nur gültige Daten in der Datenbank abgelegt. Wenn aus irgendeinem Grund eine Transaktion ausgeführt wird, die die Konsistenzregeln der Datenbank verletzt, wird die gesamte Transaktion rückgängig gemacht. Dabei wird die Datenbank in einem Status wiederhergestellt, der den Regeln entspricht. 
  • Eine Transaktion muss isoliert werden, damit keine Störungen zwischen Transaktionen auftreten können.
  • Schließlich muss eine Transaktion dauerhaft sein, das heißt, wenn eine Transaktion an die Datenbank übergeben wurde, verbleibt sie auch dort. 
Die ersten drei Anforderungen stellen für die In-Memory-Technologie kein Hindernis dar. Die Dauerhaftigkeit jedoch kann nicht garantiert werden, wenn die Daten nur im Hauptspeicher abgelegt werden, denn er ist flüchtig. Das bedeutet, dass Inhalte bei einem Stromausfall verloren gehen. Um beständige Daten zu erhalten, müssen diese in einem nicht-flüchtigen Speicher (zum Beispiel Festplatte) abgelegt werden.

 

Das Medium, das von der Datenbank zum Speichern verwendet wird (in diesem Fall der Hauptspeicher), ist in Seiten unterteilt. Werden nun Daten durch eine Transaktion geändert, werden die entsprechenden Seiten markiert und regelmäßig in den nicht-flüchtigen Speicher geschrieben (eine Festplatte mit unabhängiger Stromversorgung). Zusätzlich werden im Datenbankprotokoll sämtliche Änderungen festgehalten, die von den Transaktionen vorgenommen werden. Durch jede ausgeführte Transaktion wird ein Protokolleintrag erzeugt, der in den nicht-flüchtigen Speicher geschrieben wird. Auf diesem Weg wird sichergestellt, dass alle Transaktionen dauerhaft sind. 

 

In-Memory-Datenbanken können geänderte Seiten an Savepoints speichern, die in regelmäßigen Abständen asynchron in den persistenten Speicher geschrieben werden. Dieses Protokoll wird synchron geschrieben. Das bedeutet also: Damit die Dauerhaftigkeit erfüllt wird und die In-Memory-Datenbanken den AKID-Test bestehen, wird eine Transaktion erst dann zurückgeführt, wenn der entsprechende Protokolleintrag in den persistenten Speicher geschrieben wurde. 

 

Nach einem Stromausfall also stellt die Wiederherstellung von Datenbankseiten über die Savepoints kein Problem dar. Die Datenbankprotokolle werden eingesetzt, um die Änderungen wiederherzustellen, die nicht in den Savepoints erfasst wurden. So wird sichergestellt, dass die Datenbank im Hauptspeicher mit genau dem Status wiederhergestellt wird, den sie vor dem Stromausfall hatte. 

 

So funktioniert also die In-Memory-Datenbank, auf der S/4HANA basiert. Schnelligkeit, Konsistenz sowie Dauerhaftigkeit machen sie aus. Lest im nächsten Artikel, welche Funktionen bei S/4HANA zur Verfügung stehen und wie diese die IT-Landschaft vereinfachen. 

 

von Gohar Zatrjan 

 

Quelle
  • Berg, Bjarne & Silvia, Penny 2013: Einführung in SAP HANA. 2. akt. Aufl. Galileo Press, Bonn. 


© www.erp4students.de   Dienstag, 19. September 2017 15:31 Zatrjan
© 2019 erp4students Deutschland, Alle Rechte vorbehalten. Impressum | Datenschutz Anmelden