Suchen

Definition Was ist eine In-Memory-Datenbank?

| Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel

Bei einer In-Memory-Datenbank handelt es sich um ein Datenbankmanagementsystem, das seine Daten nicht auf herkömmlichen Festplattenspeichern ablegt, sondern direkt den Arbeitsspeicher (RAM) hierfür nutzt. Dadurch lassen sich wesentlich höhere Zugriffsgeschwindigkeiten realisieren

Firma zum Thema

(Bild: © aga7ta - stock.adobe.com)

Einer In-Memory-Datenbank, abgekürzt IMDB, liegt ein gegenüber herkömmlichen Datenbanken anderes Funktionsprinzip zugrunde. Eine IMDB nutzt den Arbeitsspeicher (RAM) eines oder mehrerer Computer als Datenspeicher. Herkömmliche Datenbankmanagementsystem verwenden zur Speicherung der Daten Festplattenlaufwerke. Der Vorteil der Verwendung des Arbeitsspeichers liegt darin, dass wesentlich höhere Zugriffsgeschwindigkeiten im Vergleich zur Festplatte erzielbar sind. Dadurch sind die Zugriffszeiten der IMDB sehr viel kürzer und besser vorhersehbar.

Da RAM teurer ist als Festplattenspeicher, steigen die Kosten mit der Größe der Datenbank deutlich. Oft ist der maximal nutzbare Arbeitsspeicher eines Computers zudem systemtechnisch begrenzt. Vernetztes Grid-Computing kann die Grenze überwinden. Zur Verarbeitung der Daten werden diese in der Regel in besonders kompakten und meist nicht-relationalen Formaten in den Speicher geladen. Häufig kommt die IMDB im Umfeld von Big-Data- und Data-Warehouse-Anwendungen zum Einsatz. Die In-Memory-Technik ermöglicht es diesen Anwendungen, Reports oder Abfragen auf Basis riesiger Datenmengen in kürzesten Zeiten zu erstellen. Das Voraggregieren von Daten oder die Verwendung von OLAP-Würfeln wird durch die hohe Leistungsfähigkeit der IMDB überflüssig.

Getrieben wird die zunehmende Verbreitung der In-Memory-Datenbanken durch immer günstigere RAM-Preise sowie durch die Verfügbarkeit von leistungsstarken 64-Bit-Prozessoren und verteilt arbeitenden Multi-Core Servern. Neben reinen In-Memory-Datenbanken existieren sogenannte hybride IMDB-Systeme. Bei diesen werden Daten sowohl auf Festplattenspeichern als auch im Hauptspeicher abgelegt. Mithilfe dieser hybriden Systeme lassen sich gute Kompromisse zwischen Leistungsfähigkeit, Kosten und Sicherheit der Datenspeicherung erzielen.

Problem der dauerhaften Speicherung von Daten in einer In-Memory-Datenbank

Eines der zentralen Probleme von In-Memory-Datenbanken ist die dauerhafte Speicherung und Persistenz von Daten. Da die IMDB mit flüchtigem RAM arbeitet, können ein Stromausfall oder Systemabsturz ohne entsprechende Absicherungsmaßnahmen zum Verlust von Daten führen. Prinzipiell sind verschiedene Methoden für das Verhindern des Datenverlusts möglich. Oft kommen sogenannte Schnappschussdateien- oder Schnappschusssicherungen der Datenbank zum Einsatz. Sie speichern den Zustand einer IMDB zu einem bestimmten Zeitpunkt. Die nach dem Erstellen des Schnappschussdatei vorgenommenen Veränderungen der Daten sind nach einer Wiederherstellung allerdings verloren. Die Zeitpunkte oder Intervalle, an denen Schnappschussdateien erstellt werden sollen, sind im Vorfeld gründlich zu planen. Grundsätzlich ist vor jeder gezielten Abschaltung der Datenbank eine Schnappschussdatei zu speichern.

Ebenfalls möglich ist der Einsatz von Protokolldateien, die alle Veränderungen in einer Datenbank aufzeichnen und dokumentieren. Mit der Kombination einer Schnappschussdatei und einer Protokolldatei ist die vollständige Wiederherstellung des Zustands einer Datenbank zu einem bestimmten Zeitpunkt möglich. Da das Anlegen der Protokolldateien weniger aufwendig ist als einen kompletten Schnappschuss zu erzeugen und Schnappschüsse nur noch in größeren Abständen benötigt werden, sinkt der Aufwand für die Sicherung der Daten.

Andere Konzepte sehen vor, den flüchtigen RAM mit nichtflüchtigem Speicher zu ergänzen und Daten dort dauerhaft abzulegen. Bei einem Neustart des Systems bleiben sämtliche Daten des nichtflüchtigen Speichers erhalten. Erfolgt in regelmäßigen Abständen eine Art Spiegelung von flüchtigem in nichtflüchtigem Speicher, sinkt das Risiko für einen Datenverlust. Schließlich existieren Systeme, die die Persistenz der Daten durch eine dauerhafte Replikation in herkömmliche Datenbanken sicherstellen. Im Fehlerfall ist ein Weiterbetrieb mit normalen Festplattenspeichern möglich. Allerdings entfallen in diesem Notbetrieb die Vorteile und hohen Zugriffsgeschwindigkeiten der In-Memory-Technik.

Kriterien für den Einsatz von In-Memory-Datenbanken

In-Memory-Datenbanken sind für bestimmte Einsatzszenarien besonders geeignet. Für andere Anwendungen ist deren Verwendung weniger sinnvoll. Folgende Kriterien können für den Einsatz der In-Memory-Technik sprechen:

  • Es existieren große Mengen von Daten, auf die schnell und häufig zugegriffen werden muss,
  • viele Daten liegen in temporärer Form vor,
  • bestehende Datenbankmanagementsysteme und Datenbankserver sind mit ihren jetzigen Aufgaben überlastet und
  • die Persistenz der Daten hat keine hohe Priorität und Datenverlust kann unter Umständen in Kauf genommen werden.

In-Memory-Datenbanken und Big Data

Big Data ist ein prädestinierter Anwendungsbereich der In-Memory-Technologie. Im Gegensatz zu herkömmlichen Datenbanken bieten In-Memory-Datenbanken bei den riesigen Datenmengen der Big-Data-Anwendungen die geforderten Zugriffs- und Verarbeitungsgeschwindigkeiten. Die Datenanalyse lässt sich erheblich beschleunigen und Abfragezeiten sind präzise berechenbar. Sowohl strukturiert als auch unstrukturiert vorliegende Daten sind prozessierbar, ohne dass eine vorherige Aggregation des Datenbestands zu erfolgen hat. Mögliche Anwendungsbereiche der In-Memory-Datenbank im Big-Data-Umfeld sind der Finanz- und Versicherungsbereich, die produzierende Industrie oder die Medizin. Datenbanken, die die In-Memory-Technik beherrschen, sind beispielsweise SAP HANA, Apache Derby, eXtremeDB, Raima und viele weitere.

(ID:44963634)

Über den Autor