Zum Hauptinhalt springen

Key-Value Store (Redis Compatible)

On-Demand Key-Value Store Instanzen können mit unserem Kommandozeilen-Tool nctl oder direkt über die Nine Self Service API verwaltet werden.

Die Abrechnung erfolgt automatisch auf Basis der genutzten Ressourcen. Die automatisierte Verwaltung von Nine garantiert den reibungslosen Betrieb des Dienstes.

On-Demand Key-Value Stores bieten begrenzte Konfigurationsmöglichkeiten. Wenn umfangreichere Einstellungen erforderlich sind, können Sie unsere Key-Value Stores als Managed Service nutzen.

Version

Derzeit wird die neueste Version 7 von Redis für den Betrieb von On-Demand Key-Value Stores verwendet. Aufgrund von Lizenzänderungen und der damit verbundenen Unsicherheit über die künftige Entwicklung von Redis haben wir beschlossen, in naher Zukunft eine Redis-kompatible Alternative als Ersatz zu verwenden.

Preise

nine-key-value-store-256mbnine-key-value-store-1gbnine-key-value-store-2gbx gb
RAM256 MB1 GB2 GBx GB
Speicherplatz512 MB2 GB4 GBx * 2 GB
Monatliche Kostenx *

Achtung, der Speicherplatz kann nicht verringert werden kann und basiert auf der konfigurierten Menge RAM.

Die Preise für On-Demand Key-Value Stores beginnen bei . Zusätzliche Kosten basieren auf den verwendeten Ressourcen.

Konfigurationsoptionen

Die On-Demand Services bieten eine Basiskonfiguration, die für die meisten Anforderungen geeignet ist, wobei einige Optionen angepasst werden können. Die Anpassung der Konfigurationsoptionen kann zu einem Neustart der Instanz führen.

Die folgenden Konfigurationsparameter können Sie verwenden, um die Datenbankinstanz an Ihre Bedürfnisse anzupassen.

Name

Der Name der Datenbankinstanz kann frei gewählt werden, muss aber einzigartig sein. Nach der Erstellung kann der Name nicht mehr geändert werden.

Standort

Je nach verfügbaren Ressourcen können Instanz an zwei Standorten innerhalb des Rechenzentrums „ColoZüri“ oder des Rechenzentrums „NTT“ in Rümlang erstellt werden. Der Standort kann später nicht mehr geändert werden.

Erlaubte IP-Adressen

Hier können Sie IPv4-Adressen und Adressbereiche definieren, von denen aus Sie Verbindungen zur Instanz aufbauen wollen. Der Zugriff von unseren Kubernetes-Produkten NKE und GKE sowie von deplo.io ist bereits aktiviert.

Die Zugriffsbeschränkung kann jederzeit angepasst werden. Die Anpassungen erfolgen unterbrechungsfrei kurz nach dem Absenden des Formulars.

RAM (Memory Size)

Die Grösse des Speichers (RAM), welcher für den Key Value Stores konfiguriert wird.

Der benötigte Speicherplatz steigt linear mit diesem Wert. Bitte beachten Sie, dass eine Verkleinerung des Speichers nicht den Speicherplatz auf der Festplatte verringert.

Die Anpassung des Speichers führt zu einem Neustart der Instanz.

maxmemory Policy

Die Konfigurationsoption maxmemory_policy legt fest, was geschehen soll, wenn der verfügbare Speicher erschöpft ist. Standardmässig wird die Richtlinie allkeys-lru verwendet, die die zuletzt verwendeten Schlüssel behält und die am wenigsten verwendeten (LRU) Schlüssel entfernt. Die Anpassung der Max-Memory Policy führt zu einem Neustart der Instanz.

Eine Übersicht über alle Policies findet sich in der Redis-Dokumentation.

Verbindung herstellen

Die Verbindungsinformationen (FQDN und TOKEN) für eine Instanz können im Cockpit unter Zugangsinformationen wie auch in der Ausgabe von nctl gefunden werden. Verwenden Sie nctl get kvs, um den FQDN und den --print-token Parameter für den Token anzuzeigen. Die Instanzen sind über den Standard-Redis-Port 6379 erreichbar.

Die Instanz akzeptiert nur TLS-Verbindungen. Abhängig von Ihrem Client oder Ihrer Bibliothek müssen Sie eventuell TLS explizit aktivieren.

tip

Wie in Erlaubte IP-Adressen beschrieben, müssen Sie möglicherweise zusätzliche IPs für die Verbindung zu Ihrer Instanz zulassen.

REDISCLI_AUTH='TOKEN' redis-cli --tls --insecure -h FQDN

Benutzer

Bei der Erstellung der Instanz wird ein Benutzer "default" mit einem Passwort für die Verbindungsauthentifizierung angelegt. Da "default" der Standardbenutzer ist, ist bei der Verbindung nur das Kennwort erforderlich.

Sicherungen

Schlüssel und Werte werden über Instanzneustarts hinweg beibehalten, aber es werden keine wiederherstellbaren Datensicherungen erstellt.

Redis Input/Output Tools (RIOT)

Redis Input/Output Tools (RIOT) ist ein Kommandozeilenprogramm, um Daten in und aus einem Redis-kompatiblen Dokumentenspeicher zu holen.

Es kann zum Importieren und Exportieren von Dateien verwendet werden, aber auch zum Migrieren von einer zu einer anderen Instanz. Der einfachste Weg, RIOT auszuführen, ist über das bereitgestellte Docker Image riotx/riot.

Migrate Instance

RIOT kann verwendet werden, um alle Schlüssel von einer zu einer anderen Instanz zu migrieren. Verwenden Sie den folgenden Befehl, um alle Schlüssel der DB 0 von $SOURCE_HOST nach $TARGET_HOST zu migrieren.

tip

Wie in Erlaubte IP-Adressen beschrieben, müssen Sie möglicherweise zusätzliche IPs für die Verbindung zu Ihrer Instanz zulassen.

SOURCE_HOST=""
SOURCE_TOKEN=""
TARGET_HOST=""
TARGET_TOKEN=""
podman run --rm riotx/riot replicate \
--source-tls \
--source-insecure \
--target-tls \
--target-insecure \
--source-pass="$SOURCE_TOKEN" \
--target-pass="$TARGET_TOKEN" \
--threads 4 \
"redis://$SOURCE_HOST/0" \
"redis://$TARGET_HOST/0"