大数据技术原理与应用第五讲NoSQL数据库:5.6 文档数据库MongoDB
Posted musecho
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据技术原理与应用第五讲NoSQL数据库:5.6 文档数据库MongoDB相关的知识,希望对你有一定的参考价值。
文档数据库介于关系数据库和NoSql之间;
是最像关系数据库的一款产品,也是当前最热门的一款产品。
1.MongoDB简介:
1)![技术图片](https://image.cha138.com/20210803/cd37db72c2184da9ac4970e1290fb8bb.jpg)
![技术图片](https://image.cha138.com/20210803/cd37db72c2184da9ac4970e1290fb8bb.jpg)
2)文档类型BSON(Binary JSON),结构类似JSON
操作比较简单容易
可以针对任何属性的索引实现更快的排序
水平可扩展性
丰富的查询表达式,
替换已完成文档指定的字段
批量处理,聚合
![技术图片](https://image.cha138.com/20210803/f9456cb0498142a78489c9aa76b64798.jpg)
3)特点:
操作比较简单容易
可以针对任何属性的索引实现更快的排序
水平可扩展性
丰富的查询表达式,
替换已完成文档指定的字段
批量处理,聚合
![技术图片](https://image.cha138.com/20210803/5cb5f927f0ef47d7a16f4cd5c84941e4.jpg)
4)术语:
每一行记录对应一个文档
文档集合对应就是表
文档集合对应就是表
![技术图片](https://image.cha138.com/20210803/3e7b42bce84a4932918245dff837bdea.jpg)
(实例:两行记录对应两个文档)
![技术图片](https://image.cha138.com/20210803/f39bf886e668498ab9a014eb44e6aab5.jpg)
5)
关系数据库需要多表连接查询;
文档数据库散布在多个表的数据用一个文档即可锁定,并发性更高;
文档数据库散布在多个表的数据用一个文档即可锁定,并发性更高;
关系数据库设计实例:
![技术图片](https://image.cha138.com/20210803/ff05a115339347bbaf23baeb45bc8126.jpg)
6)数据库:
![技术图片](https://image.cha138.com/20210803/0515fb3f0d8c4c55b4fe85f9d67f5027.jpg)
7)文档:
![技术图片](https://image.cha138.com/20210803/70d30a6f4517404c9aae54d1dbf2230f.jpg)
例如:key是"site",value是“dblab.xmu.edu.cn"
8)RDMS与MongoDB对应的术语
![技术图片](https://image.cha138.com/20210803/9f37964a4c0f459397d032364b59b633.jpg)
服务端与客户端:![技术图片](https://image.cha138.com/20210803/6d051c9047464c0fbc3e7d3d95d36414.jpg)
![技术图片](https://image.cha138.com/20210803/6d051c9047464c0fbc3e7d3d95d36414.jpg)
9)集合:
(文档组)关系数据库的三条记录变成三个文档,形成文档组
![技术图片](https://image.cha138.com/20210803/8856bbb9c81249faa5a07f8c23b5f096.jpg)
2.MongoDB安装:
![技术图片](https://image.cha138.com/20210803/b9119f66db864f02a15bea5f12c05a30.jpg)
3.使用MongoDB Shell访问MongoDB:
创建数据库:不用create,直接use,没有的话会自动创建
想看创建好的数据库:showdbs
创建集合:用shell命令时不用单独创建集合;但编程时需要单独创建集合
![技术图片](https://image.cha138.com/20210803/61c40293e5714d9c9eaa23641b443232.jpg)
4.使用JAVA程序访问MongoDB:
1)环境配置
![技术图片](https://image.cha138.com/20210803/7a040e241cce40aca7b16b4da5121a0e.jpg)
![技术图片](https://image.cha138.com/20210803/7a040e241cce40aca7b16b4da5121a0e.jpg)
2)连接数据库:MongoDB默认端口号为 27017
![技术图片](https://image.cha138.com/20210803/056b4024136e4782a260718f6bb42702.jpg)
3)创建集合(用shell命令时不需要创建集合)
![技术图片](https://image.cha138.com/20210803/41ea4797fad6408283019a11d3a0a122.jpg)
4)插入文档
![技术图片](https://image.cha138.com/20210803/daa17a4b304042b99aeedb38904ecbe4.jpg)
以上是关于大数据技术原理与应用第五讲NoSQL数据库:5.6 文档数据库MongoDB的主要内容,如果未能解决你的问题,请参考以下文章
大数据技术原理与应用第五讲NoSQL数据库:5.3 NoSQL的四大类型