我有一个应用程序必须存储大量的稀疏数据。
所有文件都分成项目。
每个项目都有自己的数据库,有自己的集合和文档,但都在同一台服务器上。
现在我想让跨项目的查询和引用更容易。MongoDB计算性能权衡
因此,我正在考虑将所有数据移动到1个数据库中,并让每个文档都有一个可以查询的“项目”字段。
数据库架构将来自像去:
Project1 (Database)
Task (Collection)
{name: my_task, status: Completed, ...}
Project2 (Database)
Task (Collection)
{name: other_task, status: Started, ...}
喜欢的东西:
SingleDatabase
Task (Collection)
{name: my_task, status: Completed, project: Project1, ...}
{name: other_task, status: Started, project: Project2, ...}
我的猜测是,这将有一些性能权衡内存,硬盘使用率,和写入性能。
问题是,我不知道它会产生多大的影响,如果它的价值在所有。
现在的问题是:
是否有可能计算此决定可能对服务器有什么影响?
类似于:给定X集合,X文档,X索引......服务器平均具有:X/s写入较慢,需要X更多内存......等等。