database - 我可以在 MongoDB 中创建 100,000 多个集合吗?
问题描述
项目概述:大型项目涉及多个零售商,每个零售商都将拥有动态实体和客户
详细说明:项目与零售商平台(例如:亚马逊)相关,所有零售商都可以销售他们的产品,每个零售商将创建动态实体(如产品、客户、付款、订单等),每个实体每天将有数百万条记录每个零售商
当前系统:我们在一个名为 Orders 的集合中维护属于所有零售商的所有订单。
问题:每天每个零售商都有可能获得数百万个订单(如黑色星期五和优惠日)
思考实施:
- 为每个零售商创建单独的集合(例如:Retailer1_Orders、Retailer2_Orders 等)或
- 允许在一个集合中使用 RetailerId 索引的所有零售商订单(但每天 1,000,000 个文档)
问题:有 10,000 个零售商和 20 多个实体的机会,因此 10000*20=200,000 个收藏
可以创建 N 个集合吗?或者可以在单个集合中保存数十亿个文档吗?
它会影响性能吗?集合计数是否有任何限制(我在 MongoDocument 中没有找到)
提前致谢
解决方案
2^(32) 个文档数据。如果使用 max 参数为创建上限集合指定最大文档数,则限制必须小于 2^(32) 个文档。如果在创建上限集合时未指定最大文档数,则对文档数没有限制。
推荐阅读
- android - 如何显示底部布局下方 50% 和底部布局上方 50% 的视图?
- visual-studio - 如何使 Mac 上的 Visual Studio 在错误行上中断而不是在主类中中断?
- java - 如何更改 html 编码以使用 openhtmltopdf 正确呈现 pdf?
- javascript - 使用 HTML、CSS、Javascript 制作 RPS 游戏的问题
- android - android 通过评级(1-5 星)通过深度链接玩商店
- php - PHP在映射的驱动器目录中创建文件
- c# - 按范围和相同性对 C# 中的列表进行排序
- c++ - 在使用的 cmake 中结合 brew 安装的 apache-arrow。vcpkg 链工具
- github - 返回 UserInfo 时,带有 Airflow 的 GitHub OAuth 引发错误
- bootloader - 编译 Uboot 时未在 Uboot 中构建 SPL