2012-04-17 57 views
2

在我们的网络应用程序中,我们有大量的数据与每个用户相关联。所以我们正在考虑为每个用户分配一个单独的数据库。因此,这将需要一个大的号码。的数据库。MongoDB - 大量的数据库

所以,我的问题是 - 是否有限制没有。的数据库,like there is a 24,000 limit集合在单个数据库中。

编辑

事实上,我们决定有一个单独的数据库为每个用户 - 这并不表示以任何方式设计错误?

实际上,Web应用程序是一种库存系统(略比这更复杂),我们必须与每个用户(更不用提他们的会话数据也)相关的信息小块的很多 - 我们需要存储在数据库中。

我们已决定使用数据库中的集合来存储与用户相关的信息的差异“类型”。由于Mongo DB没有比“集合”更高级别的抽象,我们被迫使用单独的数据库来分隔用户。

+0

接受更多答案。不用担心答案,虽然你的问题“这是否表明以任何方式错误的设计”可以安全地回答“是”。 – 2012-04-17 12:38:44

+3

我在大约120个数据库和大约689的灾难发生后开始出现问题。日志没有提供真正的提示,但mongo(v2.2.0)不会再次启动。即使像show dbs这样的东西也会失败 – thanos 2014-02-10 16:37:31

回答

4

如果您为每个用户使用一个数据库,并且数据库之间没有数据流,那么没有限制,因为您可以将某个胖客户端的数据库始终放在其自己的服务器上。

如果你正在谈论分片群,那么我认为你很好。您拥有的数据库越多,内存配置服务器将使用的内存越多。当配置服务器超过它的机器时,那么你知道你有很多数据库。

+0

是的,两个用户之间绝对没有数据流。但我想知道MongoDB系统是否可以像数百万数据库一样。 – treecoder 2012-04-17 12:30:35

+0

@good_computer:我怀疑有人试过。但从我所知道的情况来看,它应该没问题(使用集群时)。如果您不使用集群,那么您肯定不会遇到问题,因为数据库将位于自己的mongodb服务器上。 – 2012-04-17 12:37:04