4

MongoDB 和 CouchDB 之间的主要区别是什么,还有其他主要的 NO-SQL 数据库服务器值得一提吗?

我知道 CERN 在其 LHC 后端的某处使用 CouchDB;巨大的批准印章。什么是 MongoDB - 以及任何其他主要服务器的 - 参考?


更新

对我来说,CouchDB 的主要卖点之一是基于 REST 的 API 和使用 JSON 作为数据包装器的无缝 JavaScript 集成。这对提到的任何其他 NO-SQL 数据库是否可行?

4

3 回答 3

4

还有更多差异,但有一些要点:

  • CouchDB 具有 MVCC(多版本并发控制) - 每次更新文档时,都会创建它的新版本。而 MongoDB 是就地更新的。
  • CouchDB 支持多主机,因此您可以写入任何服务器。MongoDB 只有 1 个用于写入的服务器(主从) -但是:我这可能在最新版本(1.6)中发生了变化,因此 MongoDB 现在可能支持多个服务器进行写入

要查看谁在使用 MongoDB ,请参见此处(例如,foursquare、bit.ly、sourceforge ......)

要查看谁在使用 CouchDB,请参见此处

最著名的其他 NoSQL 数据库是Cassandra (facebook, twitter) 然后你有HBase , HyperTable , RavenDB , SimpleDB,还有更多......

于 2010-09-03T11:38:06.183 回答
1

欢迎来到一些新领域 @AdaTheDev 涵盖了大多数主要领域。还有伏地魔计划,东京内阁/暴君,以及所有这些东西的一大堆包装。所以人们也在构建 MemcacheDB(带有持久层的 memcache)。

MongoDB 有几个钩子来支持“REST”API(查看“Sleepy Mongoose”和 Node.js 支持)。MongoDB 和 CouchDB 有不同的处理 map-reduce 的方法(尽管它们有些相似)。MongoDB 没有 MVCC,但是这两个系统确实有不同的数据存储方式,每个方式都有自己的权衡取舍。

MongoDB 使用特定于语言的驱动程序,而 CouchDB 使用 REST(性能权衡)。

更详细的比较看这里

于 2010-09-04T04:02:10.860 回答
0

MongoDB 对于关系开发人员来说可能更容易掌握,因为它使用驱动程序并且对即席查询有更好的支持。CouchDB 与旧的关系处理方式几乎没有共同之处。

两者都以不同的方式处理分片和复制。

话虽如此,我相信两者在概念上都足够相似,以至于通常归结为个人喜好。编写代码都很有趣。事实上,我们对两个内部项目都进行了评估,并反复做出了我们的决定。

于 2010-09-17T03:55:19.797 回答