使用Mongo建模时,我应该将用户帐户拆分为单独的集合甚至是数据库吗?

时间:2011-08-19 23:39:41

标签: mongodb

我正在设计一个服务,其中每个经过身份验证的用户使用他自己的一组对象/文档,因此用户帐户是完全独立的。如果我将集合拆分为单个每用户集合或数据库,这是否有意义?它会给我任何速度或安全优势吗?或者我应该只将文档合并到公共集合中,让索引和分片为我做什么工作?

1 个答案:

答案 0 :(得分:0)

对于少数用户,您可以按用户进行收集,但对于较大的数字,您需要将它们放入同一个集合中。见http://www.mongodb.org/display/DOCS/Using+a+Large+Number+of+Collections

根据该页面,使用大量藏品不会有任何重大的性能损失。

从安全角度来看,你并没有真正获得任何东西,任何集合都像其他任何集合一样容易访问,对于MongoDB来说,安全性大部分都在应用程序级别。

从可管理性的角度来看,我将它们放在一个集合中。这样,您可以轻松地运行map-reduce作业来汇总用户统计信息。