多个集合包含数千个文档还是一个集合包含 1 亿个文档更好?
Is better to have multiple collections with thousands of documents or one collection with 100 million documents?
我正在将一个有 1 亿行的 MySql table 迁移到一个 MongoDB 数据库,这个 table 存储公司的文件,它们的区别是列company_id。我想知道 mongodb 上有多个集合是否会比只有一个集合更快,例如,每个公司都有自己的集合(集合:company_1、company_2、company_3...) 并且只存储来自那家公司的文件,所以我不需要过滤,如果我只有 1 个大集合并且在每个文件中都会有一个名为 company_id 的列将用于过滤文档。
在这种情况下哪种方法效果最好?
编辑:
这是一个 JSON 文档示例:https://pastebin.com/T5m2tbaY
{"_id":"5d8b8241ae0f000015006142","id_consulta":45254008,"company_id":7,"tipo_doc":"nfe","data_requisicao":"2019-09-25T15:05:35.155Z","xml":Object...
您可以为每个公司创建一个集合和一个文档,并在文档中包含公司的具体详细信息,前提是详细信息的大小不超过 16MB。出于性能原因,在公司 ID 上放置一个索引。如果性能条件不符合垂直扩展的预期——即添加内存、CPU、磁盘 IO 和网络增强功能以提高性能。如果这还不够,请考虑跨多个主机对集合进行分片。
我正在将一个有 1 亿行的 MySql table 迁移到一个 MongoDB 数据库,这个 table 存储公司的文件,它们的区别是列company_id。我想知道 mongodb 上有多个集合是否会比只有一个集合更快,例如,每个公司都有自己的集合(集合:company_1、company_2、company_3...) 并且只存储来自那家公司的文件,所以我不需要过滤,如果我只有 1 个大集合并且在每个文件中都会有一个名为 company_id 的列将用于过滤文档。 在这种情况下哪种方法效果最好?
编辑: 这是一个 JSON 文档示例:https://pastebin.com/T5m2tbaY
{"_id":"5d8b8241ae0f000015006142","id_consulta":45254008,"company_id":7,"tipo_doc":"nfe","data_requisicao":"2019-09-25T15:05:35.155Z","xml":Object...
您可以为每个公司创建一个集合和一个文档,并在文档中包含公司的具体详细信息,前提是详细信息的大小不超过 16MB。出于性能原因,在公司 ID 上放置一个索引。如果性能条件不符合垂直扩展的预期——即添加内存、CPU、磁盘 IO 和网络增强功能以提高性能。如果这还不够,请考虑跨多个主机对集合进行分片。