¿Qué es Redis?

Redis es un almacén de datos que se utiliza como base de datos y caché para las aplicaciones que requieren una baja latencia de datos. Valkey es una base de datos de código abierto que se ha derivado de Redis. Como los datos se almacenan en la memoria (lo que evita el acceso lento al disco), se consigue una latencia de datos de microsegundos.

Descubre cómo Memorystore for Redis, Memorystore for Redis Cluster y Memorystore for Valkey de Google Cloud proporcionan un servicio de base de datos en memoria escalable, seguro y de alta disponibilidad para tus cargas de trabajo.

¿Empezamos? Los nuevos clientes reciben 300 $ en crédito gratis para utilizarlo en Memorystore.

¿Qué es la latencia de los datos?

La latencia de los datos es el tiempo que transcurre entre los eventos de datos, como el tiempo entre la generación y la disponibilidad de una consulta o el tiempo entre la consulta y la entrega a la aplicación.

La latencia suele medirse en milisegundos. Sin embargo, las aplicaciones y los análisis en tiempo real requieren una latencia lo más baja posible y se benefician de los tiempos de latencia de microsegundos que ofrecen las bases de datos en memoria, como Redis.

¿Qué es Valkey?

Valkey es una base de datos de código abierto que es una bifurcación de Redis. Se creó después de que Redis Inc., que solía distribuir Redis con una licencia de software libre, adoptara una licencia de "código disponible" para Redis en el 2024. Para mantener una alternativa de código abierto, varios miembros de la comunidad de Redis lanzaron Valkey, que se basa en la última versión de código abierto de Redis. Por lo general, la información técnica sobre Redis que se incluye en esta página también se aplica a Valkey.

Redis es ideal para casos prácticos con baja latencia

La estructura de una base de datos tiene un impacto significativo en la latencia de los datos. Redis es una base de datos NoSQL. Las bases de datos NoSQL son bases de datos no relacionales que almacenan datos en una variedad de modelos de datos, como documentos, pares clave-valor, gráficos y formatos de columnas. Son flexibles, pueden gestionar grandes conjuntos de datos sin estructurar y están diseñados para hacer consultas de búsqueda rápidas. Además, Redis es una base de datos en memoria, lo que significa que puede ofrecer lecturas y escrituras con baja latencia. Para las aplicaciones que requieren una latencia baja, lo mejor es usar una base de datos NoSQL en memoria, como Redis o Valkey.

Ventajas de Redis

Las bases de datos Redis son:

  • Rápidas. Las bases de datos en memoria no requieren acceso al disco, por lo que la latencia se reduce de milisegundos (ms) a microsegundos (μs).
  • Flexibles. Las bases de datos NoSQL almacenan datos sin un esquema fijo, y las bases de datos Redis heredan esta ventaja de flexibilidad.
  • Escalables. La estructura de una base de datos Redis implica dividir y distribuir los datos en varias bases de datos o máquinas, un proceso conocido como "fragmentación" que permite la escalabilidad horizontal.
  • Sencillas. Redis permite a los desarrolladores escribir código potencialmente complejo en menos líneas, por lo que es accesible para que los usuarios nuevos lo aprendan y lo usen.
  • Alta disponibilidad. Se ofrece la conmutación por error automática, por lo que las aplicaciones siguen funcionando incluso en caso de fallos.
  • De código abierto. Las versiones antiguas de Redis y todas las versiones de Valkey son de código abierto, lo que significa que puedes usar esas versiones en tus aplicaciones sin coste de licencia y con total flexibilidad de implementación. Las versiones más recientes de Redis se ofrecen en función de la disponibilidad de los recursos y es posible que requieran una licencia.

Casos prácticos de Redis

Las bases de datos en memoria, como Redis, son muy valiosas en las aplicaciones que requieren una latencia mínima. Estos son algunos ejemplos:

Chat y mensajes

Una base de datos en memoria es ideal para aplicaciones de chat y mensajería con mucho tráfico, ya que las altas velocidades de lectura y escritura permiten actualizar los mensajes en tiempo real.

Streaming

El almacenamiento en memoria es ideal para aplicaciones de streaming en tiempo real que necesitan escalar a un gran número de usuarios.



Analíticas en tiempo real

Los tiempos de respuesta de menos de un milisegundo permiten un procesamiento de analíticas rápido, ideal para casos prácticos como las recomendaciones de productos.



Tablas de clasificación de videojuegos

Una base de datos en memoria permite realizar las actualizaciones en tiempo real necesarias para mantener una tabla de clasificación en tiempo real. Aprende a crear una tabla de clasificación de un juego con Memorystore para Redis.


Geoespacial

En el caso de las aplicaciones geoespaciales, como la navegación, las actualizaciones de la información en tiempo real son fundamentales.



Personalización

Las experiencias de usuario personalizadas dependen de la gestión de grandes cantidades de datos con consultas de menos de un milisegundo. Redis también puede almacenar en caché la información de los usuarios y los metadatos de las sesiones.



¿Servicio autogestionado o gestionado?

Las bases de datos gestionadas son servicios basados en la nube en los que el proveedor de servicios en la nube se encarga del mantenimiento, la seguridad, las actualizaciones y el aprovisionamiento. Esto contrasta con una base de datos autogestionada, donde tus desarrolladores o tu equipo de TI son responsables de estas tareas.

Puedes optar por gestionar tú mismo la implementación de Redis o Valkey. Sin embargo, hay limitaciones y compensaciones que pueden causar complicaciones si la base de datos no se gestiona correctamente. Por ejemplo, la ampliación es más complicada con una base de datos Redis autogestionada, ya que tendrás que añadir servidores manualmente.

Un servicio gestionado basado en la nube te ofrece un menor coste y tranquilidad, ya que te ahorras la carga de gestionar tu despliegue. Una solución totalmente gestionada de Redis o Valkey ofrece escalabilidad, disponibilidad y fiabilidad sin preocupaciones, por lo que los desarrolladores pueden dedicar su tiempo a tareas más estratégicas, como modelar datos, optimizar el rendimiento y extraer valor de los datos.

Ve un paso más allá

Empieza a crear en Google Cloud con 300 USD en crédito gratis y más de 20 productos Always Free.

Google Cloud