Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
En esta sección, se detallan las versiones compatibles del motor de Valkey y Redis OSS.
Temas
MemoryDB versión 7.3
El 1 de diciembre de 2024, se lanzó MemoryDB 7.3. La versión 7.3 de MemoryDB admite clústeres multirregionales, lo que le permite crear aplicaciones multirregionales con una disponibilidad de hasta el 99,999% y una latencia extremadamente baja. Actualmente, MemoryDB Multi-Region es compatible con las siguientes AWS regiones: EE.UU. Este (Norte de Virginia y Ohio), EE.UU. Oeste (Oregón, Norte de California), Europa (Irlanda, Fráncfort y Londres) y Asia Pacífico (Tokio, Sídney, Bombay, Seúl y Singapur). Para obtener más información, consulte MemoryDB multirregión.
MemoryDB versión 7.2.6
El 8 de octubre de 2024, se lanzó Valkey 7.2.6. Valkey 7.2.6 presenta diferencias de compatibilidad similares con las versiones anteriores de Redis OSS 7.2.5. Estas son las principales diferencias entre Valkey y Redis OSS 7.0 y 7.1:
Nueva opción WITHSCORE para los comandos ZRANK y ZREVRANK
CLIENT NO-TOUCH permite a los clientes ejecutar comandos sin que eso afecte a la LRU/LFU de las claves.
Nuevo comando CLUSTER MYSHARDID que devuelve el ID de partición del nodo para agrupar los nodos de forma lógica en el modo de clúster en función de la replicación.
Optimizaciones de rendimiento y memoria para varios tipos de datos.
Estos son los posibles cambios de comportamiento importantes entre Valkey 7.2 y Redis OSS 7.1 (o 7.0):
Al llamar a PUBLISH con un RESP3 cliente que también está suscrito al mismo canal, se cambia el orden y la respuesta se envía antes del mensaje publicado.
El seguimiento de scripts por parte del cliente ahora rastrea las claves que lee el script, en lugar de las claves declaradas por la persona que llama a EVAL/FCALL.
El muestreo temporal se bloquea durante la ejecución de comandos y en los scripts.
Cuando se desbloquea un comando bloqueado, se vuelven a evaluar comprobaciones como ACL y OOM, entre otras.
El texto del mensaje de error de la ACL y los códigos de error se han unificado.
Un comando de flujo bloqueado que se ejecuta cuando la clave ya no existe contiene un código de error diferente (-NOGROUP o -WRONGTYPE en lugar de -UNBLOCKED).
Las estadísticas del comando se actualizan para los comandos bloqueados solo cuando el comando se ejecuta realmente.
El almacenamiento interno de los usuarios de ACL ya no elimina las reglas redundantes de comandos y categorías. Esto puede alterar la forma en que se muestran esas reglas como parte de ACL SAVE, ACL GETUSER y ACL LIST.
Todas las conexiones de cliente creadas para la replicación basada en TLS utilizan SNI si es posible.
XINFO STREAM: el campo de respuesta de hora de visualización ahora indica el último intento de interacción en lugar de la última interacción con éxito. El nuevo campo de respuesta de tiempo activo indica ahora la última interacción con éxito.
XREADGROUP y X[AUTO]CLAIM crean al consumidor independientemente de si este ha sido capaz de realizar o no alguna lectura o solicitud.
ACL establece de forma predeterminada el indicador sanitize-payload recién creado en ACL LIST/GETUSER.
El comando HELLO no afecta al estado del cliente a menos que sea correcto.
Las respuestas de NAN se normalizan a un único tipo nan, de forma similar al comportamiento actual de inf.
Para obtener más información sobre Valkey, consulte Valkey
Para obtener más información sobre la versión 7.2 de Valkey, consulte las notas de la versión 7.2.4 de Redis OSS
MemoryDB versión 7.1 (mejorada)
La versión 7.1 de MemoryDB añade compatibilidad para las capacidades de búsqueda vectorial en todas las regiones, así como correcciones de errores críticos y mejoras de rendimiento.
Característica de búsqueda vectorial: la búsqueda vectorial se puede utilizar con las funciones existentes de MemoryDB. Las aplicaciones que no utilicen la búsqueda vectorial no se verán afectadas por su presencia. La búsqueda vectorial está disponible en todas las regiones a partir de la versión 7.1 de MemoryDB. Consulte la documentación aquí para obtener más información.
nota
MemoryDB versión 7.1 es compatible con Redis OSS 7.0. Para obtener más información sobre la versión 7.0 de Redis OSS, consulte las notas de la versión de Redis OSS 7.0 en Redis
MemoryDB versión 7.0 (mejorada)
MemoryDB 7.0 agrega una serie de mejoras y compatibilidad con nuevas funciones:
-
Funciones
: MemoryDB 7 agrega compatibilidad para funciones y proporciona una experiencia administrada que permite a los desarrolladores ejecutar scripts de LUA con la lógica de la aplicación almacenada en el clúster de MemoryDB, sin necesidad de que los clientes vuelvan a enviar los scripts al servidor con cada conexión. -
Mejoras en la ACL
: MemoryDB 7 añade compatibilidad con la próxima versión de las listas de control de acceso (). ACLs Con MemoryDB OSS Valkey 7 o Redis OSS 7, los clientes ahora pueden especificar varios conjuntos de permisos en claves o espacios de claves específicos. -
Sharded Pub/Sub
: MemoryDB 7 incorpora Pub/Sub functionality in a sharded way when running MemoryDB in Cluster Mode Enabled (CME). Pub/Sub funciones de soporte para ejecutar contenido que permiten a los editores enviar mensajes a cualquier número de suscriptores de un canal. Con Amazon MemoryDB Valkey 7 y Redis OSS 7, los canales se enlazan a una partición del clúster de MemoryDB, lo que elimina la necesidad de propagar la información del canal entre las particiones. Esto se traduce en una escalabilidad mejorada. -
Multiplexación de E/S mejorada: MemoryDB Valkey 7 y Redis OSS versión 7 incorporan una multiplexación de E/S mejorada que ofrece un mayor rendimiento y una menor latencia para cargas de trabajo de alto rendimiento que tienen muchas conexiones de cliente simultáneas a un clúster de MemoryDB. Por ejemplo, al utilizar un clúster de nodos r6g.4xlarge y ejecutar 5200 clientes simultáneos, puede lograr un aumento de hasta un 46 % en el rendimiento (operaciones de lectura y escritura por segundo) y una disminución de la latencia de P99 de hasta un 21 %, en comparación con la versión 6 de MemoryDB.
Para obtener más información sobre Valkey, consulte Valkey
Para obtener más información sobre la versión 7.2 de Valkey, consulte las notas de la versión 7.2.4 de Redis OSS (Valkey 7.2 incluye todos los cambios desde Redis OSS hasta la versión 7.2.4) y las notas
MemoryDB con Redis OSS versión 6.2 (mejorada)
MemoryDB presenta la próxima versión del motor de Redis OSS, que incluye soporte de actualización automática de versiones Autenticación de usuarios con listas de control de acceso () ACLs, almacenamiento en caché del lado del cliente y mejoras operativas significativas.
La versión 6.2.6 del motor Redis también admite el formato nativo de notación de JavaScript objetos (JSON), una forma sencilla y sin esquemas de codificar conjuntos de datos complejos dentro de los clústeres de Redis OSS. Gracias a la compatibilidad con JSON, puede aprovechar el rendimiento y el OSS de Redis para las aplicaciones que funcionan con JSON. APIs Para obtener más información, consulte Introducción a JSON. También se incluye una métrica relacionada con JSON JsonBasedCmds
que se incorpora CloudWatch para monitorear el uso de este tipo de datos. Para obtener más información, consulte Métricas de MemoryDB.
Con Redis OSS 6, MemoryDB ofrecerá una sola versión para cada versión secundaria de Redis OSS, en lugar de ofrecer varias versiones de parche. Se ha diseñado para minimizar la confusión y la ambigüedad al tener que elegir entre varias versiones secundarias. MemoryDB también administrará automáticamente la versión secundaria y la versión del parche de los clústeres en ejecución, lo que garantiza un mejor rendimiento y mayor seguridad. Esto se gestionará a través de canales de notificación estándar a los clientes mediante una campaña de actualización de servicio. Para obtener más información, consulte Actualizaciones de los servicios de MemoryDB.
Si no especifica la versión del motor durante la creación, MemoryDB seleccionará automáticamente la versión de Redis OSS que prefiera. Por otro lado, si especifica la versión del motor mediante el uso de 6.2
, MemoryDB invocará automáticamente la versión de parche preferida de Redis OSS 6.2 que se encuentre disponible.
Por ejemplo, al crear un clúster, establece la propiedad del parámetro --engine-version
en 6.2
. El clúster se lanzará con la versión de parche preferida actual disponible en el momento de creación. Cualquier solicitud con un valor de la versión de motor completa se rechazará, se lanzará una excepción y el proceso fallará.
Al llamar a la API DescribeEngineVersions
, el valor de parámetro EngineVersion
se establecerá en 6.2 y la versión real del motor se devolverá en el campo EnginePatchVersion
.
Para obtener más información sobre la versión 6.2 de Redis OSS, consulte las notas de la versión 6.2 de Redis en Redis OSS en adelante
Actualización de las versiones del motor
De forma predeterminada, MemoryDB administra automáticamente la versión de parche de los clústeres en ejecución mediante actualizaciones de servicio. También puede inhabilitar la actualización automática de la versión secundaria si establece la propiedad AutoMinorVersionUpgrade
de sus clústeres en false. Sin embargo, no puede excluirse de la actualización de la versión de parches automáticos.
Puede controlar si se actualiza el software compatible con los protocolos de su clúster a nuevas versiones compatibles con MemoryDB, así como el momento en que se realizan dichas actualizaciones, antes de que comience la actualización automática. Este nivel de control permite mantener la compatibilidad con versiones concretas, probar nuevas versiones con la aplicación antes de implementarlas en producción y realizar actualizaciones de versiones en los horarios y los plazos que más le convengan.
También puede actualizar desde una base de datos de MemoryDB existente con el motor de Redis OSS a un motor Valkey.
Puede iniciar las actualizaciones de las versiones del motor en su clúster de las siguientes maneras:
Actualizándolo y especificando una nueva versión del motor. Para obtener más información, consulte Modificación de un clúster de MemoryDB.
Aplicando la actualización del servicio a la versión de motor correspondiente. Para obtener más información, consulte Actualizaciones de los servicios de MemoryDB.
Tenga en cuenta lo siguiente:
Puede actualizar a una versión de motor más reciente, pero no puede volver a una versión de motor más antigua. Si desea usar una versión de motor más antigua, deberá eliminar el clúster existente y crearlo de nuevo con la versión del motor más antigua.
Recomendamos actualizar periódicamente a la última versión principal, ya que la mayoría de las mejoras importantes no se transfieren a versiones anteriores. A medida que MemoryDB amplía la disponibilidad a una nueva AWS región, MemoryDB es compatible con las dos
MAJOR.MINOR
versiones más recientes de la nueva región en ese momento. Por ejemplo, si se lanza una nueva AWS región y las versiones más recientes deMAJOR.MINOR
MemoryDB son 7.0 y 6.2, MemoryDB admitirá las versiones 7.0 y 6.2 en la nueva región. AWS A medida que se publiquen nuevas versionesMAJOR.MINOR
de MemoryDB, MemoryDB continuará añadiendo soporte para las nuevas versiones de MemoryDB. Para obtener más información sobre cómo elegir Regions para MemoryDB, consulte Regiones y puntos de conexión admitidos.La administración de la versión del motor está diseñada para que pueda tener el mayor control posible sobre cómo se produce la aplicación de parches. Sin embargo, MemoryDB se reserva el derecho de aplicar en su nombre el parche a su clúster en el caso improbable de una vulnerabilidad de seguridad crítica en el sistema o el software.
MemoryDB ofrecerá una sola versión para cada versión secundaria de Valkey o Redis OSS, en lugar de ofrecer varias versiones de parche. Se ha diseñado para minimizar la confusión y la ambigüedad al tener que elegir entre varias versiones. MemoryDB también administrará automáticamente la versión secundaria y la versión del parche de los clústeres en ejecución, lo que garantiza un mejor rendimiento y mayor seguridad. Esto se gestionará a través de canales de notificación estándar a los clientes mediante una campaña de actualización de servicio. Para obtener más información, consulte Actualizaciones de los servicios de MemoryDB.
Puede actualizar la versión del clúster con un tiempo de inactividad mínimo. El clúster está disponible para operaciones de lectura durante toda la actualización y para operaciones de escritura durante la mayoría del proceso, excepto durante la operación de conmutación por error, que dura unos segundos.
-
Se recomienda que actualice el motor durante los periodos de poco tráfico entrante.
Los clústeres con varias particiones se procesan y se aplican parches de la siguiente manera:
-
Solo se realiza una operación de actualización en una partición a la vez.
-
En cada partición, todas las réplicas se procesan antes que el principal. Si hay menos réplicas en una partición, el principal de esa partición podrá procesarse antes que las réplicas de otras particiones terminen de procesarse.
-
En todas las particiones, los nodos principales se procesan en series. Solo se actualiza un nodo principal a la vez.
-
Temas
Cómo actualizar las versiones del motor
Para iniciar las actualizaciones de versión de su clúster, debe modificarlo mediante la consola de MemoryDB, la API de MemoryDB o la AWS CLI API de MemoryDB y especificar una versión de motor más reciente. Para obtener más información, consulte los siguientes temas.
Resolución de actualizaciones del motor de Redis OSS bloqueadas
Tal y como se muestra en la siguiente tabla, la operación de actualización del motor de Redis OSS se bloqueará si tiene una operación de escalado vertical pendiente.
Operaciones pendientes | Operaciones bloqueadas |
---|---|
Escalado ascendente | Actualización del motor inmediata |
Actualización del motor | Ampliación inmediata |
Ampliación y actualización del motor | Ampliación inmediata |
Actualización del motor inmediata |