When to use CouchDB over MongoDB and vice versa?

Technology CommunityCategory: MongoDBWhen to use CouchDB over MongoDB and vice versa?
VietMX Staff asked 3 years ago
  • If you plan to have a mobile component, or need desktop users to work offline and then sync their work to a server you need CouchDB.
  • If your code will run only on the server then go with MongoDB

That’s it. Unless you need CouchDB’s (awesome) ability to replicate to mobile and desktop devices, MongoDB has the performance, community and tooling advantage at present.

Some more factors to consider: 1. Do you need master-master? Then CouchDB. Mainly CouchDB supports master-master replication which anticipates nodes being disconnected for long periods of time. MongoDB would not do well in that environment. 2. Do you need MAXIMUM R/W throughput? Then MongoDB 3. Do you need ultimate single-server durability because you are only going to have a single DB server? Then CouchDB. 4. Are you storing a MASSIVE data set that needs sharding while maintaining insane throughput? Then MongoDB. 5. Do you need strong consistency of data? Then MongoDB. 6. Do you need high availability of database? Then CouchDB. 7. Are you hoping multi databases and multi tables/ collections? Then MongoDB 8. You have a mobile app offline users and want to sync their activity data to a server? Then you need CouchDB. 9. Do you need large variety of querying engine? Then MongoDB 10. Do you need large community to be using DB? Then MongoDB