Redis-kompatible In-Memory-Datenbanken (Key-Value Store)
Auf dieser Seite finden Sie 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 ihre Applikationen bereits auf Managed Servern betrieben werden. Selbstverständlich ist die Nutzung auch für Applikationen auf Nine Kubernetes Engine, Kubernetes vcluster und deplo.io 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 Sie die Zugriffsmuster Ihrer Applikation bereits genau kennen, auf Langlebigkeit der Keys angewiesen sind oder beispielsweise mit TTLs arbeiten und volatile-lru
verwenden möchten, kontaktieren Sie gerne unseren Support, um die Konfiguration auf Ihre Anforderungen hin anzupassen.
Eine Übersicht aller Policies ist der Redis Dokumentation zu entnehmen.