【发布时间】:2012-01-13 23:31:14
【问题描述】:
我的应用程序必须存储大量稀疏数据。
所有文档都被分成项目。
每个项目都有自己的数据库,有自己的集合和文档,但都在同一台服务器上。
现在我想让跨项目的查询和引用变得更容易。
所以我正在考虑将所有数据移动到 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 更多内存……等等。
【问题讨论】:
标签: performance mongodb