Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Hiérarchisation des données ElastiCache
ElastiCache pour les clusters Valkey ou Redis OSS qui comprennent un groupe de réplication et utilisent un type de nœud de la famille r6gd, leurs données sont hiérarchisées entre la mémoire et le stockage SSD (Solid State Drive) local. La hiérarchisation des données offre une nouvelle option de rapport prix/performances pour les charges de travail Valkey ou Redis OSS en utilisant des disques SSD (SSD) à moindre coût dans chaque nœud du cluster en plus de stocker les données en mémoire. Elle est parfaitement adaptée aux charges de travail qui accèdent régulièrement jusqu’à 20 % de leur jeu de données, et pour les applications qui peuvent tolérer une latence supplémentaire lors de l’accès aux données sur SSD.
Sur les ElastiCache clusters avec hiérarchisation des données, ElastiCache surveille l'heure du dernier accès à chaque élément qu'il stocke. Lorsque la mémoire disponible (DRAM) est entièrement consommée, ElastiCache utilise un algorithme de dernière utilisation (LRU) pour déplacer automatiquement les éléments rarement utilisés de la mémoire vers le SSD. Lorsque les données du SSD sont ultérieurement consultées, elles sont ElastiCache automatiquement et de manière asynchrone remises en mémoire avant de traiter la demande. Si votre charge de travail n’accède régulièrement qu’à un sous-ensemble de ses données, la hiérarchisation des données est un moyen optimal de mettre à l’échelle votre capacité de manière rentable.
Notez que lors de l'utilisation de la hiérarchisation des données, les clés elles-mêmes restent toujours en mémoire, tandis que le principe du moins récemment utilisé (LRU, Least Recently Used) régit le placement des valeurs en mémoire plutôt que sur le disque. En général, nous recommandons que la taille de vos clés soit inférieure à celle de vos valeurs lorsque vous utilisez la hiérarchisation des données.
La hiérarchisation des données est conçue pour avoir un impact minimal sur les performances des charges de travail des applications. Par exemple, en supposant des valeurs de chaîne de 500 octets, vous pouvez vous attendre à 300 microsecondes de latence supplémentaires en moyenne pour les demandes de données stockées sur le SSD par rapport aux demandes de données en mémoire.
Grâce à la plus grande taille de nœud de hiérarchisation des données (cache.r6gd.16xlarge), vous pouvez stocker jusqu’à 1 pétaoctet dans un seul cluster de 500 nœuds (500 To en utilisant 1 réplica en lecture). La hiérarchisation des données est compatible avec toutes les commandes et structures de données OSS Valkey ou Redis prises en charge dans. ElastiCache Vous n’avez besoin d’aucune modification côté client pour utiliser cette fonction.
Rubriques
Bonnes pratiques
Nous recommandons les bonnes pratiques suivantes :
La hiérarchisation des données est parfaitement adaptée aux charges de travail qui accèdent régulièrement jusqu'à 20 % de leur jeu de données, et pour les applications qui peuvent tolérer une latence supplémentaire lors de l'accès aux données sur SSD.
Lors de l'utilisation de la capacité SSD disponible sur les nœuds hiérarchisés en fonction des données, nous recommandons que la taille de la valeur soit supérieure à celle de la clé. Lorsque des éléments sont déplacés entre DRAM et SSD, les clés restent toujours en mémoire et seules les valeurs sont déplacées vers le niveau SSD.
Limitations
La hiérarchisation des données présente les limitations suivantes :
Vous ne pouvez utiliser la hiérarchisation des données que sur des clusters faisant partie d’un groupe de réplication.
Le type de nœud que vous utilisez doit appartenir à la famille r6gd.
Vous devez utiliser un moteur Valkey 7.2 ou version ultérieure, ou Redis OSS 6.2 ou version ultérieure.
Vous ne pouvez pas restaurer une sauvegarde d’un cluster r6gd dans un autre cluster sauf s’il utilise également r6gd.
Vous ne pouvez pas exporter une sauvegarde vers Amazon S3 pour les clusters de hiérarchisation des données.
La migration en ligne n'est pas prise en charge pour les clusters exécutés sur le type de nœud r6gd.
La mise à l'échelle entre les clusters avec la hiérarchisation des données activée et la hiérarchisation des données désactivée n'est pas prise en charge. Pour migrer les données d'un ElastiCache cluster dont la hiérarchisation des données est désactivée vers un cluster où la hiérarchisation des données est activée, vous pouvez restaurer une sauvegarde vers un nouveau cluster avec la hiérarchisation des données activée. Pour de plus amples informations, veuillez consulter Dimensionnement ElastiCache.
La mise à l'échelle automatique est prise en charge sur les clusters à l'aide de la hiérarchisation des données pour Valkey version 7.2 et versions ultérieures, et Redis OSS version 7.0.7 et versions ultérieures. Pour de plus amples informations, consultez Mise à l'échelle automatique des clusters Valkey et Redis OSS.
La hiérarchisation des données prend uniquement en charge les politiques maxmemory
volatile-lru,allkeys-lru,volatile-lfu,allkeys-lfuetnoeviction.La sauvegarde par Forkless est prise en charge pour Valkey version 7.2 et versions ultérieures, et Redis OSS version 7.0.7 et versions ultérieures.
Les éléments de plus de 128 MiB ne sont pas déplacés vers le SSD.
À partir de Valley 8.1 et versions ultérieures, un élément dont la taille clé + valeur est inférieure à 40 octets ne sera pas déplacé vers le SSD.
La hiérarchisation des données n'est pas prise en charge avec les clusters dont la durabilité est activée.
Tarification
Les nœuds R6gd ont une capacité totale 4,8 fois plus élevée (mémoire + SSD) et peuvent vous aider à réaliser des économies de plus de 60 % quand ils s’exécutent au maximum de leur capacité par rapport aux nœuds R6g (mémoire uniquement). Pour en savoir plus, consultez PricingElastiCache
Contrôle
ElastiCache propose des mesures conçues spécifiquement pour surveiller les clusters de performance qui utilisent la hiérarchisation des données. Pour contrôler le ratio d'éléments dans la DRAM par rapport au SSD, vous pouvez utiliser la CurrItems métrique de Metrics for Valkey et Redis OSS. Vous pouvez calculer le pourcentage comme suit : (CurrItems avec Dimension : Tier = Memory * 100)/(CurrItems sans filtre dimensionnel).
Si la politique d'expulsion configurée le permet, l'expulsion des éléments ElastiCache commencera lorsqu'il reste moins de 5 % de la mémoire disponible (DRAM). Sur les nœuds configurés avec une politique de non-éviction, les opérations d'écriture recevront une erreur de manque de mémoire.
Il est toujours recommandé d'envisager une mise à l'échelle pour les clusters activés en mode cluster ou une mise à l'échelle pour les clusters désactivés lorsqu'il reste moins de 5 % de mémoire disponible (DRAM). Pour plus d'informations sur la mise à l'échelle, voirDimensionnement des clusters Valkey ou Redis OSS (mode cluster activé). Pour plus d'informations sur les métriques des clusters Valkey ou Redis OSS qui utilisent la hiérarchisation des données, consultez. Métriques pour Valkey et Redis OSS
Utilisation de la hiérarchisation des données
Lorsque vous créez un cluster dans le cadre d’un groupe de réplication, vous utilisez la hiérarchisation des données en sélectionnant un type de nœud dans la famille r6gd, tel que cache.r6gd.xlarge. La sélection de ce type de nœud active automatiquement la hiérarchisation des données.
Pour plus d'informations sur la création des clusters , consultez Création d'un cluster pour Valkey ou Redis OSS.
Lorsque vous créez un groupe de réplication à l'aide de AWS CLI, vous utilisez la hiérarchisation des données en sélectionnant un type de nœud dans la famille r6gd, tel que cache.r6gd.xlarge et en définissant le paramètre. --data-tiering-enabled
Vous ne pouvez pas désactiver la hiérarchisation des données lorsque vous sélectionnez un type de nœud dans la famille r6gd. Si vous définissez le paramètre --no-data-tiering-enabled, l’opération échouera.
Pour Linux, macOS ou 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
Pour 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
Après avoir exécuté cette opération, une réponse similaire à ceci s’affiche :
{ "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 } }
Restauration des données de la sauvegarde dans des clusters avec la hiérarchisation des données activée
Vous pouvez restaurer une sauvegarde sur un nouveau cluster en activant la hiérarchisation des données à l'aide de (Console), (AWS CLI) ou (ElastiCache API). Lorsque vous créez un cluster à l’aide de types de nœuds de la famille r6gd, la hiérarchisation des données est activée.
Pour restaurer une sauvegarde dans un nouveau cluster avec la hiérarchisation des données activée (console)
-
Connectez-vous à Console de gestion AWS et ouvrez la ElastiCache console à l'adresse https://console.aws.amazon.com/elasticache/
. -
Dans le volet de navigation de gauche, choisissez Sauvegardes.
-
Dans la liste des sauvegardes, cochez la case située à gauche du nom de la sauvegarde à restaurer.
-
Choisissez Restore (Restaurer).
-
Renseignez la boîte de dialogue Restore Cluster. Veillez à remplir tous les champs obligatoires, ainsi que ceux dont vous ne souhaitez pas conserver la valeur par défaut.
-
ID du cluster : obligatoire. Nom du nouveau cluster.
-
Mode cluster activé (scalout) — Choisissez cette option pour un cluster Valkey ou Redis OSS (mode cluster activé).
-
Type de nœud : préciser cache.r6gd.xlarge ou tout autre type de nœud de la famille r6gd.
-
Nombre de partitions — Choisissez le nombre de partitions que vous souhaitez inclure dans le nouveau cluster (API/CLI: groupes de nœuds).
-
Replicas per Shard (Réplicas par partition) : choisissez le nombre de nœuds de réplica en lecture souhaité dans chaque partition.
-
Slots and keyspaces (Emplacements et espaces de clés) : choisissez la répartition des clés entre les partitions. Si vous choisissez de spécifier les répartitions de clés, remplissez le tableau en spécifiant les plages de clés de chaque partition.
-
Zone(s) de disponibilité : spécifiez la façon dont les zones de disponibilité du cluster doivent être sélectionnées.
-
Port : modifiez cette valeur uniquement si vous souhaitez que le nouveau cluster utilise un port différent.
-
Choisir un VPC : choisissez le VPC dans lequel vous souhaitez créer ce cluster.
-
Groupe de paramètres : choisissez un groupe de paramètres qui réserve suffisamment de mémoire pour la surcharge de Valkey ou Redis OSS pour le type de nœud que vous avez sélectionné.
-
-
Lorsque les paramètres vous conviennent, choisissez Create.
Pour plus d'informations sur la création des clusters , consultez Création d'un cluster pour Valkey ou Redis OSS.
Lors de la création d'un groupe de réplication à l'aide du AWS CLI, la hiérarchisation des données est utilisée par défaut en sélectionnant un type de nœud dans la famille r6gd, tel que cache.r6gd.xlarge et en définissant le paramètre. --data-tiering-enabled
Vous ne pouvez pas désactiver la hiérarchisation des données lorsque vous sélectionnez un type de nœud dans la famille r6gd. Si vous définissez le paramètre --no-data-tiering-enabled, l’opération échouera.
Pour Linux, macOS ou 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-namemy-snapshot
Pour Linux, macOS ou 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-namemy-snapshot
Après avoir exécuté cette opération, une réponse similaire à ceci s’affiche :
{ "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 } }