2010-08-23 12 views
16

Creo que estas tres son las bases de datos no relacionales más populares en este momento.Cassandra, mongodb o couchdb para Ruby on Rails

Quiero intentarlo, pero me pregunto cuál de ellos es el más adecuado para Rails en lo que respecta a Gem, documentación y soporte tutorial.

Por ejemplo. si instalo una gema muy buena que es para Rails, pero esto solo usa AR y mongodb, entonces sería una lástima que no use mongodb.

  • ¿Cuántas gemas soportan cada una de estas bases de datos?

  • ¿Cuál es el más popular y main-stream en la comunidad de ruby ​​/ rails, por lo tanto, tiene más documentaciones/tutoriales en línea?

  • ¿Cuál ofrece una integración ajustada de Rails?

+12

Respetuosamente, creo que este es el punto de partida incorrecto para decidir utilizar una de estas aplicaciones. Tienen fortalezas y debilidades muy diferentes y, en gran medida, no importa cuál sea el mejor soporte para ruby ​​/ rails si está completamente mal para lo que su aplicación necesita lograr. –

+3

Si desea popularidad y una estrecha integración, MySQL es 100 veces más popular en las implementaciones de Rails y la más estrechamente integrada. Drizzle probablemente se convierta en un contendiente allí también. Si buscas aprender, te sugiero probar varios DB hasta que encuentres algo que te resulte cómodo. – JasonSmith

Respuesta

17

Para hacer una selección informada, Realmente necesito saber su modelo de datos. MongoDB y CouchDB son almacenes de datos orientados a documentos. Cassandra es bastante diferente, tiene un propósito un poco más especial y su diseño distribuido es su fortaleza. Se trata más de un almacén de claves/valores distribuidos, pero con segmentación, clasificación de marca de tiempo, consultas de rango, con tipos de datos limitados. Si tuviera una gran cantidad de datos y supiera exactamente cómo debía indexarse ​​para su recuperación, Cassandra podría funcionar. Mongo y Couch son mejores para consultas ad-hoc, y por ejemplo, un reemplazo de AR para una aplicación de Rails.

En cuanto a la popularidad, diría que MongoDB es actualmente más popular entre los Rubyists, pero en general CouchDB parece tener más capacidad de pensamiento y mucho impulso.

Consulte también http://nosql-database.org/ para obtener más información sobre las diferencias.

5

Personalmente usé "mongoid" recientemente y estaba funcionando realmente bien. Una cosa a tener en cuenta es que están más activos en la rama de Rails 3.0, por lo que no todas las características enumeradas en su sitio web funcionan en Rails 2.x (por ejemplo, referencias). También traté de usar "Devise/Warden" para la autenticación y funcionó a la perfección en Rails 3.0 pero no tenía soporte para Rails 2.x + mongoid (aunque se admitía mongomapper)

+0

¡Qué bueno que Devise trabaja con Mongodb! ¿Sabes si es compatible con los otros 2? –

+1

Esto es lo que admite el maestro (Rails 3.x): http://github.com/plataformatec/devise/tree/master/lib/devise/orm/ y esto es lo que en 1.0.x (Rails 2.x): http : //github.com/plataformatec/devise/tree/v1.0/lib/devise/orm – Zepplock

+1

me parece que mongodb es el más popular para ruby ​​y rieles. eso es correcto para otras gemas también crees? –