Definition

Was ist eine In-Memory-Datenbank?

| Autor / Redakteur: Stefan Luber / Nico Litzel

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

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

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.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Tibco übernimmt SnappyData

In-Memory-Plattform akquiriert

Tibco übernimmt SnappyData

Mit der Übernahme des In-Memory-Spezialisten SnappyData baut Analytics-Experte Tibco seine Connected Intelligence Platform weiter aus. Sie wird um eine Unified-Analytics-Datenarchitektur ergänzt. lesen

GridGain launcht Community Edition von Apache Ignite

In-Memory-Computing

GridGain launcht Community Edition von Apache Ignite

GridGain Systems, Anbieter von In-Memory-Computing-Lösungen auf Basis von Apache Ignite, hat die GridGain Community Edition (GCE) veröffentlicht. lesen

Data Cleansing – so sichern Unternehmen den Wert von Daten

Kommentar von Frank Schuler, BackOffice Associates

Data Cleansing – so sichern Unternehmen den Wert von Daten

Daten sind erst dann wirklich wertvoll, wenn sie sauber, akkurat und vollständig sind. Doch das Data Cleansing kann wie eine Mammutaufgabe erscheinen. lesen

Datenaufbereitung ist ein unterschätzter Prozess

Data Preparation

Datenaufbereitung ist ein unterschätzter Prozess

Der Prozess der Datenaufbereitung umfasst die Reinigung, Formung und Mischung von Daten, damit sie für analytische und andere Aufgaben in optimaler Qualität bereitstehen. Nur mit erstklassigen Daten lassen sich beispielsweise Lösungen für Machine Learning und Künstliche Intelligenz effizient, sicher und zuverlässig versorgen. lesen

GridGain startet Basic Support für Apache Ignite

Schnelles Feedback

GridGain startet Basic Support für Apache Ignite

Mit einem neuen Support-Service will In-Memory-Computing-Spezialist GridGain den Zugang zu schnellem Feedback von Apache-Ignite-Experten ermöglichen. lesen

Vom Umgang mit großen Datenmassen

Buchrezension Big Data

Vom Umgang mit großen Datenmassen

Die durch die Digitalisierung und das Internet of Things entstehenden Datenmassen können mit konventionellen Mitteln relationaler Datenbanken nicht mehr bewältigt werden. Dazu braucht es andere Mittel und Methoden. Das Buch „Big Data“ beschreibt sie. lesen

GridGain baut In-Memory-Computing-Plattform weiter aus

Datenpersistenz und mehr

GridGain baut In-Memory-Computing-Plattform weiter aus

Automatische Datenpersistenz, Hochverfügbarkeit und die Möglichkeit direkter Neustarts ergänzen ab sofort die GridGain Cloud. Zudem lässt sich mit wenigen Klicks eine Apache-Ignite-Testumgebung erstellen. lesen

Datenbasis für das IoT-Zeitalter

Crate.io

Datenbasis für das IoT-Zeitalter

IT-Spezialisten haben über Jahrzehnte SQL-Know-how aufgebaut, doch das IoT-Zeitalter erfordert die massenweise Verarbeitung von Echtzeit-Datenstreams, die von Sensoren erzeugt werden. Crate.io vereinigt beide Welten. lesen

Data Analytics und BI mit Cloud-Ressourcen

Business Intelligence und die Cloud

Data Analytics und BI mit Cloud-Ressourcen

Auf dem Weg zum datenbasierten Unternehmen wachsen die zu analysierenden Datenmengen kontinuierlich. Data Analytics und Business Intelligence (BI) werden zur geschäftskritischen Grundlage der Unternehmenssteuerung. Was bedeutet das für die IT-Infrastruktur? Sind solche ressourcen-intensiven High-End Anwendungen mit der Cloud-Strategie von Unternehmen überhaupt vereinbar? lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44963634 / Definitionen)