视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
如何设计MongoDB数据模型
2020-11-09 12:53:03 责编:小采
文档


有效的数据模型是为应用服务的,设计构架的关键问题是文档模型适合使用嵌入式模型(embed)还是使用引用模型(references)。

有效的数据模型是为应用服务的,设计构架的关键问题是文档模型适合使用嵌入式模型(embed)还是使用引用模型(references)。

嵌入式数据模型(Embedded Data Models)

在MongoDB中,你可能将相关数据嵌入到一个单一结构或文档,这些模式通常被称为“非正规”模型,但是它充分利用了MongoDB富文档模型的有点。

嵌入式数据模型允许应用程序存储相关的信息在一条数据库记录中,这样应用程序可能需要更少的查询和更新来完成常规的操作。

一般来说,嵌入式数据模型适用于以下场景:

(1)拥有包含实体之间的关系

(2)实体之间拥有一对多的关系,在这些关系中,“many”或子文档总是出现在或人为是“one”或富文档的上下文。

通常情况下,嵌入数据的方式在读操作上提供了更好的性能,能够在单次数据操作中请求和检索相关的数据。嵌入式数据模型使MongoDB能够在一次原子写操作中更新相关的数据。

然后,嵌入相关的数据,可能导致文档创建后文档增长太大的问题。文档增长会影响数据的写性能并导致数据分片。而且,MongoDB中文档的大小必须小于BSON格式规定的文档最大容量(最大的BSON文档大小是16MB)。对于大部分二进制数据,需要参考GridFS。

与嵌入式文档进行交互,,使用“.”符号进入嵌入文档。

规范化数据模型(Normalized Data Models,References)

规范化数据模型描述了文档引用之间的关系。

一般来说,规范化数据模型适用于以下场景:

(1)当嵌入式数据模型会导致数据重复并且提供的读性能的优势不会重复的影响。

(2)呈现许多复杂的多对多关系。

(3)对大型分层数据集进行建模

引用(References)模式比嵌入模式提供更好的灵活性,但是客户端应用程序必须解决引用的后续查询问题。换句话说,规范化数据模型需要更多轮的请求服务器。

CentOS编译安装MongoDB

CentOS 编译安装 MongoDB与mongoDB的php扩展

CentOS 6 使用 yum 安装MongoDB及服务器端配置

Ubuntu 13.04下安装MongoDB2.4.3

MongoDB入门必读(概念与实战并重)

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]

MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里

本文永久更新链接地址:

下载本文
显示全文
专题