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.
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:
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.
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.
Los almacenes de datos en memoria, como Valkey, son especialmente adecuados para aplicaciones y funciones que dependen de una latencia extremadamente baja. Por ejemplo:
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.
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.
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.