¿Qué es Valkey?

Valkey es un almacén de datos de pares clave-valor en memoria que se puede usar para diversas necesidades de desarrollo de aplicaciones, como el almacenamiento en caché, las colas de mensajes y los almacenes de sesiones. También puedes usarlo como base de datos principal en memoria, con datos almacenados en la RAM para que las velocidades de lectura y escritura sean rápidas.

Como base de datos NoSQL, Valkey tiene un esquema más flexible que una base de datos relacional, que almacena los datos en columnas y filas estrictas.

Valkey usa el método de clave-valor simple para almacenar datos, donde un valor se asigna a un identificador único: la clave. Esto permite realizar búsquedas increíblemente rápidas al recuperar datos directamente por su clave. También ofrece la flexibilidad de admitir una amplia variedad de tipos de datos, como cadenas, conjuntos, listas, hashes y flujos.

¿Quieres pasar directamente a configurar un clúster de Valkey? Consulta cómo empezar a usar Memorystore.

Conclusiones clave

Valkey es un almacén de datos de clave-valor de código abierto. Debe su reconocimiento a su latencia extremadamente baja, lo que lo hace ideal para el almacenamiento en caché, las colas de mensajes y las aplicaciones que requieren datos en tiempo real. Estas son algunas de las funciones clave de Valkey:

  • Almacén de datos en memoria: almacena principalmente datos en la RAM para ofrecer velocidades de lectura y escritura ultrarrápidas.
  • Método de clave-valor: almacena datos en pares clave-valor, lo que ofrece flexibilidad para una amplia gama de tipos de datos y búsquedas rápidas.
  • Alternativa a Redis: Valkey ha evolucionado a partir de la misma base de código que Redis, pero sigue siendo de código abierto.


Preguntas frecuentes sobre Valkey

Valkey puede almacenar una amplia variedad de tipos de datos, como cadenas, hashes, listas, conjuntos y conjuntos ordenados. También admite tipos de datos más avanzados, como flujos, índices geoespaciales, mapas de bits y vectores, lo que la convierte en una herramienta versátil para una amplia gama de aplicaciones, incluidos los agentes de IA.


La principal razón para usar una base de datos en memoria como Valkey es la velocidad. Acceder a los datos desde la RAM es más rápido que leerlos desde el disco, lo que permite a Valkey alcanzar una latencia extremadamente baja, a menudo en un rango inferior a milisegundos. Esta velocidad es fundamental para casos prácticos como el almacenamiento en caché en tiempo real y las analíticas de datos que cambian rápidamente, donde el acceso inmediato a los datos es esencial.


La principal diferencia radica en cómo estructuran, almacenan y recuperan los datos. Una base de datos de clave-valor como Valkey almacena los datos como una colección de claves únicas, cada una emparejada con un solo valor. Este modelo sencillo ofrece una recuperación rápida cuando se buscan datos específicamente por su clave. Por otro lado, una base de datos relacional almacena los datos en tablas con JOINs que vinculan los datos relacionados. Este modelo ofrece el mejor rendimiento para las consultas que necesitan extraer datos de varias colecciones.


Ventajas de usar Valkey

Valkey combina velocidad con la flexibilidad, la escalabilidad y la resiliencia necesarias para las cargas de trabajo exigentes.

Base de datos en memoria de alta velocidad

Al almacenar los datos principalmente en la RAM en lugar de en discos, Valkey ofrece un rendimiento increíblemente alto y una latencia baja, lo que lo hace muy adecuado para aplicaciones en las que la velocidad es primordial.

Código abierto

Como proyecto de código abierto, Valkey se beneficia de las contribuciones de la comunidad y de la flexibilidad para integrarse y personalizarse sin restricciones de licencia.


Alta disponibilidad

Valkey admite la replicación de instancia maestras para la conmutación por error automática y la redundancia de datos, lo que minimiza el tiempo de inactividad y ofrece un servicio continuo.

Persistencia de datos

Aunque es principalmente una base de datos en memoria, Valkey ofrece opciones de persistencia para evitar la pérdida de datos. Puede guardar datos en el disco mediante instantáneas de la base de datos de Redis (RDB) y registros de archivos de solo agregación (AOF) para asegurar la durabilidad de los datos incluso después de reinicios.


Escalado horizontal fluido

Valkey se ha diseñado para distribuir datos de forma eficiente entre varios nodos y clústeres. Esto significa que puedes hacer un escalado horizontal para gestionar el aumento del tráfico sin que el rendimiento se vea afectado.


Comunicación en tiempo real

Valkey ofrece un sistema de mensajería Pub/Sub que permite la comunicación en tiempo real entre varias aplicaciones o diferentes partes de una misma aplicación. Esto puede permitir el uso de funciones como el chat en directo y los feeds de datos en tiempo real.


Casos prácticos habituales de Valkey

Los almacenes de datos en memoria, como Valkey, son especialmente adecuados para aplicaciones y funciones que dependen de una latencia extremadamente baja. Por ejemplo:

  • Almacenamiento en caché: Valkey puede actuar como una capa de caché de alta velocidad por delante de bases de datos más lentas basadas en disco. Los datos a los que se accede con frecuencia se pueden almacenar en Valkey, lo que reduce significativamente la carga en la base de datos principal y acelera los tiempos de respuesta.
  • Colas de mensajes: las funciones de Pub/Sub de Valkey lo convierten en una excelente opción como agente de mensajería. Se puede usar para facilitar la comunicación en tiempo real entre diferentes servicios o microservicios, lo que resulta útil en casos como aplicaciones de chat y notificaciones.
  • Analíticas en tiempo real: la velocidad de Valkey lo convierte en una opción ideal para aplicaciones que necesitan procesar y analizar datos en tiempo real, como los sistemas de seguimiento de paquetes, las aplicaciones de navegación o las clasificaciones de videojuegos.
  • Almacenamiento de sesiones: para gestionar las sesiones de los usuarios en aplicaciones web, como sitios de comercio electrónico o redes sociales, es necesario acceder rápidamente a las preferencias de los usuarios, al estado de inicio de sesión y al contenido del carrito de la compra. Valkey proporciona una forma rápida y fiable de almacenar y recuperar estos datos de sesión.
  • Aprendizaje automático: la baja latencia y las funciones de búsqueda vectorial de Valkey también la convierten en una base de datos potente para aplicaciones que usan aprendizaje automático. Puedes almacenar y buscar rápidamente incrustaciones de vectores, que son representaciones numéricas de datos como texto o imágenes, para realizar búsquedas complejas de similitudes. Esto se puede usar para sugerir productos, artículos o contenido multimedia similares a los usuarios en tiempo real.

Valkey frente a Redis

Valkey surgió inicialmente como una bifurcación de Redis 7.2, lo que significa que partió del mismo código base y comparte algunas características y funcionalidades fundamentales. Al igual que Valkey, Redis es un almacén de datos de pares clave-valor en memoria que ofrece un alto rendimiento y admite una amplia variedad de estructuras de datos. Ambos son conocidos por su alta disponibilidad y escalabilidad.

La principal diferencia es que Valkey es de código abierto y se distribuye bajo una licencia de BSD permisiva, por lo que los desarrolladores pueden usar, modificar y contribuir al software libremente.

En el 2024, se creó Valkey en respuesta al cambio de Redis Inc. a una licencia de "código disponible" más restrictiva. Para mantener una alternativa de código abierto para la comunidad, varios colaboradores principales de Redis se unieron y lanzaron Valkey, que se basa en la última versión de código abierto de Redis.

Valkey se guía por un enfoque de desarrollo comunitario y colaborativo, en el que la hoja de ruta y las nuevas funciones las deciden los miembros colaboradores del proyecto de la Linux Foundation, con contribuciones de los principales proveedores de servicios en la nube, incluido Google Cloud.

Desde Valkey 8.0, se han hecho mejoras importantes en el motor de Valkey, haciendo especial hincapié en la optimización de la búsqueda vectorial, la gestión de clústeres y la ejecución de comandos con subproceso múltiple, es decir, la capacidad de procesar comandos en paralelo en varios núcleos de CPU.

Gestiona tu despliegue de Valkey con Google Cloud

Para quienes quieran un control más granular, una mayor personalización o configuraciones de despliegue específicas, Valkey se puede desplegar manualmente en la infraestructura de computación de Google Cloud. Este método te ofrece una supervisión completa del entorno.

  • Compute Engine (VMs): lanza instancias de Google Compute Engine (VMs) e instala el servidor de código abierto Valkey directamente. Esto proporciona una autonomía total sobre la configuración, los parámetros de escalado y el sistema operativo subyacente.
  • Google Kubernetes Engine (GKE): Valkey se puede gestionar fácilmente en contenedores con Docker y desplegar como un pod o una aplicación con reconocimiento del estado en un clúster de GKE. Este puede ser un enfoque adecuado para aplicaciones que ya utilizan Kubernetes, ya que ofrece funciones de orquestación sólidas y avanzadas.


Obtén un servicio totalmente gestionado con Google Cloud Memorystore for Valkey

Memorystore for Valkey es un servicio totalmente gestionado que proporciona un servicio de Valkey de alto rendimiento, alta disponibilidad y escalable en la nube.

Ofrece las ventajas de una base de datos en memoria sin la carga operativa y financiera que supone gestionar la infraestructura subyacente.

Google Cloud se encarga de la carga de trabajo administrativa, como la aplicación de parches, la seguridad y el escalado, para que puedas centrarte en crear aplicaciones con datos en tiempo real.

  • Gestión completa: Google se encarga de la sobrecarga operativa que supone gestionar instancias de Valkey, incluidos el aprovisionamiento, la aplicación de parches y la conmutación por error.
  • Alto rendimiento: Memorystore for Valkey aprovecha la infraestructura de Google Cloud para ofrecer la baja latencia y el alto rendimiento que necesitan las aplicaciones exigentes en tiempo real, con acceso a los datos en menos de un milisegundo.
  • Alta disponibilidad: Memorystore replica automáticamente los datos en varias zonas, lo que proporciona un acuerdo de nivel de servicio de hasta el 99,99 %.
  • Escalabilidad: Memorystore ofrece un escalado fluido de las instancias de Valkey sin periodos de inactividad para satisfacer las demandas cambiantes de tu aplicación.
  • Seguridad: Memorystore está protegido con sólidas funciones de seguridad, como la conectividad con la nube privada virtual (VPC), la monitorización las 24 horas y la gestión de identidades y accesos.
  • Idoneidad para aplicaciones de IA: Memorystore for Valkey admite la búsqueda vectorial del vecino más cercano aproximado (ANN) y la búsqueda vectorial del vecino más cercano exacto (KNN), lo que lo convierte en un almacén de datos de baja latencia ideal para la IA generativa.

Da el siguiente paso con Memorystore

Empieza a crear en Google Cloud con 300 USD en crédito.

Google Cloud