I've been using CouchDB 2 in production with a patch to unconditionally enable proxy authentication, using a single node with sharding per a default klaemo docker-couchdb setup. I was using a single 1.6 node and am not ready to maintain two additional servers. Here are my notes.
I need CouchDB 2 because it supports faster replication to PouchDB. This works very well. Replications between 1.6 and 2.0 also work well. Not able to run as many concurrent filtered replications. CouchDB 2.0 doesn't seem to be able to support as many filtered replications, or run as many couchjs servers as CouchDB 1.6, even though it's configured for an unlimited number of open files. Maybe this is because it is talking to several underlying databases? If the max number of couchjs servers is configured to be more than perhaps 100, CouchDB doesn't even start any. When enough replications fail, it gets into a state where the server must be completely restarted. Mango works. Filtered replications with Mango seem to be (much) faster than with couchjs. To solve the concurrent replication performance problem, like others before me, I'm no longer running continuous replications. Instead, a script watches _global_changes, and does one-shot, Mango-filtered replications to the collector database whenever a per-user database changes. Each 'catchup' replication takes about a second. This seems to work very well. _purge is not implemented on the cluster web interface. http://docs.couchdb.org/en/2.0.0/api/database/misc.html#db-purge The new CouchDB web interface assumes everything is under /, but my CouchDB is reverse proxied into a subfolder, so I have to bypass the proxy to use Fauxton. Thanks.
