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.