mysql - rails - gema postgresql
¿Cuál es la mejor base de datos para la aplicación Rails? (5)
Estoy desarrollando una aplicación Rails que accederá a una gran cantidad de fuentes RSS o sitios de rastreo para datos (principalmente noticias). Será algo así como Google News pero con un enfoque diferente, así que almacenaré muchas noticias (o resúmenes de noticias), las clasificaré en diferentes categorías y usaré técnicas de clasificación y recomendación.
¿Debería ir con MySQL?
¿Vale la pena usar IBM DB2 purexml para almacenar los documentos? Además, las implementaciones de búsqueda de Ruby (Ferret, Ultrasphinx y otras) no son necesarias si elijo DB2. ¿Es eso correcto?
¿Cuáles son las ventajas de PostreSQL en esto?
¿Tiene sentido usar Couch DB en este escenario?
Me gustaría elegir la mejor opción pero sin complicar demasiado la solución. Así que descarté la idea de utilizar dos soluciones de almacenamiento diferentes (una para los documentos de noticias y otra para el resto de los datos). También estoy considerando solo las opciones "gratuitas", así que no miré Oracle o MS SQL Server.
Gracias por adelantado.
purexml es más pesado que SQL, por lo que paga más por su ida y vuelta entre el servidor web y DB. Si planea tener muchos usuarios, lo evitaría, será mejor que permita que su servidor web guarde en caché las solicitudes, evitando así crear xml (rss) cada vez, si eso es lo que está pensando.
Me gustaría ir con MySQL porque es realmente bueno para servir y es totalmente gratis, bueno también es PostgreSQL, pero no lo he usado, así que no puedo decirlo.
CouchDB podría tener sentido, pero no si planea hacer OLAP (análisis fuera de línea) de sus datos, un RDBMS normal será mejor.
MySQL es probablemente una de las mejores opciones disponibles; ligero, fácil de instalar y mantener, multiplataforma y gratis. Además de eso, hay algunas buenas herramientas de cliente gratuitas.
Algo sobre lo que pensar; Debido a la naturaleza de su sistema, es probable que tenga algunas tablas que crecerán bastante rápidamente, por lo que es posible que desee pensar en el rendimiento.
Por lo tanto, MySQL admite partición vertical, pero solo desde V 5.1. Mantenlo en mente.
Aclamaciones,
Jacobo.
Admitiendo en primer lugar que generalmente no me gusta mysql, diré que ha habido escritos sobre este tema con respecto a postgres:
http://oldmoe.blogspot.com/2008/08/101-reasons-why-postgresql-is-better.html
Esta es siempre mi elección cuando necesito una base de datos relacional pura. No sé si una base de datos de documentos sería más apropiada para su aplicación sin saber más al respecto. Parece que es algo que al menos deberías investigar.
Me parece que la aplicación que creará puede convertirse fácilmente en una aplicación web a gran escala. Sugeriría PostgreSQL, ya que ha sido conocido por su fiabilidad.
Puede consultar el siguiente enlace: Bob Ippolito de MochiMedia nos cuenta por qué abandonaron MySQL para PostgreSQL. Aunque los mensajes tienen más de 3 años, los problemas de MySQL 5.1 recientemente tienden a demostrar que aún son relevantes.
MySQL es bueno en producción. No he usado PostgreSQL para los rieles, pero también es una buena solución.
En los entornos de desarrollo y prueba, comenzaría con SQLite (predeterminado), y tal vez migraría a su base de datos de destino en el entorno de prueba a medida que avanza hacia la finalización.