In-Memory-Datenbank (deutsch: arbeitsspeicherbasierte Datenbank) hält ihren kompletten Datenbestand im Arbeitsspeicher (RAM) statt auf der Festplatte. Da RAM-Zugriffe um Größenordnungen schneller sind als Plattenzugriffe, erreichen solche Systeme Latenzen im Sub-Millisekunden-Bereich — typischerweise das Hundertfache und mehr im Vergleich zu klassischen Datenbanken.

Sub-Millisekunden-Zugriff

Der Geschwindigkeitsvorteil entsteht, weil keine Seek-Zeiten und keine langsamen Schreibvorgänge auf rotierende oder auch Flash-basierte Speicher warten müssen. Dadurch eignen sich In-Memory-Datenbanken ideal für Caching, Session-Speicher, Ratenbegrenzung, Echtzeit-Analysen und Warteschlangen. Verbreitete Vertreter sind Redis, Memcached, Valkey und für analytische Workloads SAP HANA.

Persistenz und Ausfallsicherheit

Ein Nachteil der reinen RAM-Haltung ist die Flüchtigkeit: Nach einem Neustart oder Stromausfall wären alle Daten verloren. Daher bieten Systeme wie Redis optionale Persistenzmechanismen an: Snapshots (punktuelle Abbilder) und Append-Only-Logs, die jede Schreiboperation nachträglich auf der Platte nachführen. In der Praxis kombiniert man In-Memory-Datenbanken häufig mit einer dauerhaften Datenbank als Quelle der Wahrheit.

Verbreitete Systeme

  • Redis: vielseitiger In-Memory-Store mit reichhaltigen Datentypen (Listen, Hashes, Sets).
  • Memcached: einfacher, extrem schneller Cache-Store für Schlüssel-Wert-Paare.
  • Valkey: quelloffene Redis-Fork-Variante, gepflegt von der Linux Foundation.
  • SAP HANA: In-Memory-Datenbank für transaktionale und analytische Unternehmensdaten.

Verwandte Grundlagen: NoSQL-Datenbank, Key-Value-Store, Wide-Column-Store, Time-Series-Datenbank, Cluster-Datenbank, Datenbank-Replikation.