InMemoryDatenbanken
InMemoryDatenbanken sind Datenbanksysteme, die primär Daten im Arbeitsspeicher speichern, um sehr geringe Latenzen und hohe Durchsatzraten zu erreichen. Im Unterschied zu herkömmlichen Festplatten- oder SSD-basierten Systemen nutzen sie RAM als Hauptspeicher für Nutzdaten und Indizes. Viele Systeme bieten zusätzlich Mechanismen zur Dauerhaftigkeit, sodass der Verlust von Daten trotz RAM-Nutzung vermieden werden kann.
Merkmale: Schnelle Abfragen, niedrige Latenz und speicheroptimierte Datenstrukturen gehören zu den zentralen Eigenschaften. Viele InMemoryDatenbanken unterstützen
Dauerhaftigkeit: Da RAM flüchtig ist, besteht bei Systemausfällen ein Risiko des Datenverlusts. Daher nutzen InMemoryDatenbanken Protokollierung
Architektur: Es gibt reine In-Memory-Architekturen oder Hybridmodelle, die RAM mit Fest- oder NVMe-Speicher koppeln. Verteilte Ansätze
Anwendungsfälle: Typische Einsatzbereiche sind Echtzeitanalytik, Sitzungsverwaltung, Caching, Hochgeschwindigkeitstransaktionen, Gaming, Finanzhandel und das Internet der Dinge (IoT).
Herausforderungen: Wichtige Aspekte sind hohe Speicherkosten, passende Datenmodelle, Sicherstellung der Ausfallsicherheit, Migrationen zwischen Speicherformaten sowie Observability.
Beispiele: Redis, SAP HANA, VoltDB, MemSQL/SingleStore, Oracle TimesTen, Apache Ignite.