Saltar al contenido

¿Cuál es la desventaja de usar Redis en lugar de un RDBMS?

Después de investigar en diversos repositorios y sitios webs al final hallamos la resolución que te enseñaremos pronto.

Solución:

Hay muchos beneficios potenciales y desventajas potenciales de usar Redis en lugar de un RDBMS clásico. Son bestias muy diferentes de hecho.

Centrándonos solo en los posibles inconvenientes:

  • Redis es un almacén en memoria: todos sus datos deben caber en la memoria. RDBMS generalmente almacena los datos en discos y almacena en caché parte de los datos en la memoria. Con un RDBMS, puede administrar más datos de los que tiene en memoria. Con Redis, no puedes.

  • Redis es un servidor de estructura de datos. No hay lenguaje de consulta (solo comandos) y no hay soporte para un álgebra relacional. No puede enviar consultas ad-hoc (como puede hacerlo con SQL en un RDBMS). El desarrollador debe prever todos los accesos a los datos y se deben diseñar rutas de acceso a los datos adecuadas. Se pierde mucha flexibilidad.

  • Redis ofrece 2 opciones para la persistencia: instantáneas regulares y archivos de solo agregar. Ninguno de ellos es tan seguro como un servidor transaccional real que proporciona registro de rehacer/deshacer, suma de verificación de bloques, recuperación de un punto en el tiempo, capacidades de flashback, etc.

  • Redis solo ofrece seguridad básica (en términos de derechos de acceso) a nivel de instancia. Todos los RDBMS proporcionan listas de control de acceso por objeto detalladas (o gestión de funciones).

  • Una instancia única de Redis no es escalable. Solo se ejecuta en un núcleo de CPU en modo de subproceso único. Para obtener escalabilidad, se deben implementar e iniciar varias instancias de Redis. La distribución y el sharding se realizan en el lado del cliente (es decir, el desarrollador tiene que cuidarlos). Si los compara con una instancia única de Redis, la mayoría de los RDBMS brindan más escalabilidad (por lo general, brindan paralelismo en el nivel de conexión). Son multiprocesados ​​(Oracle, PostgreSQL, …) o multiproceso (MySQL, Microsoft SQL Server, …), aprovechando las ventajas de las máquinas multinúcleo.

Aquí, solo he descrito los principales inconvenientes, pero tenga en cuenta que también hay muchos beneficios en el uso de Redis (muy rápido, buen soporte de concurrencia, baja latencia, canalización de protocolos, bueno para implementar fácilmente patrones concurrentes optimistas, buena relación usabilidad/complejidad , excelente apoyo de Salvatore y Pieter, enfoque pragmático y sensato, …)

Para su problema específico (gráfico), le sugiero que eche un vistazo a neo4J u OrientDB, que están diseñados específicamente para almacenar datos orientados a gráficos.

valoraciones y reseñas

Te invitamos a asentar nuestra publicación dejando un comentario y puntuándolo te estamos eternamente agradecidos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *