我可以在MongoDB中创建100,000多个集合吗?

时间:2020-08-25 10:19:15

标签: database mongodb database-design nosql

项目概述:涉及多个零售商的大型项目,每个零售商将拥有动态实体和客户

详细信息:该项目与零售商平台(例如:亚马逊)相关,在该平台上,所有零售商都可以销售其产品,每个零售商都将创建动态实体(例如产品,客户,付款,订单等),每个实体每天为每个零售商拥有数百万条记录

当前系统:我们维护的所有订单都属于一个称为“订单”的单一集合中的所有零售商。

问题:每天每位零售商都有数以百万计的订单(例如黑色星期五和要约日)

打算实施

  • 为每个零售商创建单独的收藏集(例如:Retailer1_Orders,Retailer2_Orders等。)或
  • 允许所有零售商的订单在具有RetailerId的索引的单个集合中(但每天1,000,000个文档)

问题:有10,000个零售商和20多个实体的机会,因此10000 * 20 = 200,000个收藏集

可以创建N个收藏集吗? 还是可以将数十亿个文档保存在单个集合中?

它会影响性能吗?并且馆藏数量是否有限制(我在MongoDocument中找不到)

谢谢

1 个答案:

答案 0 :(得分:1)

2 ^(32)文档数据。如果使用max参数为创建的封顶集合指定最大文档数,则该限制必须少于2 ^(32)个文档。如果在创建有上限的集合时未指定最大文档数,则对文档数没有限制。