Database design 通用MongoDb数据库设计和索引性能-一个或多个集合?

Database design 通用MongoDb数据库设计和索引性能-一个或多个集合?,database-design,mongodb,Database Design,Mongodb,这是一个关于mongodb数据库设计的一般性问题,但我提出这个问题的原因是,我正在为一个系统设计一个数据库,在这个系统中,我为许多小型网站生成静态html文件。 网站可以包含不同类型的页面,有些是用户列表,有些是其他页面列表,有些只是静态信息页面 现在我想知道是否最好有一个页面集合来存储所有不同类型网站页面的数据,或者 拥有多个集合-每种页面类型一个集合 如果我只使用一个集合,那么在一个包含多个条目的表上可能会有多个索引,包括按页面类型进行索引。 如果一个应用程序使用多个集合,那么每个集合都会更

这是一个关于mongodb数据库设计的一般性问题,但我提出这个问题的原因是,我正在为一个系统设计一个数据库,在这个系统中,我为许多小型网站生成静态html文件。 网站可以包含不同类型的页面,有些是用户列表,有些是其他页面列表,有些只是静态信息页面

现在我想知道是否最好有一个页面集合来存储所有不同类型网站页面的数据,或者 拥有多个集合-每种页面类型一个集合

如果我只使用一个集合,那么在一个包含多个条目的表上可能会有多个索引,包括按页面类型进行索引。 如果一个应用程序使用多个集合,那么每个集合都会更小,并且有几个索引,包括id字段上每个集合的一个索引

我的直觉是,一般来说,使用多个集合会更好,因为这样,通过将数据放在不同的集合中,数据已经有了一个索引级别。 但如果不同收藏的数量是100个呢

我的问题基本上是,在索引性能和索引大小、写性能、锁定等方面,这两种方法中哪一种更可取—多个集合还是一个超级集合


答案可能是“视情况而定”的某种变体,因此在决定走哪条路时,哪些因素很重要?

MongoDB文档讨论了这个确切的问题:

一般来说,相对大量的收藏不是问题