大数据开发:MongoDB数据模型入门

MongoDB作为一款分布式NoSQL数据库,在大数据场景下是比较广泛的应用场景的。作为非关系型数据库,MongoDB与传统数据库不同,在数据模型上也有其不同之处。今天的大数据开发学习分享,我们就来讲讲MongoDB数据模型入门。

MongoDB存储的数据模型是文档,MongoDB面向的是集合而不是表,所有的数据存储都以集合为单位,而每个集合里面包含的内容则称为文档,每个文档可以大致认为是个JSON数据模型。

MongoDB数据模型特点

一个MongoDB数据库服务可以有建立多个数据库,每个数据库可以有多张表,表名叫Collection,每个collection可以存放多个文档Document,每个文档都以BSON(Binary Jison)的形式存放于硬盘中,因此可以存储比较复杂的数据类型。

文档中保存到数据类型可以为:Null、Boolean、String、Object、32位整数、64位整数、64位浮点数、日期、正则表达式、JS代码、二进制数据、数组、内嵌文档、最大值、最小值、未定义类型。如果用图来表示MongoDB的数据结构模型,如图所示:
 

大数据学习:MongoDB数据模型入门


MongoDB数据结构模型

(1)MongoDB逻辑对象,从大到小分为数据库、集合、文档、字段、自动标识。

(2)MongoDB数据对象的文档关系模型,包括内嵌&引用。

引用(References)存储数据之间的关系,包括从一个文档链接或引用到另外一个文档。这样应用程序就解决了访问关联数据的问题,一般来说,这些都是规范数据的数据模型。嵌入式文档通过存储相关的数据在一个文档结构中来捕获数据之间的关系。MongoDB文档可以在当前文档的字段或数组中嵌入文档作为子文档。这些非规范化数据模型允许应用程序检索和操作相关的数据在一个单一的数据库操作。

(3)文档树模型通常有3种方式:父文档引用、子文档引用、祖先数组。

通俗来讲,数据库当中的文档表示的是应用场景当中的对象,那么这些对象就会有树状的关系结构。例如:图书可以分为社科类、工具类、考试类、文学类等,文学类又分为小说类、散文类、哲学类、历史类等,历史类又可以分为唐、宋、元、明等等。同样在MongoDB当中的数据对象也会有这样的树状结构。

以图书信息为数据对象插入到我们的MongoDB当中,自然在数据库当中就形成了一棵文档树。那么在数据查询以及其他操作的时候我们就可以通过树结构特点,引用文档的父节点、子节点以及从根节点到自己的树的全路径信息。也就是我们所述的父文档引用、子文档引用以及祖先数组的概念。

关于大数据开发学习,MongoDB数据模型入门,以上就为大家做了简单的介绍了。MongoDB在现有的分布式数据库当中,地位还是非常重要的,前期学习当中尤其需要打好基础。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值