2010-09-10 16 views
16

Pregunta simple, ¿podría usar redis en lugar de mysql para todo tipo de aplicaciones web: redes sociales, servicios de geolocalización, etc.?¿Puede redis reemplazar completamente a mysql?

+1

Usted * podría *, la pregunta es * ¿debe * usted? En mi opinión, la respuesta probablemente no sea para todo. –

+4

Me gusta la idea de tener un sistema de base de datos. –

Respuesta

11

Nada es imposible en TI. Pero algunas cosas pueden ser extremadamente complicadas.

El uso del almacenamiento de clave-valor para cosas como la búsqueda de texto completo puede ser extremadamente doloroso.

Además, por lo que veo, falta soporte para grandes bases de datos en clúster: así en MySQL no tiene problemas si crece más de 100s de Gb en la base de datos, y en Redis ... Bueno, requerirá más esfuerzo :-)

Así que úselo para lo que fue desarrollado, almacenando cosas simples que solo necesitan ser recuperadas por id.

+2

¿cómo haría algo así como obtener todas las claves comenzando por el usuario ... donde el valor es menor que 5? –

+0

@Travis Glines, bueno, es de código abierto, por lo que puede implementarlo :-D – BarsMonster

+1

Travis Glines: para poder hacer que la consulta almacene sus datos en un formato que le permita hacerlo (un conjunto ordenado debería funcionar para ese fin) . si desea poder realizar consultas generales, use una base de datos relacional. – rpetrich

5

ACID cumplimiento es una necesidad, si la integridad de los datos es importante. Registros médicos y transacciones financieras serían un ejemplo. La mayoría de las soluciones NoSQL, incluida Redis, son rápidas porque cambian las propiedades ACID por la velocidad.

En ocasiones, los datos son simplemente más convenientes para representar usando una base de datos relacional y las consultas son más simples.

Además, gracias a las relaciones y restricciones externas en las bases de datos relacionales, es más probable que sus datos sean correctos. Mantener los datos sincronizados en soluciones NoSQL es más difícil.

Entonces, no, no creo que podamos hablar de un reemplazo completo. Son herramientas diferentes para diferentes trabajos. No cambiaría mi martillo por un destornillador.

Cuestiones relacionadas