Daten-Tiering ElastiCache - Amazon ElastiCache

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Daten-Tiering ElastiCache

ElastiCache Bei Valkey- oder OSS Redis-Clustern, die eine Replikationsgruppe bilden und einen Knotentyp aus der R6GD-Familie verwenden, werden die Daten zwischen Arbeitsspeicher und lokalem Speicher SSD (Solid-State-Laufwerke) aufgeteilt. Data Tiering bietet eine neue Preis-Leistungs-Option für Valkey- oder OSS Redis-Workloads, da neben der Speicherung von Daten im Arbeitsspeicher auch kostengünstigere Solid-State-Laufwerke (SSDs) in jedem Clusterknoten verwendet werden. Es ist ideal für Workloads, die regelmäßig auf bis zu 20 Prozent ihres gesamten Datensatzes zugreifen, sowie für Anwendungen, die zusätzliche Latenz beim Datenzugriff tolerieren können. SSD

ElastiCache Überwacht auf ElastiCache Clustern mit Daten-Tiering die letzte Zugriffszeit jedes gespeicherten Elements. Wenn der verfügbare Speicher (DRAM) vollständig verbraucht ist, verwendet er einen Algorithmus, der zuletzt ElastiCache verwendet wurde (LRU), um Objekte, auf die selten zugegriffen wird, automatisch aus dem Speicher in den Speicher zu verschieben. SSD Wenn anschließend auf Daten zugegriffen SSD wird, werden sie ElastiCache automatisch und asynchron zurück in den Arbeitsspeicher verschoben, bevor die Anforderung verarbeitet wird. Wenn Sie eine Workload haben, die regelmäßig nur auf eine Teilmenge ihrer Daten zugreift, ist Daten-Tiering eine optimale Möglichkeit, Ihre Kapazität kostengünstig zu skalieren.

Beachten Sie, dass bei der Verwendung von Data Tiering die Schlüssel selbst immer im Speicher verbleiben, während der Wert die Platzierung der Werte LRU im Speicher und nicht auf der Festplatte bestimmt. Im Allgemeinen empfehlen wir, dass Ihre Schlüsselgrößen kleiner als Ihre Wertgrößen sind, wenn Sie Daten-Tiering verwenden.

Das Daten-Tiering ist so konzipiert, dass es minimale Auswirkungen auf die Leistung von Anwendungs-Workloads hat. Wenn Sie beispielsweise von 500-Byte-Zeichenkettenwerten ausgehen, können Sie bei Anfragen an Daten, die auf gespeichert sind, im Durchschnitt mit einer zusätzlichen Latenz von 300 Mikrosekunden SSD im Vergleich zu Anforderungen an Daten im Speicher rechnen.

Mit der größten Daten-Tiering-Knotengröße (cache.r6gd.16xlarge) können Sie bis zu 1 Petabyte Daten in einem einzigen Cluster mit 500 Knoten speichern (500 TB bei Verwendung von 1 Lesereplikat). Data Tiering ist mit allen Valkey- oder OSS Redis-Befehlen und Datenstrukturen kompatibel, die in unterstützt werden. ElastiCache Um diese Funktion nutzen zu können, sind keine clientseitigen Änderungen erforderlich.

Bewährte Methoden

Wir empfehlen Ihnen, die folgenden bewährten Methoden:

  • Data Tiering ist ideal für Workloads, die regelmäßig auf bis zu 20 Prozent ihres gesamten Datensatzes zugreifen, sowie für Anwendungen, die zusätzliche Latenz beim Datenzugriff tolerieren können. SSD

  • Wenn Sie die SSD Kapazität verwenden, die auf Knoten mit Datenschicht verfügbar ist, empfehlen wir, dass die Wertgröße größer als die Schlüsselgröße ist. Wenn Elemente zwischen DRAM und verschoben werdenSSD, bleiben die Schlüssel immer im Speicher und nur die Werte werden in die SSD Ebene verschoben.

Einschränkungen

Für Daten-Tiering gelten die folgenden Beschränkungen:

  • Sie können Daten-Tiering nur für Cluster verwenden, die Teil einer Replikationsgruppe sind.

  • Der verwendete Knotentyp muss aus der r6gd-Familie stammen, die in den folgenden Regionen verfügbar ist: us-east-2, us-east-1, us-west-2, us-west-1, eu-west-1, eu-central-1, eu-north-1, eu-west-3, ap-northeast-1, ap-southeast-1, ap-southeast-2, ap-south-1, ca-central-1 und sa-east-1.

  • Sie müssen eine Engine verwenden, die Valkey 7.2 oder höher oder Redis OSS 6.2 oder höher ist.

  • Sie können ein Backup eines R6gd-Clusters nur dann in einem anderen Cluster wiederherstellen, wenn dieses ebenfalls R6gd verwendet.

  • Backups für Cluster mit Daten-Tiering können nicht nach Amazon S3 exportiert werden.

  • Die Online-Migration wird für Cluster mit R6gd-Knotentyp nicht unterstützt.

  • Die Skalierung von einem Cluster mit Daten-Tiering (z. B. ein Cluster, der einen R6gd-Knotentyp verwendet) zu einem Cluster ohne Daten-Tiering (z. B. ein Cluster, der einen R6g-Knotentyp verwendet) wird nicht unterstützt. Weitere Informationen finden Sie unter Skalierung ElastiCache.

  • Auto Scaling wird auf Clustern unterstützt, die Data Tiering für Valkey Version 7.2 und höher sowie Redis OSS Version 7.0.7 und höher verwenden. Weitere Informationen finden Sie unter Auto Scaling Valkey- und Redis-Cluster OSS

  • Daten-Tiering unterstützt nur die maxmemory-Richtlinien volatile-lru, allkeys-lru, volatile-lfu, allkeys-lfu und noeviction.

  • Forkless Save wird für Valkey Version 7.2 und höher sowie Redis Version 7.0.7 und höher unterstützt. OSS Weitere Informationen finden Sie unter So werden Synchronisation und Backup implementiert.

  • Elemente, die größer als 128 MiB sind, werden nicht verschobenSSD.

Preisgestaltung

R6gd-Knoten verfügen über eine 4,8-mal höhere Gesamtkapazität (Arbeitsspeicher +SSD) und können Ihnen helfen, bei maximaler Auslastung im Vergleich zu R6g-Knoten (nur Arbeitsspeicher) Einsparungen von über 60 Prozent zu erzielen. Weitere Informationen finden Sie unter Preise. ElastiCache

Überwachen

ElastiCache bietet Metriken, die speziell für die Überwachung von Performance-Clustern entwickelt wurden, die Data Tiering verwenden. Um das Verhältnis der Elemente im DRAM Vergleich zu zu zu zu zu zu zu überwachenSSD, können Sie die CurrItems Metrik unter Metrics for Valkey und Redis verwenden. OSS Sie können den Prozentsatz wie folgt berechnen: (CurrItems mit Dimension: Tier = Speicher * 100)/(CurrItems ohne Dimensionsfilter).

Wenn die konfigurierte Löschrichtlinie dies zulässt, ElastiCache wird mit dem Löschen von Elementen begonnen, wenn der Prozentsatz der Elemente im Speicher unter 5 Prozent sinkt. Auf Knoten, für die die Noeviction-Richtlinie konfiguriert wurde, wird bei Schreibvorgängen der Fehler „Nicht genügend Arbeitsspeicher“ angezeigt.

Es wird dennoch empfohlen, die Skalierung für Cluster mit aktiviertem Clustermodus oder die Hochskalierung für Cluster mit deaktiviertem Clustermodus in Betracht zu ziehen, wenn der Prozentsatz der Elemente im Arbeitsspeicher unter 5 Prozent sinkt. Weitere Informationen zur Skalierung finden Sie unterSkalierung von Clustern in Valkey oder Redis OSS (Clustermodus aktiviert). Weitere Informationen zu Metriken für Valkey- oder OSS Redis-Cluster, die Data Tiering verwenden, finden Sie unter. Metriken für Valkey und Redis OSS

Verwenden von Daten-Tiering

Wenn Sie einen Cluster als Teil einer Replikationsgruppe erstellen, verwenden Sie Daten-Tiering, indem Sie einen Knotentyp aus der R6gd-Familie auswählen, z. B. cache.r6gd.xlarge. Bei Auswahl dieses Knotentyps wird das Daten-Tiering automatisch aktiviert.

Weitere Informationen zum Erstellen von Clustern finden Sie unter Einen Cluster für Valkey oder Redis erstellen OSS.

Beim Erstellen einer Replikationsgruppe mithilfe von verwenden Sie Data Tiering AWS CLI, indem Sie einen Knotentyp aus der r6gd-Familie auswählen, z. B. cache.r6gd.xlarge, und den Parameter festlegen. --data-tiering-enabled

Sie können sich das Daten-Tiering nicht abwählen, wenn Sie einen Knotentyp aus der R6gd-Familie auswählen. Wenn Sie den Parameter --no-data-tiering-enabled festlegen, schlägt die Operation fehl.

Für Linux, macOS oder Unix:

aws elasticache create-replication-group \ --replication-group-id redis-dt-cluster \ --replication-group-description "Redis OSS cluster with data tiering" \ --num-node-groups 1 \ --replicas-per-node-group 1 \ --cache-node-type cache.r6gd.xlarge \ --engine redis \ --cache-subnet-group-name default \ --automatic-failover-enabled \ --data-tiering-enabled

Für Windows:

aws elasticache create-replication-group ^ --replication-group-id redis-dt-cluster ^ --replication-group-description "Redis OSS cluster with data tiering" ^ --num-node-groups 1 ^ --replicas-per-node-group 1 ^ --cache-node-type cache.r6gd.xlarge ^ --engine redis ^ --cache-subnet-group-name default ^ --automatic-failover-enabled ^ --data-tiering-enabled

Nach dem Ausführen dieses Vorgangs sehen Sie eine Antwort ähnlich dem folgenden:

{ "ReplicationGroup": { "ReplicationGroupId": "redis-dt-cluster", "Description": "Redis OSS cluster with data tiering", "Status": "creating", "PendingModifiedValues": {}, "MemberClusters": [ "redis-dt-cluster" ], "AutomaticFailover": "enabled", "DataTiering": "enabled", "SnapshotRetentionLimit": 0, "SnapshotWindow": "06:00-07:00", "ClusterEnabled": false, "CacheNodeType": "cache.r6gd.xlarge", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

Wiederherstellen von Daten aus einem Backup in Cluster mit aktiviertem Daten-Tiering

Sie können ein Backup auf einem neuen Cluster mit aktiviertem Data Tiering mithilfe von (Console), () oder () wiederherstellen.AWS CLI ElastiCache API Wenn Sie einen Cluster mit Knotentypen in der R6gd-Familie erstellen, ist Daten-Tiering aktiviert.

So stellen Sie ein Backup in einem neuen Cluster mit aktiviertem Daten-Tiering wieder her (Konsole)
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die ElastiCache Konsole unter https://console.aws.amazon.com/elasticache/.

  2. Wählen Sie im Navigationsbereich Backups aus.

  3. Aktivieren Sie in der Liste der Sicherungen das Kontrollkästchen links neben dem Namen der Sicherung, aus der Sie wiederherstellen möchten.

  4. Wählen Sie Restore (Wiederherstellen) aus.

  5. Füllen Sie das Dialogfeld Restore Cluster aus. Füllen Sie unbedingt alle Pflichtfelder aus sowie alle anderen, deren Standardeinstellungen Sie ändern möchten.

    1. Cluster-ID – Erforderlich. Der Name des neuen Clusters.

    2. Clustermodus aktiviert (Scale Out) — Wählen Sie diese Option für einen Valkey- oder Redis-Cluster OSS (Cluster-Modus aktiviert).

    3. Node Type (Knotentyp) – Geben Sie cache.r6gd.xlarge oder einen anderen Knotentyp aus der R6gd-Familie an.

    4. Anzahl der Shards — Wählen Sie die Anzahl der Shards aus, die Sie im neuen Cluster haben möchten (API/CLI: Knotengruppen).

    5. Replicas pro Shard – Wählen Sie die Anzahl der Lesereplikat-Knoten aus, die sich in jedem Shard befinden sollen.

    6. Slots und Keyspaces – Wählen Sie aus, wie die Schlüssel auf die Shards verteilt werden sollen. Wenn Sie die Schlüsselverteilungen angeben möchten, füllen Sie die Tabelle mit den Schlüsselbereichen für jeden Shard aus.

    7. Availability zone(s) – Geben Sie an, wie die Availability Zones des Clusters ausgewählt werden sollen.

    8. Port – Ändern Sie diese Einstellung nur, wenn der neue Cluster einen anderen Port verwenden soll.

    9. Wählen Sie einen VPC — Wählen Sie den aus, VPC in dem dieser Cluster erstellt werden soll.

    10. Parametergruppe — Wählen Sie eine Parametergruppe, die ausreichend Speicher für den Valkey- oder OSS Redis-Overhead für den ausgewählten Knotentyp reserviert.

  6. Wenn Sie die gewünschten Einstellungen vorgenommen haben, wählen Sie Erstellen.

Weitere Informationen zum Erstellen von Clustern finden Sie unter Einen Cluster für Valkey oder Redis erstellen OSS.

Beim Erstellen einer Replikationsgruppe mithilfe von wird Data Tiering standardmäßig verwendet AWS CLI, indem ein Knotentyp aus der r6gd-Familie ausgewählt wird, z. B. cache.r6gd.xlarge, und der Parameter festgelegt wird. --data-tiering-enabled

Sie können sich das Daten-Tiering nicht abwählen, wenn Sie einen Knotentyp aus der R6gd-Familie auswählen. Wenn Sie den Parameter --no-data-tiering-enabled festlegen, schlägt die Operation fehl.

Für Linux, macOS oder Unix:

aws elasticache create-replication-group \ --replication-group-id redis-dt-cluster \ --replication-group-description "Redis OSS cluster with data tiering" \ --num-node-groups 1 \ --replicas-per-node-group 1 \ --cache-node-type cache.r6gd.xlarge \ --engine redis \ --cache-subnet-group-name default \ --automatic-failover-enabled \ --data-tiering-enabled \ --snapshot-name my-snapshot

Für Linux, macOS oder Unix:

aws elasticache create-replication-group ^ --replication-group-id redis-dt-cluster ^ --replication-group-description "Redis OSS cluster with data tiering" ^ --num-node-groups 1 ^ --replicas-per-node-group 1 ^ --cache-node-type cache.r6gd.xlarge ^ --engine redis ^ --cache-subnet-group-name default ^ --automatic-failover-enabled ^ --data-tiering-enabled ^ --snapshot-name my-snapshot

Nach dem Ausführen dieses Vorgangs sehen Sie eine Antwort ähnlich dem folgenden:

{ "ReplicationGroup": { "ReplicationGroupId": "redis-dt-cluster", "Description": "Redis OSS cluster with data tiering", "Status": "creating", "PendingModifiedValues": {}, "MemberClusters": [ "redis-dt-cluster" ], "AutomaticFailover": "enabled", "DataTiering": "enabled", "SnapshotRetentionLimit": 0, "SnapshotWindow": "06:00-07:00", "ClusterEnabled": false, "CacheNodeType": "cache.r6gd.xlarge", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }