开发者学习笔记【阿里云云数据库助理工程师(ACA)认证:了解最受欢迎的文档数据库 MongoDB(一)】
课程地址:https://edu.aliyun.com/course/3112080/lesson/19072
了解最受欢迎的文档数据库 MongoDB(一)
内容介绍
一、 课程目标
二、 课程简介
三、 MongoDB 基本概念
四、 MongoDB 数据模型
五、 MongoDB 基本操作
六、 MongoDB 查询类型
七、 MongoDB 索引类型
八、 MongoDB 副本集
九、 MongoDB 分片集群
十、 MongoDB的七种武器
十一、 阿里云 MongoDB 的价值特征
十二、 阿里云MongoDB 优势亮点
十四、 阿里云MongoDB部署架构
十五、 阿里云MongoDB 备份/恢复
十六、 阿里云 MongoDB 监控体系
十七、 阿里云MongoDB CloudDBA:会话管理
十八、 阿里云MongoDB CloudDBA:索引推荐
十九、 MongoDB 上云/混合云/多云
二十、 阿里云 MongoDB 应用场景
一、 课程目标
1. 了解 MongoDB 的基本概念,部署架构和主要优势
2. 与原生 MongoDB 的区别,了解阿里云 MongoDB 的价值优势,部署架构,关键能力和应用场景。
二、 课程简介
1. MongoDB 简介
2. MongoDB 基本概念
3. MongoDB 部署架构
4. MongoDB 主要优势
5. 阿里云 MongoDB 简介
6. 阿里云 MongoDB 价值优势
7. 阿里云 MongoDB 部署架构
8. 阿里云 MongoDB 关键能力
9. 阿里云 MongoDB 应用场景
三、 MongoDB 基本概念
关系型数据库的主要特征是丰富的查询语句,数据的强一致性,ACID事务支持。主要表现为行列二维表,描述的是数据之间的关系。这种数据组织形式的问题主要就是变更表结构的时候需要授标导致影响业务,因此出现了非惯性型数据库。非关系型的数据库的主要特征是:灵活架构,敏捷开发,强大的扩展能力,性能优越。MongoDB 在4.0之前还不支持失误,在业界著名的数据库排名网站,MongoDB 常年排在TOP5,是类型中排名最靠前的,处于领导者地位。而且热度持续上升,被誉为最受程序员开发者欢迎的数据库。MongoDB 从4.0开始支持的失误,因此介于关系型和非关系数据型库之间,所以 MongoDB 为文档型数据库。
四、 MongoDB 数据模型
关系型数据库术语 |
MongoDB术语 |
数据库(Databese) |
数据库(Databese) |
表(Table) |
集合(Collection) |
行(Row) |
文档(Document) |
列(Column) |
字段(Field) |
一个或多个文档组成集合。
下边为 MongoDB 文档的例子,里面有多个字段和具体的值。
五、 MongoDB 基本操作(增删改查 CRUD)
支持最新4.4版本的命令
举例:
插入文档
Db.collection.insertOne()
插入文件名为“sue ”,年龄26岁,状态Pending 文档
插入多个文档,用逗号隔开文档
Db.collection.insertMany()
查询数据
Db.collection.
find
()
查询前五位大于18岁用户名和地址
更新一个文档
Db.collection.
update
One()
Db.collection.
replace
One()
批量更新多个文档
Db.collection.
update
M
any
()
删除一个文档
Db.collection.
delete
One()
批量删除多个文档
Db.collection.
delete
M
any
()
六、 MongoDB 查询类型
Key-value queries 点查
Range queries 范围查询
Search queries 选择查询
Geospatial queries 二维空间查询
Aggregation queries 聚合查询
数据量特别大时,常规数据查询会比较慢,因此需要建立索引,加快查询数据
七、 MongoDB 索引类型(数据量大时使用,让速度变快)
Single Field Indexes 单字段索引
Compound Indexes 多字段组合索引
Multikey Indexes 单t值索引
Text Indexes 文本索引
Geospatial Indexes 二维空间索引
Hashed Indexes 哈希索引
MongoDB 索引类型较多,可以进入MongoDB官网深入了解
八、 MongoDB 副本集
MongoDB 支持副本集和分别集训和部署架构。副本集由 Client 和 Primary 组成,每个副本集只有一个 primary节点,承载的是独显流量。 Secondary 节点可以有多个,承载的是独流量。当primary 节点发生故障, Secondary 节点会重新选组并建立新的组成关系,从而实现服务的连续使用。
九、 MongoDB 分片集群(Sharded Cluster)
MongoDB 分片集群包含三种组建 mongos 负责路由多线请求和负载均衡,一般可以有多个节点。Config servers 主要存放实例的元数据和一些系统库,还有参数配置的信息,本身为副本集。 Shard 主要用于存放数据封片,还有处理读写请求,一般有两个以上,每个 shard 本身也是副本集。
下图直观显示一个 MongoDB 的数据,均匀分布到四个 shard上,每个分片上有256GB 的数据,可以通过扩展 shard 的数量;来实现海量数据的存储和处理。