你使用mongodb时需要规范化你的数据库吗?

问题描述 投票:6回答:1

我正在制作一个Web应用程序并使用mongodb作为我的数据库。但我是mongodb的新手,我只想知道我是否还需要像其他人在使用RDBMS时那样规范化我的数据库。在制作表或数据库之前,它是规范化的。

database mongodb database-normalization
1个回答
9
投票

像使用关系数据库那样规范化数据在MongoDB中通常不是一个好主意。

关系数据库中的规范化只有在表之间的JOIN相对便宜的前提下才可行。 $lookup聚合运算符提供了一些有限的JOIN功能,但它不适用于分片集合。因此,通常需要通过多个后续数据库查询来模拟连接,这非常缓慢(有关更多信息,请参阅问题MongoDB and JOINs)。

因此,您应该设计数据库,以便通过查询单个集合来满足最常见的查询,即使这意味着您将在数据库中拥有一些冗余。模型1的好工具:n关系通常是子对象的数组。但是,尽量避免随着时间的推移无限增长的对象,因为在这种情况下,它们将在文件中移动很多,这将影响写入性能。

© www.soinside.com 2019 - 2024. All rights reserved.