本文更新于2021-12-11,使用mongoDB 4.4.5。 目录范式化与反范式化优化数据操作一致性管理模式迁移 范式化与反范式化 范式化(nORMalization)将数据分散到多个集合,不同集合之间相互引用数据。反范式化(deno
本文更新于2021-12-11,使用mongoDB 4.4.5。
目录范式化(nORMalization)将数据分散到多个集合,不同集合之间相互引用数据。反范式化(denormalization)将每个文档所需数据都嵌入文档内部。
一个集合中包含的对其他集合的引用数量叫基数(cardinality)。常见的关系有一对一、一对多、多对多。
内嵌数据与引用数据的比较:
更适合内嵌 | 更适合引用 |
---|---|
数据较小 | 数据较大 |
数据不会定期改变 | 数据经常改变 |
最终数据一致即可 | 中间阶段的数据必须一致 |
文档数据小幅增加 | 文档数据大幅增加 |
数据通常需要执行二次查询才能获得 | 数据通常不包含在结果中 |
快速读取 | 快速写入 |
基数较少 | 基数较多 |
也可以混合使用内嵌数据和引用数据:创建一个内嵌文档用于保存常用信息,需要查询更详细信息时通过引用找到实际的文档。
更新数据时,需要明确是否会导致文档体积增长,以及增长程度。如果文档中有字段需要增长,应尽可能将这个字段放在文档最后的位置。
有三种常见的方式用于删除旧数据:使用固定集合,使用TTL集合,使用多个集合并定期删除集合。
服务器为每个数据库连接维护一个请求队列,一个连接拥有一个一致的数据库视图,总时可以读取到这个连接最新写入的数据。
随着需求的变化,数据库模式可能需要相应地改变,不管使用以下哪种方法,都要小心保存应用程序使用过的每一个模式:
原文地址:https://www.cnblogs.com/garvenc/arcHive/2022/02/23/mongodb_learning_application_design.html
--结束END--
本文标题: MongoDB学习笔记:应用程序设计
本文链接: https://www.lsjlt.com/news/9130.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-01
2024-05-01
2024-05-01
2024-05-01
2024-05-01
2024-05-01
2024-05-01
2024-05-01
2024-05-01
2024-05-01
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0