Yo ahora en un proyecto debido a las necesidades del mismo usamos MySQL (90%) + Redis (sobre todo para counters y top boards). Como experiencia personal yo NO usaría NoSQL a no ser que sea totalmente necesario. Discusiones mil, pero hay que ser práctico:
SQL o NoSQL... slides #24 a #34. Totalmente de acuerdo, que se te meta en la cabeza http://t.co/PdUanMXD0w…;)— Ricardo Galli (@gallir) April 25, 2013
Yo creo que el tema de usar o no usar NoSQL depende mucho del caso de uso. Para prototipar o tratar datos variables (imagina un formulario dinámico) es bastante útil.
En mi opinión la mejor opción es (siempre que tus datos entren en un mapa relacional) usar Postgres y ayudarse de redis para ciertas operaciones.
Yo he trabajado mucho con Redis. Sobre todo por su velocidad, versatilidad y estabilidad. Es una base de datos clave valor pero donde los valores pueden ser de ciertos tipos de estructuras de datos y para cada tipo de estructura de datos tienes una serie de comandos (ej añadir un elemento a una lista: "rpush clave-de-la-lista valor"). Tiene expiración de claves, puedes hacer comandos complejos en Lua, etc. Es muy madura y muy útil para muchos casos.
La gran pega de Redis es que opera con todos los datos en memoria. Pero también de ahí su velocidad. Por eso no se suele usar como base de datos principal, sino para caché por ejemplo. Ahora están trabajando activamente en redis-cluster que permitirá tener bases de datos fácilmente distribuibles.
No obstante yo llevo mucho tiempo usándola como base de datos principal. Pero no lo recomiendo a no ser que de verdad quieras velocidad y meter mucho tiempo hasta conocerla bien para poder hacer queries complejas.
27/04/2013 13:26
SQL o NoSQL... slides #24 a #34. Totalmente de acuerdo, que se te meta en la cabeza http://t.co/PdUanMXD0w…;)— Ricardo Galli (@gallir) April 25, 2013
27/04/2013 12:34
27/04/2013 13:39
Yo creo que el tema de usar o no usar NoSQL depende mucho del caso de uso. Para prototipar o tratar datos variables (imagina un formulario dinámico) es bastante útil.
En mi opinión la mejor opción es (siempre que tus datos entren en un mapa relacional) usar Postgres y ayudarse de redis para ciertas operaciones.
27/04/2013 13:40
30/04/2013 18:06
La gran pega de Redis es que opera con todos los datos en memoria. Pero también de ahí su velocidad. Por eso no se suele usar como base de datos principal, sino para caché por ejemplo. Ahora están trabajando activamente en redis-cluster que permitirá tener bases de datos fácilmente distribuibles.
No obstante yo llevo mucho tiempo usándola como base de datos principal. Pero no lo recomiendo a no ser que de verdad quieras velocidad y meter mucho tiempo hasta conocerla bien para poder hacer queries complejas.
28/04/2013 19:58