IBM Cloud Docs
Comparing Apache CouchDB and IBM Cloudant

Comparing Apache CouchDB and IBM Cloudant

The differences between the fully managed cloud service IBM® Cloudant® for IBM Cloud® and self-managed open source Apache CouchDB still exist and are discussed here.

The foundation of the IBM Cloudant managed database service is the Apache CouchDB database. IBM is active in the Apache CouchDB committee, employs members of the PMC, and commits most of its feature, functions, and enhancements back to the open source project. Over the last few years, IBM made significant effort to align the core feature set of IBM Cloudant and CouchDB. The IBM Cloudant team contributed key features like IBM Cloudant Query and Mango query language, full-text search, and partition queries to CouchDB.

Apache CouchDB and IBM Cloudant are nearly fully API compatible, which means they can serve as drop-in replacements for each other in your application. They speak the same replication protocol so that you can seamlessly synchronize data between IBM Cloudant and CouchDB instances.

For more information, see the API comparison guide for a detailed breakdown of the API endpoints.

The following table shows the feature and function differences that you must be cognizant of when you use the Apache CouchDB and IBM Cloudant data layer ecosystem.

Table 1. Feature and function differences between IBM Cloudant and Apache CouchDB
Feature CouchDB 1.6 CouchDB 2.3.1 CouchDB 3.x IBM Cloudant
Clustering No Yes Yes Yes
Fauxton Dashboard UI No Yes Yes Yes
MapReduce view Yes Yes Yes Yes
Mango and IBM Cloudant Query No Yes Yes Yes
Full-text search No No Yes, requires separate installer or container. Yes
Partition queries No No Yes Yes
Shard splitting No No Yes Available as tool for IBM Ops.
Selector on changes feed No Yes Yes Yes
Rate limits No No No User-defined provisioned throughput capacity settings
Request size 4 GB (default) 4 GB (default) 4 GB (default) 11 MB
Attachment size 4 GB (default) 4 GB (default) 4 GB (default) 10 MB
Security auth CouchDB Auth CouchDB Auth CouchDB Auth IBM Cloudant legacy auth with API Keys, IBM Cloud IAM, or CouchDB Auth
LDAP No No No No

The CouchDB _show, _list, _update, and _rewrite functions were deprecated in Apache CouchDB 3.0. For more information, see deprecated feature warnings.

As a result, these functions are no longer supported for IBM Cloudant. They do not appear in IBM Cloudant documentation, and while the APIs currently remain in service, their use is not recommended. The IBM Cloudant Support team no longer supports them.

Information on alternatives to these functions can be found in the IBM Cloudant blog at deprecated functions.