在阅读http://blog.mongodb.org/post/88473035333/6-rules-of-thumb-for-mongodb-schema-design-part-3一章:“的经验法则:您的彩虹指南”时,我偶然发现了以下几个词:嵌入和反错。
第一:除非有令人信服的理由不支持嵌入 第五:考虑脱脂时的写读比。一个大部分将被读取且很少更新的字段是反规范化的好选择:如果您对一个经常更新的字段进行反规范化,那么查找和更新所有实例的额外工作很可能会影响您从反规范化中获得的节省。
我知道嵌入是嵌套文档,而不是编写单独的表/集合。
但我不知道脱脂是什么意思。
发布于 2015-09-27 13:48:56
去正规化与归一化相反,它是设计关系数据库(如MySQL )的良好实践,在这种情况下,您可以将一个逻辑数据集分割成分开的表,以减少冗余。
由于MongoDB不支持表的联接,所以如果经常读取属性而更新较少,则需要将属性复制到两个集合中。
例如:您希望保存关于一个人的数据,并希望保存此人的性别:
在SQL数据库中,您将创建一个表person和一个表性别,在person表中存储一个性别ID的外键,并执行连接以获取完整的信息。这样,“男性”和“女性”作为一种价值只存在一次。
在MongoDB中,您将保存每个人的性别,以便值“男性”和“女性”可以多次存在,但查找速度更快,因为数据紧密耦合在集合的一个对象中。
https://stackoverflow.com/questions/32808576
复制相似问题