Amazon MemoryDB para Redis es un servicio de base de datos en memoria duradero y compatible con Redis que ofrece un rendimiento ultrarrápido. Está especialmente diseñado para aplicaciones modernas con arquitecturas de microservicios.

Amazon MemoryDB es compatible con Redis, un popular almacén de datos de código abierto, lo cual permite a los clientes crear aplicaciones rápidamente con las mismas estructuras de datos fáciles y sencillas, las API y los comandos de Redis que se utilizan en la actualidad. Con Amazon MemoryDB, todos sus datos se almacenan en la memoria, lo que le permite lograr una latencia de lectura de microsegundos y una latencia de escritura de milisegundos de un solo dígito y un alto rendimiento. Amazon MemoryDB también almacena datos de forma duradera en varias zonas de disponibilidad (AZ) mediante un registro transaccional distribuido para permitir una rápida conmutación por error, recuperación de bases de datos y reinicios de nodos. Amazon MemoryDB ofrece rendimiento en memoria y durabilidad Multi-AZ, y puede utilizarse como base de datos primaria de alto rendimiento para sus aplicaciones de microservicios, y, así, eliminar la necesidad de administrar por separada la memoria en caché y una base de datos duradera.

Compatibilidad con Redis

Redis es un almacén de datos de valores de clave en la memoria rápido y de código abierto. Los desarrolladores utilizan Redis para obtener tiempos de respuesta inferiores al milisegundo, lo que permite que se realicen millones de solicitudes por segundo para aplicaciones en tiempo real del sector, como videojuegos, tecnología publicitaria, servicios financieros, sanidad e IoT. En 2021, Redis fue nombrada como “la base de datos más querida” de Stack Overflow por quinto año consecutivo.

Redis ofrece API, comandos y estructuras de datos flexibles, como secuencias, conjuntos y listas, para crear aplicaciones ágiles y versátiles. MemoryDB mantiene la compatibilidad con Redis de código abierto y admite el mismo conjunto de tipos de datos, parámetros y comandos de Redis con los que está familiarizado. Esto significa que el código, las aplicaciones, los controladores y las herramientas que ya utiliza con Redis pueden utilizarse con MemoryDB para que pueda crear aplicaciones rápidamente.

Rendimiento ultrarrápido

MemoryDB almacena todo su conjunto de datos en la memoria para ofrecer una latencia de lectura de microsegundos, una latencia de escritura de milisegundos de un solo dígito y un alto nivel de rendimiento. Puede gestionar más de 13 billones de solicitudes por día y admite picos de 160 millones de solicitudes por segundo.

Los desarrolladores que utilizan arquitecturas de microservicios requieren un rendimiento extremadamente alto, ya que estas aplicaciones pueden implicar interacciones con muchos componentes de los servicios por cada interacción del usuario o llamada a la API. MemoryDB proporciona una latencia extremadamente baja para ofrecer rendimiento en tiempo real a los usuarios finales.

Amazon MemoryDB para Redis incluye la multiplexación mejorada de E/S, que ofrece optimizaciones significativas en el rendimiento y la latencia a escala. La multiplexación de E/S mejorada es ideal para las cargas de trabajo vinculadas al rendimiento con varias conexiones de clientes y sus beneficios escalan según el nivel de simultaneidad de cargas de trabajo. Por ejemplo, cuando se usa el nodo r6g.4xlarge y se ejecutan 5200 clientes simultáneos, puede lograr un incremento de hasta el 46 % en el nivel de rendimiento (operaciones de lectura y escritura por segundo) y una reducción de hasta el 21 % en la latencia P99, en comparación con MemoryDB para Redis 6. Para estos tipos de cargas de trabajo, el procesamiento de E/S de red de un nodo puede convertirse en un factor limitante en la capacidad de escalar. Con la multiplexación mejorada de E/S, cada subproceso de E/S dedicado canaliza comandos de varios clientes al motor de Redis y saca partido de la capacidad de Redis para procesar comandos en lotes de manera eficiente, tal como se muestra en el diagrama siguiente:

La multiplexación mejorada de E/S está disponible automáticamente cuando se usa Redis 7 sin costo adicional. No se requieren cambios en la configuración de aplicaciones o servicios para usar MemoryDB para la multiplexación mejorada de E/S de Redis.

Para obtener más información, consulte la documentación.

Durabilidad Multi-AZ

Además de almacenar todo el conjunto de datos en la memoria, MemoryDB utiliza un registro transaccional distribuido para proporcionar durabilidad, consistencia y capacidad de recuperación de los datos. MemoryDB almacena los datos en varias zonas de disponibilidad para que pueda lograr una recuperación y un reinicio rápidos de la base de datos. Puede utilizar MemoryDB como el único servicio principal de base de datos para sus cargas de trabajo que requieren baja latencia y alto nivel de rendimiento, en lugar de administrar por separado una caché para la velocidad y una base de datos relacional o no relacional adicional para la fiabilidad.

Escalabilidad

Puede escalar su clúster de MemoryDB para satisfacer las demandas cambiantes de la aplicación de forma horizontal, por medio de la incorporación o la eliminación de nodos, o de forma vertical, por medio de tipos de nodos más grandes o más pequeños. MemoryDB admite el escalado de la escritura mediante la fragmentación y el escalado de la lectura mediante la adición de réplicas. Su clúster continúa en línea y admite operaciones de lectura y escritura durante las operaciones de ajuste de tamaño.

Administración total

Facilidad de uso

Comenzar a utilizar MemoryDB es sencillo. Solo tiene que lanzar un clúster de MemoryDB nuevo con la consola de administración de AWS o con la AWS CLI o el SDK. Las instancias de base de datos de MemoryDB están preconfiguradas con los parámetros y los ajustes adecuados para el tipo de nodo seleccionado. Puede iniciar el clúster y conectar su aplicación en cuestión de minutos sin realizar configuraciones adicionales.

Monitoreo y métricas

MemoryDB provee métricas de Amazon CloudWatch para sus instancias de base de datos. Puede utilizar la consola de administración de AWS para ver más de 35 métricas operativas clave del clúster, que incluyen la computación, la memoria, el almacenamiento, el rendimiento y las conexiones activas, entre otras.

Aplicación automática de parches en el software

MemoryDB mantiene sus clústeres al día de forma automática con las actualizaciones nuevas, y usted puede actualizar fácilmente sus clústeres a las últimas versiones de Redis.

Seguridad

Redes

MemoryDB se ejecuta en Amazon VPC, lo que le permite aislar la base de datos en su propia red virtual y conectarse a la infraestructura de TI en las instalaciones con VPN con IPsec cifradas estándar del sector. Además, con la configuración de la VPC de MemoryDB, puede establecer los parámetros del firewall y controlar el acceso de red a las instancias de base de datos.

Cifrado

Con MemoryDB, los datos en reposo se cifran con claves que usted crea y controla mediante AWS Key Management Service (KMS). Además, los clústeres creados con los tipos de nodos de AWS Graviton2 incluyen un cifrado DRAM de 256 bits de funcionamiento continuo. MemoryDB admite el cifrado en tránsito mediante la seguridad de la capa de transporte (TLS).

Permisos de la API

Mediante el uso de las características de AWS Identity and Access Management (IAM) integradas con Amazon MemoryDB, puede controlar las acciones que sus usuarios y grupos de AWS IAM pueden realizar en los recursos de Amazon MemoryDB. Por ejemplo, puede configurar las reglas de IAM para poder garantizar que determinados usuarios únicamente tengan acceso de solo lectura, mientras que el administrador pueda crear, modificar y eliminar recursos. Para obtener más información acerca de los permisos a nivel de API, consulte Using AWS IAM Policies for Amazon MemoryDB (Cómo usar las políticas de AWS IAM en Amazon MemoryDB).

Autenticación y autorización

MemoryDB utiliza las listas de control de acceso (ACL) de Redis para controlar tanto la autenticación como la autorización de su clúster. Las ACL le permiten definir diferentes permisos para diferentes usuarios en el mismo clúster.

Integración con Kubernetes

AWS Controllers for Kubernetes (ACK) para Amazon MemoryDB permite definir y utilizar los recursos de MemoryDB directamente desde el clúster de Kubernetes. Esto permite aprovechar MemoryDB para admitir las aplicaciones de Kubernetes sin necesidad de definir los recursos de MemoryDB fuera del clúster o ejecutar y administrar las capacidades de la base de datos en memoria dentro del clúster. Puede descargar la imagen de contenedor de MemoryDB ACK desde Amazon ECR y consultar la documentación para llevar a cabo la instalación. También puede visitar el blog para obtener información más detallada.

Nota: ACK para Amazon MemoryDB ya está disponible para el público general. Envíenos sus comentarios a nuestra página de GitHub.

ACK for Amazon MemoryDB

Compatibilidad con JSON

Amazon MemoryDB ofrece compatibilidad nativa para documentos de notación de objetos JavaScript (JSON), además de las estructuras de datos incluidas en Redis de código abierto, sin costo adicional. Puede simplificar el desarrollo de aplicaciones con los comandos integrados diseñados y optimizados para documentos JSON. MemoryDB admite actualizaciones parciales de documentos JSON, así como búsqueda y filtrado eficientes mediante el lenguaje de consulta JSONPath. La compatibilidad con JSON está disponible si se utiliza la versión Redis 6.2 o una superior. Para obtener más información, consulte la documentación de MemoryDB.

Amazon MemoryDB para Redis permite que los modelos de machine learning (ML) e IA generativa (IA) funcionen con los datos almacenados en Amazon MemoryDB en tiempo real y sin mover los datos. Con Amazon MemoryDB, puede almacenar, buscar, indexar y consultar incrustaciones vectoriales en las estructuras de datos de Redis.

Los vectores son representaciones numéricas de datos no estructurados, como texto, imágenes y vídeo, creadas a partir de modelos de machine learning que ayudan a capturar el significado semántico de los datos subyacentes. Puede almacenar incrustaciones vectoriales de modelos de ML e IA, como los de Amazon Bedrock y Amazon SageMaker, en su base de datos de Amazon MemoryDB. Lea nuestra documentación para obtener más información sobre la búsqueda vectorial en Amazon MemoryDB.

Con la vista previa de la búsqueda vectorial para MemoryDB, puede almacenar millones de incrustaciones vectoriales y realizar decenas de miles de consultas por segundo (QPS) con una recuperación superior al 99 % con latencias de actualización y búsqueda vectorial de milisegundos de un solo dígito.

La búsqueda vectorial de MemoryDB es adecuada para casos de uso en los que el rendimiento y la escala máximos son los criterios de selección más importantes. Puede utilizar la búsqueda vectorial para impulsar aplicaciones de IA generativa y machine learning en tiempo real en casos prácticos como la generación aumentada de recuperación (RAG) para bots de chat, la detección de fraudes, las recomendaciones en tiempo real y la recuperación de documentos.

Optimización de costos

MemoryDB ofrece niveles de datos cómo una forma más económica de escalar sus clústeres hasta cientos de terabytes de capacidad. Los niveles de datos brindan una opción de precio-rendimiento para MemoryDB al utilizar unidades de estado sólido (SSD) de menor costo en cada nodo de clúster, además de almacenar datos en memoria. Es ideal para cargas de trabajo que acceden a hasta un 20 % de sus conjuntos de datos generales de manera habitual, y para aplicaciones que puedan tolerar una latencia adicional al acceder a datos ubicados en la SSD.

Cuando se utilizan clústeres con niveles de datos, MemoryDB está diseñado para mover, de forma transparente y automática, los elementos utilizados hace más tiempo de la memoria a las SSD basadas en NVMe adjuntas localmente una vez que la capacidad de memoria disponible se haya consumido. Cuando accede a un elemento almacenado en SSD, MemoryDB lo devuelve a la memoria antes de entregar la solicitud. La organización de niveles de datos de MemoryDB está disponible en los nodos R6gd basados en Graviton2. Los nodos R6gd tienen casi cinco veces más de capacidad total (memoria + SSD) y pueden ayudarlo a lograr ahorros de costo de almacenamiento de alrededor del 60 % cuando se ejecutan con un uso máximo en comparación con los nodos R6g (solo memoria). Al asumir valores de cadena de 500 bytes, normalmente puede esperar una latencia adicional de 450 µs para solicitudes de lectura de datos almacenados en el SSD, en comparación con solicitudes de lectura de datos almacenados en la memoria.

MemoryDB cuenta con nodos reservados que le permiten ahorrar hasta un 55 % en comparación con los precios de los nodos bajo demanda a cambio de un compromiso de uso durante un período de uno o tres años. Los nodos reservados son complementarios a los nodos bajo demanda de MemoryDB y ofrecen flexibilidad a las empresas para ayudar a reducir los costos. MemoryDB ofrece tres opciones de pago para los nodos reservados (Sin pago inicial, Pago inicial parcial y Pago inicial total) a los fines de equilibrar el importe del pago inicial con el precio por hora real.

Los nodos reservados de MemoryDB ofrecen flexibilidad de tamaño dentro de una familia de nodos y una región de AWS. Esto significa que la tarifa de nodos reservados con descuento se aplicará automáticamente al uso de todos los tamaños en la misma familia de nodos. La capacidad de flexibilidad de tamaño reduce el tiempo que tendrá que dedicar a administrar sus nodos reservados y, dado que ya no está sujeto a un tamaño de nodo de base de datos específico, podrá aprovechar al máximo su descuento incluso si su base de datos necesita actualizaciones.

Obtenga más información acerca de los precios
Consulte los precios de MemoryDB

Conozca las opciones de precios de MemoryDB.

Obtenga más información 
Aprenda mediante un tutorial
Aprenda mediante un tutorial

Descubra cómo configurar su primer clúster de MemoryDB.

Obtenga más información  
 Comience a crear con MemoryDB
Comience a crear con MemoryDB

Consulte la guía del usuario de MemoryDB para empezar.

Lea la documentación