用于Ruby on Rails的Cassandra,mongodb或couchdb的区别?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (26)

我认为这三个是目前最流行的非关系型db:s。

我想给他们一个尝试,但是当涉及到Gem,文档和教程支持时,我不知道哪一个最适合Rails。

例如。如果我安装了一个非常好的用于Rails的gem,但是这只是使用AR和mongodb,那么可惜我没有使用mongodb。

  • 有多少gem支持这些数据库中的某一个?
  • 哪一个是Ruby/Rails社区中最受欢迎的主流,有更多的在线文档/教程?
  • 哪一个提供Rails的紧密集成?
提问于
用户回答回答于

要做出明智的选择,你需要知道你的数据模型。MongoDB和CouchDB是面向文档的数据存储。Cassandra是完全不同的,它有点特别,它的分布式设计是它的优势。它更像是一个分布式键/值存储,但具有分片,时间戳排序,范围查询以及有限的数据类型。如果你有大量的数据,并且确切地知道它需要如何索引检索,Cassandra可能会工作。Mongo和Couch更适合于即席查询,例如用于Rails应用程序的AR替代品。

就流行而言,我认为MongoDB目前在Rubyists中更受欢迎,但总的来说,CouchDB似乎拥有更多的分心和很大的动力。

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

用户回答回答于

我最近使用了“mongoid”。有一点需要记住的是,他们在Rails 3.0分支中更加活跃,因此并不是所有列在其网站上的功能都能在Rails 2.x中使用(例如引用)。我也尝试使用“Devise / Warden”进行身份验证,它在Rails 3.0中无缝地工作,但不支持Rails 2.x + mongoid(尽管支持mongomapper)

扫码关注云+社区