The topic of a million or more databases has appeared on the mailing list in the past. The conclusion is that it depends on how your operating system handles so many files. CouchDB simply accesses parts of the .couch file on demand. Performance is related to how quickly it can find, open, access and close this file.
There are tricks for some file systems, such as placing delimiters / in the database name, which will cause CouchDB to store them in the appropriate directory structures, such as groupA/userA.couch , or using database names such as email com/bigbluehat/byoung.couch (or some similar).
If this is not enough, Apache CouchDB 2.0 introduces BigCouch code (which IBM Cloudant uses) to provide fully automated CouchDB. This has not been done yet, but it will provide scalability on multiple nodes using the Dynamo-type markup system.
Another option is to make your own username splitting between multiple CouchDB servers or use IBM Cloudant (which is built for this level of scale).
All these parameters provide the same Apache CouchDB replication protocol and will work perfectly with PouchDB sitting on a user's computer, phone or tablet.
The user device will have its own database +/- any shared databases . Applications on these millions of user devices will only have scalability of their own content (like a hard drive). The application will be replicated directly to the "cloud" user database for backup, use on the Internet, etc.
Hope something sounds promising there. :)
source share