In-Memory-Datenbank: Art von Datenbankmanagementsystem

Eine In-Memory-Datenbank (IMDB) ist ein Datenbankmanagementsystem, das den Arbeitsspeicher eines Computers als Datenspeicher nutzt.

Damit unterscheidet es sich von herkömmlichen Datenbankmanagementsystemen, die dazu Festplattenlaufwerke verwenden.

Der Arbeitsspeicher eines Rechners bietet wesentlich höhere Zugriffsgeschwindigkeiten als Festplattenlaufwerke und die Algorithmen für den Zugriff sind einfacher. Deshalb sind In-Memory-Datenbanken wesentlich schneller und ihre Zugriffszeiten sind besser vorhersagbar als die von auf Festplatten zugreifenden Datenbankmanagementsystemen. Jedoch ist Arbeitsspeicher sehr viel teurer als Festplattenspeicher, der einzelne Rechner hat deshalb üblicherweise sehr viel weniger davon. Wenn eine Datenbank hohe Speicherkapazität braucht, kann jedoch durch Grid-Computing diese Schranke für In-Memory-Datenbanken überwunden werden.

Nicht-Persistenz

Da In-Memory-Datenbanken ihre Daten in flüchtigem Arbeitsspeicher speichern, der sie bei Systemabstürzen verliert, erfüllen sie nicht ohne Weiteres die Anforderung der dauerhaften Speicherung (Persistenz) erfolgreich abgeschlossener Transaktionen.

Viele In-Memory-Datenbanken helfen dem ab und erreichen weniger oder mehr Persistenz bei der Datenspeicherung mit folgenden Methoden:

  • Schnappschuss-Dateien speichern den Zustand der Datenbank zu bestimmten Zeitpunkten, beispielsweise in geplanten Abständen oder beim kontrollierten Abschalten der Datenbank. Alle Veränderungen seit dem jüngsten Schnappschuss können bei diesem Verfahren allerdings nach wie vor verloren gehen.
  • In zusätzlichen Protokolldateien werden kürzlich erfolgte Änderungen an der Datenbank ebenfalls niedergelegt. Aus dem jüngsten Schnappschuss und dem Protokoll der inzwischen getätigten Änderungen kann der letzte gültige Zustand der Datenbank automatisch wiederhergestellt werden.
  • Benutzung von nichtflüchtigem RAM-Speicher, üblicherweise realisiert als Kombination eines herkömmlichen flüchtigen RAM-Speichers mit einem Energiespeicher, garantiert den Erhalt der Daten auch bei Neustart des Systems.
  • Hochverfügbare In-Memory-Datenbanken stellen die Dauerhaftigkeit durch Replikation und bei Ausfall Wechsel (Failover) auf eine herkömmliche Datenbank sicher.

Einige In-Memory-Datenbanken können nach Wunsch Teile des Datenbestandes in mehr oder weniger starkem Maße persistent machen. Man kann sich damit den Aufwand für die Sicherung von Daten ersparen, die leicht wiederzuerzeugen oder die nach einem Systemabsturz ohnehin nutzlos sind.

Hybride In-Memory-Datenbanken

Hybride In-Memory-Datenbanken sind Datenbanksysteme, welche Daten sowohl im Hauptspeicher, als auch auf Festplatten speichern können. Diese ermöglichen es, im Betrieb die geeignete Balance zwischen Leistung, Kosten, Dauerhaftigkeit und Formfaktor zu erreichen.

Produkte

Es gibt eine Reihe von kommerziellen und Open-Source-Implementierungen von In-Memory-Datenbanken. Dazu gehören unter anderem (alphabetisch geordnet):

  • Apache Derby – kann als reine In-Memory-Datenbank konfiguriert werden
  • Berkeley DB – kann als reine In-Memory-Datenbank konfiguriert werden
  • H2 Database – Java-Datenbank, neues Projekt vom HSQLDB Initiator, kann als reine In-Memory-Datenbank konfiguriert werden
  • HSQLDB – kann als reine In-Memory-Datenbank konfiguriert werden
  • IBM Informix – Warehouse Accelerator
  • IBM Cognos TM1 – eine OLAP-Datenbank, eines der ersten Produkte in diesem Bereich, seit 1984 auf dem Markt
  • InfoZoom
  • Microsoft SQL Server (Hekaton)
  • MySQL – kommt mit einem Cluster-Server für eine verteilte In-Memory-Datenbank
  • Oracle TimesTen
  • Oracle In-Memory-Option der Oracle Enterprise Edition
  • Raima – In-Memory-Datenbank mit Optionen für High Availability und SQL.
  • Redis – ein Schlüssel-Werte-Datenbanksystem
  • SAP HANA – Hauptspeicherdatenbank der HANA-Plattform
  • SQLite – kann Hauptspeicher und Festplatten gemeinsam nutzen

Kritik

Der Begriff „In-Memory-Datenbank“ ist wenig trennscharf. Auch herkömmliche Datenbanken nutzen in der Regel den Arbeitsspeicher, um langsame I/O-Zugriffe wie auf eine Festplatte zu vermeiden. Dabei kann je nach Konfiguration des Systems auch die gesamte Datenbank im Arbeitsspeicher gehalten werden. Weiterhin ist für die Geschwindigkeit eines Datenbanksystems in der Regel die Daten- oder Indexstruktur wichtiger als die Zugriffsgeschwindigkeit des Speichermediums. Erst die Optimierung dieser Datenstrukturen auf den Arbeitsspeicher ohne Strukturen für den I/O-Zugriff stellt einen Unterschied zu herkömmlichen Datenbank dar.

Hohe Geschwindigkeiten bei „In-Memory-Datenbanken“ kommen zum Teil auch dadurch zu Stande, dass man die Fähigkeiten zur Persistenz und Konsistenz einschränkt. Das ist bei vorwiegend für Lesezugriffe gedachten Datenbanken vollkommen legitim, für andere Anwendungsfälle allerdings problematisch. Um diese Probleme auszugleichen, werden einige Produkte wie zum Beispiel Redis und MySQL auch häufig kombiniert und „In-Memory-Datenbanken“ erfüllen dann den Zweck eines Cache.

Siehe auch

  • Grid-Computing – Möglichkeit der Verteilung von In-Memory-Datenbanken
  • NoSQL – Weitere Alternative zu Datenbankmanagementsystemen

Literatur

  • Jack Belzer: Very Large Data Base Systems to Zero-Memory and Markov Information Source. In: Albert G. Holzman (Hrsg.): Encyclopedia of Computer Science and Technology. Band 14. Marcel Dekker Inc, 1980, ISBN 978-0-8247-2214-2 (englisch).
  • Hasso Plattner, Alexander Zeier: In-Memory Data Management: An Inflection Point for Enterprise Applications. 1. Auflage. Springer, 2011, ISBN 978-3-642-19362-0 (englisch).

Einzelnachweise

Tags:

In-Memory-Datenbank Nicht-PersistenzIn-Memory-Datenbank Hybride enIn-Memory-Datenbank ProdukteIn-Memory-Datenbank KritikIn-Memory-Datenbank Siehe auchIn-Memory-Datenbank LiteraturIn-Memory-Datenbank WeblinksIn-Memory-Datenbank EinzelnachweiseIn-Memory-DatenbankArbeitsspeicherComputerDatenbankmanagementsystemDatenspeicherFestplattenlaufwerk

🔥 Trending searches on Wiki Deutsch:

Ulrike C. TscharreBosnien und HerzegowinaBob Ross (Maler)GoogleRocky (Filmreihe)PenisGame of ThronesMark AmborRonnie HellströmDer TränenmacherEurotunnelLana RhoadesRussischer Überfall auf die Ukraine seit 2022Königsberg (Preußen)ScharlachJakobswegListe der größten AuslegerbrückenTalia ShireBauhausVietnamkriegGustav KlimtIndonesienInterstellarSüdtirolHot BanditozMálagaZweiter WeltkriegBradley CooperAmselRecep Tayyip ErdoğanSozialdemokratische Partei DeutschlandsBundeskanzler (Deutschland)Thomas LoiblBurgess MeredithBrigitte NielsenKünstliche IntelligenzListe der Großstädte in DeutschlandMarcel HirscherIlich Ramírez SánchezBrad PittKandidatenturnier Toronto 2024RheinTitanic (Schiff)Bones – Die KnochenjägerinBürgerbewegung FinanzwendeKatrin Müller-HohensteinRamsan Achmatowitsch KadyrowThe Rookie (Fernsehserie)Renan DemirkanLitauenNilBMW G20HongkongGreta ThunbergMethylphenidatNorovirusKasachstanDeutsche NationalhymneAnnegret SchenkelListe von Abkürzungen in der SexarbeitHumane NorovirenVictoria (Vereinigtes Königreich)Tracker (Fernsehserie)KlitorisTerry CarterANZAC DayMontenegroHeiliges Römisches ReichTed BundyPeter HahneErich KästnerCharles III.Franziska van AlmsickKai HavertzZiegenmelkerMaria KöstlingerThe Box – Du bist das Experiment🡆 More