MongoDB与CouchDB ......以及任何其他“主要参与者”

时间:2010-09-03 11:19:19

标签: mongodb couchdb database-server nosql

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

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


更新

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

3 个答案:

答案 0 :(得分:4)

还有很多不同之处,但有一些快点:

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

要查看谁在使用MongoDB see here(例如foursquare,bit.ly,sourceforge ....)

查看谁在使用CouchDB see here

最值得注意的其他NoSQL数据库是Cassandra(facebook,twitter) 然后你有HBaseHyperTableRavenDBSimpleDB,还有更多...

答案 1 :(得分:1)

欢迎来到一些新的地方@AdaTheDev涵盖了大多数主要的。还有Project Voldemort,东京内阁/暴君,以及围绕所有这些事情的一大堆包装。所以人们也在构建MemcacheDB(带有持久层的memcache)。

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

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

有关详细比较,请查看here

答案 2 :(得分:0)

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

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

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