【发布时间】:2012-01-24 20:14:51
【问题描述】:
我正在为个人项目评估 MongoDB。我正在组建一个网站,允许用户在我的服务器上注册和存储信息。
在评估 MongoDB 时,我看到它可以在第一次插入记录时动态创建数据库。这让我想到我可以将每个用户的数据分离到他们自己的数据库中。数据库名称将从用户的唯一 ID 派生。用户注册后,他们第一次存储信息时,他们的数据库将被创建。
有谁知道这是否是 MongoDB 的可行设计?将所有用户的数据简单地存储在一个数据库中会更好吗?
【问题讨论】:
-
为什么不使用下一个较低级别的集合?每个用户的单个数据库对我来说似乎有点开销。为什么 - 通常 - 分解不同商店中的用户数据?在大多数情况下,您按类型而不是所有权来分隔数据,不是吗?
-
MongoDB 2.2.0 引入了数据库级锁定。如果您为每个用户存储不同类型的文档(它们会有自己的集合),那么每个用户的数据库可能仍然可行。如果您使用许多数据库,请不要忘记:mongodb.org/display/DOCS/…