Redis-kompatible In-Memory-Datenbanken (Key-Value-Store)
Auf dieser Seite findest du Informationen zu Redis-kompatiblen In-Memory-Datenbanken als Managed Service, die Daten als Schlüssel und Werte (Key-Value-Store) in nicht-relationaler Form speichern.
Aufgrund von Lizenzänderungen und der damit verbundenen Unsicherheit über die zukünftige Entwicklung von Redis haben wir uns entschieden, zeitnah eine Redis-kompatible Alternative anzubieten.
Einen Key-Value-Store als Managed Service auf einem Managed Server von Nine betreiben zu lassen bietet sich an, wenn deine Applikationen bereits auf Managed Servern betrieben werden. Selbstverständlich ist die Nutzung auch für Applikationen auf Nine Kubernetes Engine, Kubernetes vcluster und Deploio möglich.
Key-Value-Stores können zudem als On-Demand Datenbank vollständig automatisiert über das Cockpit bezogen werden, Konfigurationsmöglichkeiten und Limitierungen sind in der verlinkten Produktübersicht beschrieben.
IP/Port
Die Instanz ist auf Port 6379 erreichbar und standardmässig an die Adresse 127.0.0.1 gebunden und kann daher von keinem externen System aufgerufen werden.
Persistenz
Um sicherzustellen, dass bereits geschriebene Keys nicht verloren gehen, wenn der Service oder der Managed Server neu gestartet wird, werden diese regelmässig auf die Festplatte geschrieben.
Verwaltung des Speichers
Was passiert, wenn kein Speicher mehr alloziert werden kann?
Nine limitiert die Menge des Arbeitsspeichers für eine Instanz eines Key-Value-Stores standardmässig auf ein Viertel des auf dem Managed Server verfügbaren Arbeitsspeichers.
Vordefinierte Strategien legen fest, was geschehen soll, wenn der verfügbare Speicher erschöpft ist.
Die Strategien werden durch die maxmemory_policy definiert.
Standardmässig ist die Policy allkeys-lru konfiguriert, welche sich folgendermassen verhält:
allkeys-lru: Behält die zuletzt verwendeten Keys, entfernt die am längsten nicht verwendeten Keys
Dadurch wird sichergestellt, dass bei Schreibzugriffen keine Daten aufgrund von fehlendem Speicher verloren gehen. Um den benötigten Platz zu schaffen, werden dabei automatisch Keys gelöscht, auf die am längsten nicht mehr zugegriffen wurde. Diese Art von Balance soll in einer Vielzahl von Szenarien die bestmögliche Verfügbarkeit der Applikation gewährleisten.
Wenn du die Zugriffsmuster deiner Applikation bereits genau kennst, auf Langlebigkeit der Keys angewiesen bist oder beispielsweise mit TTLs arbeitest und volatile-lru verwenden möchtest, kontaktiere gerne unseren Support, um die Konfiguration auf deine Anforderungen hin anzupassen.
Eine Übersicht aller Policies ist der Redis Dokumentation zu entnehmen.