Persistenter Speicher für Datenbanken

Gekommen um zu bleiben

Arbeitsspeicher-zentrierte Datenarchitekturen ermöglichen aufgrund ihres Designs eine wesentlich schnellere Echtzeit- Transaktionsverarbeitung, da sie nahe an der CPU sitzen. Der folgende Beitrag skizziert mögliche Einsatzbereiche, aber auch neue Herausforderungen bei der Verwendung von persistentem Storage Class Memory – insbesondere im Zusammenhang mit Applikationen im Umfeld von In-Memory-Datenbanken.
Cloud-First-Strategien sind inzwischen die Regel und nicht mehr die Ausnahme und Workloads verlagern sich damit in die Cloud – auch Datenbanken. Dort geht es ... (mehr)

Prominente Beispiele von Enterprise- In-Memory-Anwendungen wie SAP HANA oder Oracle TimesTen gewinnen mit dem Aufkommen neuer Speicheroptionen wie NVDIMMs (Non- Volatile DIMMs) und Storage Class Memory (SCM) an Attraktivität, denn DRAM-Speicher im Server, Server-Cluster oder Grid lässt sich bislang nur beschränkt hochskalieren und ist teuer. Mit SCM lassen sich diese Einschränkungen teilweise kompensieren. Allerdings treten damit auch neue Herausforderungen auf. Diese betreffen das Design von Datenbanksystemen hinsichtlich Datenintegrität, Datenkonsistenz und Verfügbarkeit.

Das kennzeichnet In-Memory-Datenbanken

Im Gegensatz zu traditionellen Datenbanksystemen, die dafür ausgelegt sind, Daten auf persistenten Medien wie Festplatten (HDD) oder NAND-Flash (SSD) zu verarbeiten und zu verwalten, halten In-Memory-Datenbanksysteme alle Daten komplett im Arbeitsspeicher. Somit können bei einem Systemabsturz Daten verloren gehen. Die Anforderung an eine dauerhafte Speicherung (Persistenz) von erfolgreich abgeschlossenen Transaktionen ist damit nicht erfüllt. Um diesen Nachteil auszugleichen, haben sich Verfahren wie Snapshots, Replikation, Transaktionssicherung über Log-Files sowie NV-RAM-Caches etabliert.

Bei hybriden Systemen laufen Datenbankoperationen entweder "In-Memory All- Persistent" ab oder als Mischung aus In- Memory-Tabellen und persistenten Tabellen. Diese Flexibilität ermöglicht es Entwicklern, die Datenverwaltung an mögliche Kompromisse in Bezug auf Kosten und die existierende Speicherhardware anzupassen. Doch wie kann die In- Memory-Speicherung von Daten auf RAM überhaupt dauerhaft sein? Ganz einfach: Es werden sämtliche Daten im Speicher gehalten, aber zusätzlich wird jede Operation auf einem weiteren Speicherelement per Transaktionsprotokoll persistent gemacht. Im Gegensatz zu anderen In-Memory-Datenbanken legt zum Beispiel SAP HANA die Daten nicht nur

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2021