¿Qué es Valkey?

Valkey es un almacén de datos de par clave-valor en memoria que se puede usar para una variedad de necesidades de creación de aplicaciones, incluidos el almacenamiento en caché, las colas de mensajes y los almacenes de sesiones. También puedes usarla como una base de datos principal en la memoria, con datos almacenados en la RAM para velocidades de lectura y escritura rápidas.

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

Valkey usa el método simple de pares clave-valor para el almacenamiento de datos, en el que un valor se asigna a un identificador único: la clave. Esto permite búsquedas increíblemente rápidas cuando se recuperan datos directamente por su clave. También ofrece la flexibilidad de adaptarse a una variedad de tipos de datos, incluidas cadenas, conjuntos, listas, hashes y flujos.

¿Quieres pasar directamente a configurar un clúster de Valkey? Obtén más información para empezar a usar Memorystore.

Conclusiones principales

Valkey es un almacén de datos de pares clave-valor de código abierto. Es conocido por 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. Aquí tienes una descripción general rápida de las funciones clave de Valkey:

  • Almacén de datos en memoria: Almacena principalmente datos en la RAM para lograr velocidades de lectura y escritura ultrarrápidas.
  • Método de par clave-valor: Almacena datos en pares clave-valor, lo que ofrece flexibilidad para una variedad de tipos de datos y búsquedas rápidas.
  • Alternativa a Redis: Valkey evolucionó 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 variedad de tipos de datos, incluidos strings, 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 razón principal para usar una base de datos en la 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 que Valkey logre una latencia extremadamente baja, a menudo en el rango de menos de un milisegundo. Esta velocidad es fundamental para casos de uso como el almacenamiento en caché en tiempo real y el análisis de datos en rápido movimiento, en los que 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 pares clave-valor como Valkey almacena datos como una colección de claves únicas, cada una emparejada con un solo valor. Este modelo simple ofrece una recuperación rápida cuando se buscan datos específicamente por su clave. Por otro lado, una base de datos relacional almacena datos en tablas con JOIN que vinculan datos relacionados. Este modelo ofrece el mejor rendimiento para las consultas que necesitan extraer datos de varias colecciones.


Beneficios de usar Valkey

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

Base de datos en memoria de alta velocidad

Al almacenar datos principalmente en la RAM en lugar de en discos, Valkey ofrece una capacidad de procesamiento increíblemente alta y una latencia baja, lo que lo hace 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 instancia principal-réplica 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 proporciona opciones de persistencia para evitar la pérdida de datos. Puede guardar datos en el disco a través de instantáneas RDB (base de datos de Redis) y registros AOF (archivo de solo anexión) para garantizar la durabilidad de los datos incluso después de reinicios.


Escalamiento horizontal sin interrupciones

Valkey está diseñado para distribuir datos de manera eficiente en varios nodos y clústeres. Esto significa que puedes escalar horizontalmente con facilidad para manejar el aumento del tráfico sin que disminuya el rendimiento.


Comunicación en tiempo real

Valkey ofrece un sistema de mensajería Pub/Sub, lo que permite la comunicación en tiempo real entre varias aplicaciones o diferentes partes de una sola aplicación. Esto puede admitir funciones como chat en vivo y feeds de datos en tiempo real.


Casos de uso comunes de Valkey

Los almacenes de datos en memoria, como Valkey, son especialmente adecuados para aplicaciones y funciones que dependen de una latencia extremadamente baja. Estas pueden incluir los siguientes aspectos:

  • Almacenamiento en caché: Valkey puede actuar como una capa de caché de alta velocidad frente a bases de datos más lentas basadas en disco. Los datos a los que se accede con frecuencia pueden almacenarse en Valkey, lo que reduce significativamente la carga en la base de datos principal y acelera los tiempos de respuesta.
  • Colas de mensajes: Las capacidades de Pub/Sub de Valkey lo convierten en una excelente opción como agente de mensajes. Se puede usar para facilitar la comunicación en tiempo real entre diferentes servicios o microservicios, lo que admite casos de uso como aplicaciones de chat y notificaciones.
  • Analítica en tiempo real: Para las aplicaciones que necesitan procesar y analizar datos en tiempo real, como los rastreadores de paquetes, las apps de navegación o las tablas de clasificación de videojuegos, Valkey es una opción ideal debido a su velocidad.
  • Almacenes de sesiones: La administración de sesiones de usuarios en aplicaciones web, como sitios de comercio electrónico o plataformas de redes sociales, requiere un acceso rápido a las preferencias de los usuarios, el estado de acceso y el contenido del carrito de compras. Valkey proporciona una forma rápida y confiable de almacenar y recuperar estos datos de sesión.
  • Aprendizaje automático: La baja latencia y las capacidades de búsqueda vectorial de Valkey también lo convierten en una base de datos potente para aplicaciones que usan aprendizaje automático. Puedes almacenar y buscar rápidamente embeddings de vectores (las representaciones numéricas de datos como texto o imágenes) para realizar búsquedas de similitud complejas. Esto se puede usar para sugerir productos, artículos o contenido multimedia similares a los usuarios en tiempo real.

Valkey en comparación con Redis

Valkey se bifurcó inicialmente a partir de Redis 7.2, lo que significa que comenzó con la misma base de código y comparte algunas características y funcionalidades fundamentales. Al igual que Valkey, Redis es un almacén de datos de par clave-valor en la memoria que ofrece un alto rendimiento y admite una variedad de estructuras de datos. Ambos son conocidos por su alta disponibilidad y escalabilidad.

La diferencia principal es que Valkey es de código abierto y se lanzó con una licencia BSD permisiva, por lo que los desarrolladores pueden usar, modificar y hacer contribuciones al software.

En 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 basado en la versión final de código abierto de Redis.

Valkey se basa en un enfoque de desarrollo colaborativo y dirigido por la comunidad, en el que la hoja de ruta y las nuevas funciones son decididas por los miembros contribuyentes del proyecto de Linux Foundation, con contribuciones de los principales proveedores de servicios en la nube, incluido Google Cloud.

Desde Valkey 8.0, se realizaron mejoras importantes en el motor de Valkey, que se enfocaron en mejoras de búsqueda vectorial, administración de clústeres mejorada y ejecución de comandos de múltiples subprocesos, es decir, la capacidad de procesar comandos en paralelo en varios núcleos de CPU.

Autoadministra tu implementación de Valkey con Google Cloud

Para quienes desean un control más detallado, personalización o configuraciones de implementación específicas, Valkey puede implementarse manualmente en la infraestructura de procesamiento de Google Cloud. Este método te ofrece una supervisión completa del entorno.

  • Compute Engine (VMs): Inicia instancias de Google Compute Engine (VMs) y, luego, instala el servidor de código abierto Valkey directamente. Esto proporciona autonomía total sobre la configuración, los parámetros de escalamiento y el sistema operativo subyacente.
  • Google Kubernetes Engine (GKE): Valkey se puede alojar en contenedores fácilmente con Docker y, luego, implementar como un Pod o una aplicación con estado en un clúster de GKE. Este puede ser un enfoque adecuado para las aplicaciones que ya utilizan Kubernetes, ya que ofrece capacidades de organización sólidas y avanzadas.


Obtén un servicio completamente administrado con Memorystore for Valkey de Google Cloud

Memorystore for Valkey es un servicio completamente administrado que proporciona un servicio de Valkey de alto rendimiento, alta disponibilidad y escalabilidad en la nube.

Proporciona los beneficios de una base de datos en memoria sin la carga operativa y financiera de administrar la infraestructura subyacente.

Google Cloud se encarga de la carga de trabajo administrativa, incluidos los parches, la seguridad y el escalamiento, para que puedas enfocarte en crear aplicaciones con datos en tiempo real.

  • Completamente administrado: Google se encarga de la sobrecarga operativa de administrar instancias de Valkey, incluido el aprovisionamiento, la aplicación de parches y la conmutación por error.
  • Alto rendimiento: Con la infraestructura de Google Cloud, Memorystore for Valkey ofrece la baja latencia y la alta capacidad de procesamiento que requieren las aplicaciones exigentes en tiempo real, con acceso a datos en menos de un milisegundo.
  • Alta disponibilidad: Memorystore replica automáticamente los datos en varias zonas, lo que proporciona un ANS de hasta el 99.99%.
  • Escalable: Memorystore ofrece un escalamiento fluido de las instancias de Valkey sin tiempo de inactividad para satisfacer las demandas cambiantes de tu aplicación.
  • Seguro: Memorystore está protegido con funciones de seguridad sólidas, como conectividad de nube privada virtual (VPC), supervisión las 24 horas, todos los días y Identity and Access Management (IAM).
  • Perfecto para aplicaciones de IA: Memorystore for Valkey admite la búsqueda de vectores de vecino más cercano aproximado (ANN) y la búsqueda de vectores de vecino más cercano exacto (KNN), lo que lo convierte en un almacén de datos ideal de baja latencia para la IA generativa.

Da el siguiente paso con Memorystore

Comienza a desarrollar en Google Cloud con el crédito gratis de $300.

Google Cloud