2011-03-23 70 views
0

我们有两个非常相似的数据类型,都是“用户”。第一个由活跃用户组成,另一个用户自动提取并拉入我们的系统,与活跃用户相比,优先级(访问速度)要低得多。应该将两个具有不同用例的相似数据类型存储在同一个集合中吗?

每个活跃用户都有可能引入至少1000个数据挖掘用户。我们将更频繁地使用活动用户,而性能是我们最关心的问题。随着数据挖掘用户,性能是次要的,但我们将存储大量的。

关于我们应该如何处理的任何输入?每个用户(主动和数据挖掘)或两个集合(一个用于活动,一个用于数据挖掘用户)的集合?

回答

1

只要您的应用程序可以处理它,Mongo非常适合在同一个集合中存储类似但不同的对象。

数据挖掘用户是活动用户的孩子吗?如果是这样,那么你可能想要将它们嵌入到活动用户文档中。您无需一直访问它们 - 如果您不需要整个文件,MongoDB允许您获取文件的某些部分。

你会以不同的方式查询它们吗?如果是这样,你可能想保持它们分开,以便你的索引不会变得臃肿。

你会用查询命令查询其中任何一个吗?如果是这样,你会想分开它们,这样你就不需要每次都做完整的收集扫描。

相关问题