0% encontró este documento útil (0 votos)
79 vistas13 páginas

Ventajas y Usos del Gestor Redis

Este documento presenta información sobre el gestor de base de datos Redis. Redis es un sistema de base de datos en memoria de código abierto que ofrece tiempos de respuesta ultrarrápidos mediante el uso de estructuras de datos flexibles almacenadas en memoria. Redis se utiliza comúnmente para caché, colas de mensajes, almacenamiento de sesiones y otros usos que requieren altas velocidades de acceso a los datos. El documento describe el funcionamiento, características, ventajas y aplicaciones de Redis.

Cargado por

luis
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
79 vistas13 páginas

Ventajas y Usos del Gestor Redis

Este documento presenta información sobre el gestor de base de datos Redis. Redis es un sistema de base de datos en memoria de código abierto que ofrece tiempos de respuesta ultrarrápidos mediante el uso de estructuras de datos flexibles almacenadas en memoria. Redis se utiliza comúnmente para caché, colas de mensajes, almacenamiento de sesiones y otros usos que requieren altas velocidades de acceso a los datos. El documento describe el funcionamiento, características, ventajas y aplicaciones de Redis.

Cargado por

luis
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

GESTOR DE

BASE DE
DATOS:
REDIS

INTEGRANTES:
Luis Manuel Guillen Ccuito
Leydi Sharely Arone Incahuaman
Anais Flor Puma Huamanga

ABANCAY – PERU
2022
Índice
1. INTRODUCCIÓN .......................................................................................................................... 1
1.1 DEFINICIÓN .......................................................................................................................... 2
2. FUNCIONAMIENTO DE REDIS.................................................................................................. 3
3. CARACTERÍSTICAS .................................................................................................................... 4
3.1 Estructuras de datos flexibles .................................................................................................. 4
3.2 Replicación y persistencia....................................................................................................... 4
3.3 Modelo abierto ........................................................................................................................ 4
3.4 Almacén de datos en memoria ................................................................................................ 5
4. EMPLEABILIDAD DE REDIS ..................................................................................................... 6
4.1 Almacenamiento en caché ...................................................................................................... 6
4.2 Chat, mensajería y colas.......................................................................................................... 6
4.3 Tablas de clasificación de videojuegos ................................................................................... 6
4.4 Almacén de sesiones ............................................................................................................... 7
4.5 Streaming completo de contenido multimedia........................................................................ 7
4.6 Análisis geoespacial ................................................................................................................ 7
4.7 Machine learning .................................................................................................................... 7
5. ¿POR QUÉ UTILIZAR EL GESTOR DE BASE DE DATOS REDIS? ........................................ 8
5.1 Ventajas de Redis .................................................................................................................... 8
5.2 Desventajas de Redis .............................................................................................................. 9
6. CONCLUSIONES .......................................................................................................................... 9
BIBLIOGRAFÍA .................................................................................................................................. 10
1. INTRODUCCIÓN

El gestor de base de datos es un sistema de software que se encarga de gestionar


datos, funciona como un motor que permite a los usuarios a acceder a la información de una
base de datos. En este documento se mencionará a detalle a gestor de base de datos REDIS,
que almacena datos en código abierto ofreciendo tiempos de respuesta por debajo del
milisegundo. Esto porque incorpora un conjunto de estructuras de datos de memoria
versátiles que permite crear con facilidad diversas aplicaciones personalizadas.

Asimismo, presentar que lo objetivos de este trabajo son dar a conocer los usos y
funciones de Redis, así como estar al tanto de sus utilidades, informando a todo lo que se
pueda conocer sobre el gestor de base de datos mencionado. He de mencionar que, tocamos
este tema con total intención de conocer más sobre los diferentes bases de datos. A lo largo
del avance del trabajo tomamos interés en el tema, por ello se tomará el esfuerzo
correspondiente para tener un trabajo final adecuado.

Por otro lado, el contenido del trabajo serán los siguientes; en primer lugar, se tomará
en cuenta la presentación que dará a conocer un poco del tema que se avanzará en toda la
monografía. Siguientemente se tendrá una definición que contendrá detalles a fondo de los
que es Redis y su desarrollo en el tiempo. Luego se hablará de la funciones, características,
empleabilidad, ventajas y desventajas del tema principal haciendo uso de citas para
fundamentar la información de manera precisa. Finalmente, tendrá la conclusión donde se
presentará el resultado de todo lo trabajado con anterioridad.

1
1.1 DEFINICIÓN

Redis es como se mencionó anteriormente un gestor de base de datos. “La mejor


definición que se me ocurre de Redis es que se trata de “un servidor de caché de memoria que
conoce la estructura de los datos que alberga” o dicho de otra forma, “una caché de datos con
estructura” (Pereira, 2022) Esto logra un rápido acceso de información de la base de datos, de
esta manea ayuda a los programadores que requieren una respuesta a tiempo real del usuario.
Como, por ejemplo, videojuegos, streamings, entre otros.

Por otro lado, mencionar que Redis fue iniciado el 2009 por Salvatore Sanfilippo con
el objetivo de mejorar los tiempos de respuesta de un producto llamado LLOGG. “Pronto fue
ganando popularidad, hasta que en Marzo del 2012 la empresa VMWare contrató a Salvatore
para trabajar a tiempo completo en Redis.” (Pereira M., 2022) De este modo, fue avanzando
hasta que en “VMWare contrató también a uno de los principales desarrolladores de Redis,
Pieter Noordhuis.” (Pereira M., 2022) Así Redis se fue desarrollando, teniendo nuevas
funciones mejorando las experiencias del usuario. Finalmente, entre 2013 y 2015 fue
patrocinado por Pivotal Software.

Asimismo, Redis se basa en la estructura datos de tipo diccionario o tabla de hashes


que relaciona una llave a un contenido de almacenamiento en un índice. La principal
diferencia entre Redis y otros sistemas similares es que los valores no están limitados a ser de
tipo string, otros tipos de datos están soportados. Esto determina los comandos que son
disponibles, de igual manera Redis soporta operaciones atómicas de alto nivel del lado del
servidor, como inserciones, unions, y diferencias entre sets y listas ordenadas.

2
2. FUNCIONAMIENTO DE REDIS

Este recurso es un potente sistema de base de datos en memoria (IMDb). “Su


funcionamiento es diferente a las bases de datos que almacenan la información en discos o
SSD. Gracias a que Redis no necesita acceder a recursos secundarios, como un disco, para
almacenar la información, el proceso se vuelve más rápido” (Peris, 2016). Todo ocurre en
cuestión de milisegundos y con el mínimo retraso posible.

La estructura de Redis está formada por datos versátiles, de alta disponibilidad, dado
que es una base de datos en memoria. Además, “incluye elementos geoespaciales,
transacciones, scripts Lua, soporte de clúster y persistencia en disco. Gracias a esto, las
aplicaciones en escala se pueden desarrollar de manera simplificada en tiempo real” (Paris,
2016).

Figura 1
Estructura del funcionamiento de Redis

Nota: la figura 1 muestra la estructura del funcionamiento del Gestor de datos Redis.

3
3. CARACTERÍSTICAS

Redis cuenta con numerosas características interesantes. Cada una les otorga ciertos
beneficios respecto a otros modelos. Aquí te detallamos algunos de ellos:

3.1 Estructuras de datos flexibles

A diferencia de cualquier otra Gestor de datos de valor simplista con estructura


limitada, Redis es más amplio, ya que cuenta con las siguientes características:

Mapas de bits para operaciones en este nivel.

Cadenas con datos de textos o binarios.

Tablas de hashes, ideal para almacenar valores y lista de campos.

HyperLogLogs, perfecta para estimar valores únicos en conjunto de datos.

Listas para coleccionar datos en cadenas.

Conjuntos ordenados o desordenados, para unirse, intercalarse y diferenciarse de

otros.

3.2 Replicación y persistencia

Redis, “cuenta con un sistema de replicación y persistencia que mejora el rendimiento


de lectura, ya que las solicitudes se pueden repartir entre varios servidores” (Proxima, 2021).
Esto es posible gracias a su arquitectura de servidor principal compatible con la replicación
asíncrona. Es decir, los datos almacenados se replican en otros servidores de réplicas.

3.3 Modelo abierto

Actualmente, “Redis es un sistema Open Source, que tiene el apoyo de una gran
comunidad” (Proxima, 2021). Esto le otorga una gran capacidad de recursos en proveedores y
tecnología. Además, admite formatos de datos abiertos y tiene una gran cantidad de clientes.

4
3.4 Almacén de datos en memoria

Como ya mencionamos previamente, “Redis es una base de datos en memoria debido


a que los datos se guardan en la memoria principal del servidor” (Proxima, 2021). Esta
característica le permite diferenciarse de otros sistemas de bases de datos como Cassandra o
MongoDB, que almacenan los valores en discos o SSD.

Gracias a este tipo de estructura, Redis accede a los valores rápidamente, evitando
retrasos. El sistema de Redis admite órdenes de mayor magnitud, con operaciones y tiempos
más veloces. Como resultado final, se obtienen millones de operaciones de lectura y escritura
ejecutadas en milisegundos.

Figura 2
Estructura de almacenamiento y replica de Redis

Nota: la figura 2 muestra la estructura de la réplica y almacenamiento de Redis.

5
4. EMPLEABILIDAD DE REDIS

Redis es un gestor que ha ido mejorando desde sus inicios, por lo que son varios los
usos que se le puede dar. Todo esto posible porque Redis proporciona un rápido
almacenamiento de datos para casos que se necesita procesamiento veloz y en tiempo real de
los datos. Desde sencillos casos prácticos de almacenamiento caché hasta estadísticas a
tiempo real (Google Cloud, 2022). Entre estos usos esta:

4.1 Almacenamiento en caché

Esta es una parte fundamental de las arquitecturas de la aplicación moderna. Pues


según Amazon ElastiCache (2022) “Redis es una excelente opción para implementar una
caché en memoria de alta disponibilidad a fin de reducir la latencia de acceso a los datos,
incrementar la capacidad de procesamiento y aliviar la carga de la aplicación.” Así se puede
suministrar elementos solicitados frecuentemente en una velocidad inferiores al milisegundo
y permite ajustar la escala con facilidad. La administración de sesiones, las consultas de
acceso frecuente, las secuencias de comandos y las páginas son ejemplos comunes de
almacenamiento en caché.

4.2 Chat, mensajería y colas

Asimismo, Redis da mayor facilidad de comunicación en el servidos y cliente, dando


grandes oportunidades de mejoras en el servicio respectivo. Esto debido a que “Redis admite
tareas de publicación y suscripción con correspondencia de patrones y una variedad de
estructuras de datos, como listas, conjuntos ordenados y hashes.” (Amazon ElastiCache,
2022) Con estas posibilidades se pueden tener salas de chat de gran rendimiento, streaming a
tiempo real, actividades de redes sociales, etc. Del mismo modo, la estructura de datos de
lista facilita la implementación de cola liviana. Ofreciendo capacidades de bloqueo que
resultan adecuadas para varias aplicaciones que requieren comunicación con el cliente.

4.3 Tablas de clasificación de videojuegos

Para los jugadores resulta atractivo el hecho de tener una tabla de clasificación en la
cual ver sus estadísticas u otros datos. Pues quieren ver su progreso y el lugar que ocupan en
la clasificación a tiempo real. Puesto que “El hash de Redis agiliza y facilita el
almacenamiento y el acceso a los datos del perfil.” (Google Cloud, 2022) Se facilita el
mantenimiento de una lista ordenada de puntuaciones y proporciona elementos únicos. Esta

6
por esta razón que es de las opciones favoritas los desarrolladores de videojuegos que
necesitan crear tablas de clasificación.

4.4 Almacén de sesiones

El almacén de Redis tiene una memoria de alto nivel, por lo que es una gran opción
para aquellos que deseen almacenar y administrar datos de sesiones para aplicaciones a escala
de Internet. Pues con la velocidad y resiliencias necesarias de Redis se puede administrar
perfiles de usuario, credenciales, estados de sesiones y personificación específica para los
usuarios.

4.5 Streaming completo de contenido multimedia

Redis ofrece un almacén de datos en memoria y ágil para respaldar casos de uso de
streaming en directo. Esto es de gran apoyo para realizar videos a millones de usuarios con
aplicaciones móviles o de escritorio. Pues con el almacenamiento de metadatos de Redis se
puede utilizar para perfiles de usuarios e historial de visualizaciones.

4.6 Análisis geoespacial

Asimismo, Redis posea una memoria capas de administrar datos geoespaciales. Como
Amazon ElastiCache (2022) nos comentan “Los comandos como GEOADD, GEODIST,
GEORADIUS y GEORADIUSBYMEMBER utilizados para almacenar, procesar y analizar
datos geoespaciales en tiempo real facilitan y agilizan las tareas con Redis” De esta manera,
se puede usar Redis para agregar características basadas en ubicación geográfica, como
tiempo de conducción, distancia recorrida, etc.

4.7 Machine learning

Es sabido que para que el machine Learning procese rápidamente los datos es
necesario una capacidad de almacenamiento de datos de gran calidad, además que sea de una
velocidad considerable con el propósito de que la información pueda procesarse lo más
rápido posible. Estas condiciones son cumplidas por Redis que proporciona un almacén de
datos en memoria para crear, entrenar e implementar rápidamente modelos de Machine
Learning.

7
5. ¿POR QUÉ UTILIZAR EL GESTOR DE BASE DE DATOS
REDIS?

Existen varios gestores de datos que diferentes capacidades y usos, estos pueden ser
manejados en diferentes casos. Redis también tiene grandes fortalezas por las que muchos
programadores preferirían usarlo. Sin embargo, igualmente existen desventajas, y teniendo en
cuanta estas, se debe analizar si usar o no usar este gestor de datos.

5.1 Ventajas de Redis

• Gran velocidad: Esto mayormente debido al uso de tablas hashes, como se fue
mencionando a lo largo del trabajo, una de las características de más destacables de Redis
es su gran velocidad razón por la que es elegida por los programadores.
• Persistencia en disco: Todos los datos de Redis residen en la memoria, lo que permite un
acceso a datos de baja latencia y alto rendimiento. A diferencia de las bases de datos
tradicionales, los almacenes de datos en memoria no requieren un viaje al disco, lo que
reduce la latencia del motor a microsegundos
• Sistema de replicación maestro-esclavo: Cada servidor puede tener varias réplicas, que
además de lecturas, también pueden configurarse para aceptar escrituras. Además, puede
desplegarse en contenedores usando Docker o Kubernetes.
• Estructuras de datos flexibles: A diferencia de otros almacenes de datos de clave valor
simplistas que ofrecen estructuras de datos limitadas, Redis cuenta con una amplia variedad
de estructuras de datos para satisfacer los requisitos de sus aplicaciones.
• Compatibilidad de casi cualquier lenguaje: Los desarrolladores de Redis tienen a su
disposición más de cien clientes de código abierto. Entre los lenguajes admitidos se
encuentran Java, Python, PHP, C, C++, C#, JavaScript, Node. js, Ruby, R, Go y muchos
otros.
• Simplicidad y facilidad de uso: Con Redis puede escribir menos líneas de código para
almacenar, obtener acceso y utilizar datos en sus aplicaciones. La diferencia es que los
desarrolladores que usan Redis pueden usar una estructura de comando simple en
contraposición a los lenguajes de consulta de bases de datos tradicionales.
• Replicación y persistencia: Redis utiliza una arquitectura con servidor principal y réplica
y admite la replicación asíncrona en la que los datos se replican en numerosos servidores de
réplicas. De este modo, se logra un mejor nivel de rendimiento de lectura.

8
5.2 Desventajas de Redis

• Todos los datos deben encajar en la memoria (cuando no se usa persistencia física):
Guarda todos los datos en RAM, por lo que cuando el microprocesador le pide un dato, lo
busca en la RAM sin tocar el disco duro, lo que lo hace rápido. Sin embargo, la gran
velocidad y el guardarlo en memoria RAM hace que no se pueda guardar tablas enteras ni
muchos datos.
• No hay soporte oficial para Windows: Esto puede producir problemas para algunos
usuarios, puesto que Windows es el sistema más utilizado por las personas.

6. CONCLUSIONES

En conclusión, gracias a las múltiples ventajas de Redis y a su estructura basada en


tablas de hashes, es una excelente alternativa para cualquier aplicación que necesite
almacenamiento de datos. Además, su popularidad se basa en su extraordinaria velocidad,
sencillez y flexibilidad. Incluso, su versatilidad permite asociar valores de distintos tipos; esto
le otorga capacidad para solucionar casos de todo tipo.

Redis es una excelente opción, no solo por sus tablas de hashes y estructura, sino
también, por ajustarse a numerosos requisitos de negocio. Sin duda alguna es una opción
capaz de ofrecerte resultados concretos como motor de base de datos en memoria. Esto puede
ser solo o en combinación con otras opciones relacionales o bases NoSQL.

Si se necesita atender el máximo número de solicitudes por segundo, en ProximaHost


podemos usar Redis para reducir la carga generada por los servicios. Combinarlo con el
servidor LiteSpeed, propio de Redis y con el almacenamiento cloud WordPress con AWS, y
el sitio web será más eficiente.

9
BIBLIOGRAFÍA

Proxima Blog (25 de mayo de 2021). Redis, la base de datos con almacenamiento de datos
en memoria. ProximaHost. https://proximahost.es/blog/redis-almacen-datos-memoria/

Peris L. (18 de febrero de 2016). Redis: Base de datos NoSQL. Luis Peris.
https://luisperis.com/redis/

Google Cloud (2022) Descripción general de Memorystore para Redis


https://cloud.google.com/memorystore/docs/redis/redis-overview?hl=es-419

Amazon Web Services (2022). Redis: almacén de datos en memoria. Cómo funciona y por
qué utilizarlo. AWS, Inc. https://aws.amazon.com/es/redis/

Reyes, O. A. V. (2020). MIGRACIÓN DE REDIS A RABBITMQ EN APLICACIÓN WEB DE


MANTENIMIENTO DE ENLACES ROTOS (Doctoral dissertation, Universidad de los
Llanos). https://arquisoft.github.io/slides/course1920/seminars/SemEs2-09-Redis.pdf

Blogspot.com. (2013). ¿Qué es Redis? https://cutt.ly/gMZPFNB

10

También podría gustarte