Comparación de los clústeres Valkey, Memcached y Redis OSS basados en nodos
Amazon ElastiCache admite los motores de caché de Valkey, Memcached y Redis OSS. Cada motor proporciona algunas ventajas. Use la información de este tema para elegir el motor y la versión que mejor se adapte a sus necesidades.
importante
Tras crear un clúster de caché basado en nodos o un grupo de replicación, podrá actualizar el motor a una versión más reciente; sin embargo, no podrá volver a una versión inferior del motor. Si desea usar una versión más antigua del motor, deberá eliminar el clúster de caché basado en nodos o el grupo de replicación existente y crearlo de nuevo con la versión del motor más antigua.
En líneas generales, los motores son similares. Cada uno de ellos funciona como almacén de claves-valores en memoria. Sin embargo, en la práctica, existen diferencias importantes.
Elija Memcached si se dan las condiciones siguientes:
-
Necesita el modelo más sencillo que sea posible.
-
Necesita ejecutar nodos de gran tamaño con varios núcleos o subprocesos.
-
Necesita tener la capacidad de escalar de forma ascendente y descendente, y agregar y eliminar nodos en función de la demanda del sistema.
-
Necesita almacenar en la caché objetos.
Elija Valkey o Redis OSS con ElastiCache si se dan las siguientes condiciones:
-
ElastiCache versión 7.2 para Valkey o versión 7.0 (mejorada) para Redis
Desea utilizar funciones
, publicación/suscripción en particiones o mejoras de ACL . Para obtener más información, consulte Redis OSS versión 7.0 (mejorada). -
ElastiCache versión 6.2 (mejorada) para Redis OSS
Desea tener la posibilidad de establecer niveles de datos entre memoria y SSD utilizando el tipo de nodo r6gd. Para obtener más información, consulte Organización de datos en niveles.
-
ElastiCache versión 6.0 (mejorada) para Redis OSS
Desea autenticar usuarios con el control de acceso basado en roles.
Para obtener más información, consulte Redis OSS versión 6.0 (mejorada).
-
ElastiCache versión 5.0.0 (mejorada) para Redis OSS
Desea utilizar los flujos de Redis OSS
, que son una estructura de datos de registro que permite a los productores añadir elementos nuevos en tiempo real y también permite a los consumidores consumir mensajes con o sin bloqueo. Para obtener más información, consulte Redis OSS versión 5.0.0 (mejorada).
-
ElastiCache versión 4.0.10 (mejorada) para Redis OSS
Admite tanto el cifrado como la adición o eliminación dinámica de particiones del clúster de Valkey o Redis OSS (modo de clúster habilitado).
Para obtener más información, consulte Redis OSS versión 4.0.10 (mejorada).
Las siguientes versiones están en desuso, han llegado o están a punto de llegar al final de su vida útil.
-
ElastiCache versión 3.2.10 (mejorada) para Redis OSS
Admite la posibilidad de añadir o eliminar particiones de forma dinámica del clúster de Valkey o Redis OSS (modo de clúster habilitado).
importante
En la actualidad, ElastiCache 3.2.10 para Redis no admite el cifrado.
Para obtener más información, consulte los siguientes temas:
-
Prácticas recomendadas de cambios de particiones online para Redis OSS. Para obtener más información, consulte lo siguiente:
-
Para obtener más información acerca del escalado de los clústeres de Redis OSS, consulte Escalado.
-
ElastiCache versión 3.2.6 (mejorada) para Redis OSS
Si necesita la funcionalidad de las versiones anteriores de Redis OSS, además de las características siguientes, elija 3.2.6:
-
Cifrado en tránsito. Para obtener más información, consulte Cifrado en tránsito de Amazon ElastiCache para Redis OSS.
-
Cifrado en reposo. Para obtener más información, consulte Cifrado en reposo de Amazon ElastiCache para Redis OSS.
-
-
Versión 3.2.4 de ElastiCache para Redis OSS (modo de clúster habilitado)
Si necesita la funcionalidad de 2.8.x además de las características siguientes, elija 3.2.4 (modo agrupado en clúster):
-
Es necesario que los datos se repartan entre dos a 500 grupos de nodos (solo en modo clúster).
-
Necesita indexación geoespacial (modo agrupado en clúster y no agrupado en clúster).
-
No necesita la compatibilidad con varias bases de datos.
-
-
ElastiCache para Redis (modo no agrupado en clúster) 2.8.x y 3.2.4 (mejorado)
Si se dan las condiciones siguientes, elija 2.8.x o 3.2.4 (en modo no agrupado en clúster):
-
Necesita tipos de datos complejos como, por ejemplo, cadenas, hash, listas, conjuntos, conjuntos clasificados mapas de bits.
-
Necesita ordenar o clasificar conjuntos de datos en memoria.
-
Necesita persistencia del almacén de claves.
-
Necesita replicar sus datos desde el nodo principal a una o varias réplicas de lectura para aplicaciones de lectura intensivas.
-
Necesita conmutación por error automática en caso de error en el nodo principal.
-
Necesita publicar y suscribirse a capacidades para informar a los clientes acerca de eventos en el servidor.
-
Necesita capacidades de copia de seguridad y restauración para los clústeres basados en nodos, así como para las cachés sin servidor.
-
Necesita compatibilidad con varias bases de datos.
-
| Memcached | Valkey o Redis OSS (modo de clúster deshabilitado) | Valkey o Redis OSS (modo de clúster habilitado) | |
|---|---|---|---|
| Engine versions+ | 1.4.5 and later | 4.0.10 and later | 4.0.10 and later |
| Data types | Simple ‡ | 2.8.x - Complex * | 3.2.x and later - Complex † |
| Complex † | |||
| Data partitioning | Yes | No | Yes |
| Cluster is modifiable | Yes | Yes | 3.2.10 and later - Limited |
| Online resharding | No | No | 3.2.10 and later |
| Encryption | in-transit 1.6.12 and later | 4.0.10 and later | 4.0.10 and later |
| Data tiering | No | 6.2 and later | 6.2 and later |
| Certificaciones de conformidad | |||
| Compliance Certification
FedRAMP HIPAA PCI DSS |
Sí - 1.6.12 y posteriores Sí - 1.6.12 y posteriores Sí |
4.0.10 y versiones posteriores 4.0.10 y versiones posteriores 4.0.10 y versiones posteriores |
4.0.10 y versiones posteriores 4.0.10 y versiones posteriores 4.0.10 y versiones posteriores |
| Multi-threaded | Yes | No | No |
| Node type upgrade | No | Yes | Yes |
| Engine upgrading | Yes | Yes | Yes |
| High availability (replication) | No | Yes | Yes |
| Automatic failover | No | Optional | Required |
| Pub/Sub capabilities | No | Yes | Yes |
| Sorted sets | No | Yes | Yes |
| Backup and restore | For serverless caches only, not applicable to node-based clusters | Yes | Yes |
| Geospatial indexing | No | 4.0.10 and later | Yes |
| Notas: | |||
| ‡ string, objects (like databases) | |||
| * string, sets, sorted sets, lists, hashes, bitmaps, hyperloglog | |||
| † string, sets, sorted sets, lists, hashes, bitmaps, hyperloglog, geospatial indexes | |||
| + Excludes versions which are deprecated, have reached or soon to reach end of life. | |||
Tras elegir el motor para su clúster, recomendamos que use la versión más reciente de dicho motor. Para obtener más información, consulte Tipos de nodos compatibles.