2014-12-08 176 views
0

我必须在一个集合中存储大约10亿个mongodb文档的原始数据。 这是个好主意吗?我们可以分解这个单一的集合?我的应用程序通常像单独编写许多读取操作一样工作。并且我必须设计集合,以高效的方式支持集合功能。关于MongoDb模式设计的建议

是否有可能将这个集合分为多个集合每月明智?或者我可以保留它在sigle集合本身?哪一个会是个好主意?

请建议。

回答

0

我想回答你的问题依次是:

这是一个好主意?

取决于数据的真实大小。一般来说,MongoDB可以轻松处理billions of documents in one collection。考虑到文档的最大大小,您应该保留16MB的限制。

我们可以分解这个单一的集合吗?

是的,您可以将您的收藏分布在多个分片上。 The official documentation可以帮助你。

是否有可能每月明智地将这个集合分成多个集合?或者我可以保留它在sigle集合本身?哪一个会是个好主意?

喜欢#1,这取决于。如果在你的用例中可能的话,我会选择第二个(保存在一个集合中)。每个月开始创建一个新集合时,您可能会遇到一些问题,例如查询两个集合中的数据。