nsa*_*719 7 database mongodb database-normalization
我正在制作一个Web应用程序并使用mongodb作为我的数据库.但我是mongodb的新手,我只想知道我是否还需要像其他人在使用RDBMS时那样规范化我的数据库.在制作表或数据库之前,它是规范化的.
像使用关系数据库那样规范化数据在MongoDB中通常不是一个好主意.
关系数据库中的规范化只有在表之间的JOIN相对便宜的前提下才可行.该$lookup
聚合运营商提供一些有限的JOIN功能,但它不与分片收集工作.因此,通常需要通过多个后续数据库查询来模拟连接,这非常慢(有关更多信息,请参阅MongoDB和JOINs的问题).
因此,您应该设计数据库,以便通过查询单个集合来满足最常见的查询,即使这意味着您将在数据库中拥有一些冗余.模型1的好工具:n关系通常是子对象的数组.但是,尽量避免随着时间的推移无限增长的对象,因为在这种情况下,它们将在文件中移动很多,这将影响写入性能.