MongoDB versus CouchDB… And any other “major players”

柔情痞子 提交于 2019-12-04 09:04:37

There are many more differences, but some quick points:

  • CouchDB has MVCC (Multi Version Concurrency Control) - each time a document is updated, a NEW version of it is created. Whereas MongoDB is update-in-place.
  • CouchDB has support for multi-master, so you can write to any server. MongoDB only has 1 server active for write (master-slave) - However: I this this may have changed in the latest release (1.6) so MongoDB may now support multiple servers for writes

To see who's using MongoDB see here (e.g. foursquare, bit.ly, sourceforge....)

To see who's using CouchDB see here.

The most notable other NoSQL database is Cassandra (facebook, twitter) Then you have HBase, HyperTable, RavenDB, SimpleDB, and more still...

Welcome to some new ground @AdaTheDev covered most of the major ones. There's also Project Voldemort, Tokyo Cabinet/Tyrant, and a whole bunch of wrappers around all of these things. So people are also building MemcacheDB (memcache with a persistence layer).

MongoDB has several hooks to support "REST" APIs (check out "Sleepy Mongoose" and Node.js support). MongoDB and CouchDB have different ways of handling map-reduces (though they are somewhat similar). MongoDB does not have MVCC, but the two systems really have different ways of storing data each with their own set of trade-offs.

MongoDB uses language-specific drivers where CouchDB uses REST (performance trade-off).

For more detailed comparison look here.

MongoDB is probably a little easier for a relational developer to grasp since it uses drivers and has better support for ad hoc queries. CouchDB has very little in common with the old relational ways of doing things.

Both deal with sharding and replication differently.

Having said that, I believe both are conceptually similar enough that it often boils down to personal preference. They are all fun to code with. In fact, we evaluated both for an internal project and went back and forth with our decision.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!