我最近搬到了 Web 应用程序后端的 MongoDB 部分,Web 应用程序本身就是一个验证工具,工作流程如下所示:
- 用户上传文件(通常数十万行)
- 验证器检查它是否输出大量消息(每行可能不止一条)
- ...最后提供一些统计数据
我对我的应用程序进行了建模,以便每个用户都有自己的数据库,其中包含:
- 文件(通过 GridFS 保存)
- 包含消息的集合(在某些情况下可能超过一百万行)
- 带有统计信息的集合
我们有几百个用户,所以MongoDB 最终会有几百个 DB。
当然,我可以将所有数据保存在同一个数据库中,使用名称空间将来自不同用户的数据分开。但是我觉得在连接 URI 中发送数据库很方便,而且我发现发出“删除数据库”语句来清除用户更直观,而不是在大型数据库中搜索和删除其数据。
我对 MongoDB 很陌生,所以我的问题是:在同一个 MongoDB 实例中拥有多个数据库有什么缺点吗?或者我应该对这个问题给予什么特别的考虑?