MongoDB概念解析

通过下图实例,我们也可以更直观的的了解MongoDB中的一些概念:
关系数据库中一行记录对应MongoDB中一个文档。

举例2:在一个关系型数据库中,一篇博客(包含文章内容、评论、评论的投票)会被打散在多张数据表中。在文档数据库MongoDB中,能用一个文档来表示一篇博客, 评论与投票作为文档数组,放在正文主文档中。这样数据更易于管理,消除了传统关系型数据库中影响性能和水平扩展性的“JOIN”操作。
pid:作者id
tid:博客Id
cid:评论id
title:博客名称
by:评论作者
text:评论内容

关系数据库中的其中一条记录,在文档数据库MongoDB中的存储方式类似如下:

关系数据库中,需要3个表存储完整的博客相关信息。对博客信息查询和修改涉及3个表。
MongoDB中使用一个文档即可存储关系数据库中3个表的信息。查询时不需要跨表连接;对数据修改,不需要锁定3个表,只需要锁定一个文档。这样实现提供了并发性。
数据库
一个mongodb中可以建立多个数据库。
MongoDB的默认数据库为"db",该数据库存储在data目录中。
MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中。
文档--对应记录
文档是一个键值(key-value)对(即BSON,binary JSON,二进制JSOM结构)。MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是 MongoDB 非常突出的特点。
下表列出了 RDBMS 与 MongoDB 对应的术语:

--对应表
集合就是 MongoDB 文档组,类似于 RDBMS (关系数据库管理系统:Relational Database Management System)中的表格。
集合存在于数据库中,集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。
比如,我们可以将以下不同数据结构的文档插入到集合中(下面3个文档结构都不同,但可以插入同一个集合中。关系数据库中每行的结构都相同):
{"site":"www.baidu.com"}
{“site”:“dblab.xmu.edu.cn”, “name”:“厦门大学数据库实验室"}
{"site":"www.runoob.com","name":"菜鸟教程","num":5}
浙公网安备 33010602011771号