Definition und Funktionsweise von In-Memory-Computing
Die In-Memory-Technologie unterscheidet sich auf signifikante Weise von den ansonsten üblichen Datenbanksystemen. Die herkömmlichen Methoden nutzen direkt den Hauptspeicher von Festplattenlaufwerken, um die benötigten Datenmengen zu speichern. Die In-Memory-Technologie hingegen legt Daten im internen Arbeitsspeicher (Hauptspeicher) eines Computers ab, wodurch es sich um ein grundlegend anderes Funktionsprinzip handelt.
Wenn hier nun bei einer Datenbank durch die Memory auf die erforderlichen Daten zurückgegriffen werden soll, wird der Systemspeicher (RAM) direkt geladen und anschließend vom Computer verarbeitet. Dadurch erreichen In-Memory-Datenbanken deutlich schnellere Antwortzeiten. Da der Zugriff auf den Arbeitsspeicher wesentlich schneller ist als auf Festplatten, können Abfragen und Transaktionen effizienter verarbeitet werden.
Die Daten in In-Memory-Datenbanken werden anschließend im Systemspeicher in komprimierter, nicht-relationaler Form gehalten. Dies bedeutet, dass sie nicht in herkömmlichen Tabellenstrukturen organisiert sind, sondern effizienter gespeichert werden.
IMDBs sind in der Regel ausschließlich für den lesenden Zugriff konzipiert und werden oft für die Datenhaltung historischer Daten verwendet. Sie sind häufig Teil eines Data Warehouses, in dem große Datenmengen analysiert werden.
Unterschiedliche Arten von In-Memory-Datenbanken
Bei einer in Memory Datenbank unterscheidet man generell zwischen der spalten- und zeilenbasierten Datenhaltung. Es kommt allerdings auch vor, dass Datenbanksysteme beide Arten der Speicherung simultan benutzen.
Bei zeilenorientierten Datenbanken werden die Datenmengen gemeinsam in einer Zeile angeordnet, jeder Eintrag wird als separate Zeile mit verschiedenen Feldern (Spalten) abgelegt. Diese Art von Datenbanken eignet sich gut für Transaktionen, bei denen häufiges Schreiben, Ändern und Löschen von Einträgen erforderlich ist.
Bei spaltenorientierten Datenbanken werden die Daten spaltenweise gespeichert. Jede Spalte repräsentiert einen Eintrag, und die Informationen zu diesem Eintrag werden vertikal untereinander angeordnet. Daraus ergeben sich diese Vorteile:
- Schnellere Analyse: Spaltenbasierte Datenbanken sind ideal für die Analyse großer Datenmengen. Weniger Festplattenzugriffe sind erforderlich, da die Daten einer Kategorie nah beieinander liegen.
- Effizienz: Beim Auslesen und Auswerten von Datensätzen muss nur ein Block geladen werden, anstatt die gesamte Datenbank zu durchsuchen.
- Kapazität-sparend: Die spaltenbasierte Variante, die auch Column Store-Format genannt wird, speichert Daten mit identischen Werten gemeinsam ab, wodurch die insgesamt benötigte Kapazität des Hauptspeichers verringert wird
Somit können In-Memory-Datenbanken auch ohne die traditionellen Festplatten-Hauptspeicher auskommen, die sich insbesondere durch ihre hohe Speicherkapazität auszeichnen. Durch dieses Prinzip ergeben sich verschiedene Vorteile bei den Anwendungen.