In our web app, we have a large amount of data associated with each user. So we are thinking of allotting a separate database to each user. Hence, this will require a large no. of databases.
So, my question is — is there a limit on no. of databases, like there is a 24,000 limit on collections in a single database.
EDIT
The fact that we have decided to have a separate DB for each user — does this indicate wrong design in any way?.
Actually the web app is a kind of inventory system (a little more complex than that), and we have a LOT of little pieces of information associated with each user (not to mention their session data also) — that we need to store in the database.
We have decided to use collections in the database to store difference “types” of information related to the user. And since Mongo DB does not have any higher level abstraction than a “collection”, we are forced to use separate DBs to separate users.
If you use one database per user and there’s no flow of data between databases, then there’s no limit, since you can always put a certain fat client’s database on its own server.
If you were talking about sharded cluster, then again I think you’re fine. The more databases you have, the more memory config servers will use. When config server outgrows its machine, then you know you have quite a few databases.