Ruby on Rails的Cassandra,mongodb或couchdb

nev*_*ame 16 ruby couchdb ruby-on-rails mongodb cassandra

我认为这三个是目前最受欢迎的非关系型数据库.

我想尝试一下,但我想知道哪些最适合Rails的Gem,文档和教程支持.

例如.如果我为Rails安装一个非常好的宝石,但这只是使用AR和mongodb,那么很遗憾我没有使用mongodb.

  • 有多少宝石支持这些数据库中的每一个?

  • 哪一个是ruby/rails社区中最受欢迎和最主流的,因此有更多的在线文档/教程?

  • 哪一个提供Rails的紧密集成?

Mar*_*mas 17

要做出明智的选择,您真的需要了解您的数据模型.MongoDB和CouchDB是面向文档的数据存储.Cassandra是完全不同的,它有点特殊用途,它的分布式设计是它的力量.它更像是一个分布式键/值存储,但具有切片,时间戳排序,范围查询以及有限的数据类型.如果您拥有大量数据并且确切知道如何将其编入索引以进行检索,那么Cassandra可能会起作用.Mongo和Couch更适合于即席查询,例如对Rails应用程序的AR替换.

至于受欢迎程度,我会说MongoDB目前在Rubyists中更受欢迎,但总的来说CouchDB似乎有更多的思想共享和很多动力.

有关差异的更多信息,另请参见http://nosql-database.org/.


Zep*_*ock 5

我个人最近使用了"mongoid",它的工作非常好.要记住的一件事是它们在Rails 3.0分支中更活跃,因此并非所有在其网站上列出的功能都在Rails 2.x中工作(例如引用).我还尝试使用"Devise/Warden"进行身份验证,它在Rails 3.0中无缝工作,但没有支持Rails 2.x + mongoid(虽然支持mongomapper)