Are MongoDB and CouchDB ideal substitutes?

I don’t have dirty hands yet, but CouchDB and MongoDB , but I would like to do it soon ... I also got a little familiar with both systems and it seems to me that they cover the same cases ... Or I don’t see the key differences feature?

I would like to use document-based storage instead of traditional RDBMS in my next project. I also need a data warehouse

  • handle blobs (images and videos)
  • Automatically replicated to physically separate nodes.
  • that once again extra RDBMS

Are both equally well suited to these requirements?

Thank!

+55
database mongodb couchdb
Jan 02 '09 at 0:00
source share
6 answers

I really used both quite widely, as for very different projects.

I would say that they are equally well suited for the requirements you list, but there are quite a few differences between them. IMO is their biggest request ability. CouchDB does not have “queries” in the sense of RDBMS (select * from ...), but instead uses “ views ”, which are more like stored procedures (essentially static queries defined in database (1)). MongoDB has much more more "regular" queries .

Essentially, it comes down to your application requirements. If you give more information, I may be able to shed some light on what may matter in this situation.

(1): you can temporarily use non-static queries in CouchDB, but they are not recommended for use

+49
Jan 02 '09 at 0:25
source share

Mongo uses more "traditional" queries. You enable indexing based on each key and use the SQLish query syntax.

CouchDB views can do much deeper indexing and relationships, but they require you to do a little more work and understanding how key sorting works for query execution.

There is a big difference in replication systems. Mongo replication is very similar to most RDBMS solutions with masters and slaves and all that. CouchDB replication is more equitable, not a master / slave, each CouchDB is a node.

+11
Jan 02 '09 at 3:42
source share

CouchDB replication is done to synchronize geographically located sites. It correctly handles network and other errors, restarting replication where it left off. Participating nodes can even be configured autonomously.

+11
04 '10 at
source share

Before using MongoDB, I recommend you take a look at the following: http://groups.google.com/group/mongodb-user/browse_thread/thread/460dbd49a5b6b267 . MongoDB has a small chance of data corruption due to the lack of fsync on every write.

+4
Jan 13 '10 at 15:39
source share
+2
Jan 13 '10 at 15:34
source share

From the developer's point of view, the biggest difference is that mongo are direct requests against the couch (which must be "compiled"). From an operational point of view, the couch is fully powered by http-rest. If you can configure HTTP servers, you know how to configure a trainer. With Mongo, you should instead learn how to configure configuration servers, replicas, and mongos (a kind of balancing).

0
Feb 12 2018-12-12T00:
source share



All Articles