MongoDB 高手课
唐建法(TJ)
Tapdata CTO、MongoDB 中文社区主席、前 MongoDB 大中华区首席架构师
19351 人已学习
新⼈⾸单¥59
课程目录
已完结/共 53 讲
MongoDB 高手课
登录|注册
留言
34
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 10 | 复制集机制及原理
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | 认识文档数据库MongoDB
04 | MongoDB特色及优势
05 | 实验:安装MongoDB
06 | MongoDB基本操作
07 | 实验:Hello World程序开发
08 | 聚合查询
09 | 实验:聚合查询
10 | 复制集机制及原理
11 | 实验:搭建MongoDB复制集
12 | MongoDB全家桶
13 | 模型设计基础
14 | JSON文档模型设计特点
15 | 文档模型设计之一:基础设计
16 | 文档模型设计之二:工况细化
17 | 文档模型设计之三:模式套用
18 | 设计模式集锦
19 | 事务开发:写操作事务
20 | 事务开发:读操作事务之一
21 | 事务开发:读操作事务之二
22 | 事务开发:多文档事务
23 | Change Stream
24 | MongoDB开发最佳实践
25 | 分片集群机制及原理
26 | 分片集群设计
27 | 实验:分片集群搭建及扩容
28 | MongoDB监控最佳实践
29 | MongoDB备份与恢复
30 | 备份与恢复操作
31 | MongoDB安全架构
32 | MongoDB安全加固实践
33 | MongoDB索引机制(一)
34 | MongoDB索引机制(二)
35 | MongoDB读写性能机制
36 | 性能诊断工具
37 | 高级集群设计:两地三中心
38 | 实验:搭建两地三中心集群
39 | 高级集群设计:全球多写
40 | MongoDB上线及升级
41 | MongoDB应用场景及选型
42 | MongoDB典型案例(一)
43 | MongoDB典型案例(二)
44 | 关系型数据库迁移
45 | 数据库迁移方式及工具
46 | Oracle迁移实战
47 | MongoDB + Spark实时大数据
48 | MongoDB + Spark连接实战
49 | MongoDB SQL套接件
50 | MongoDB与微服务
51 | MongoDB与数据中台
52 | MongoDB数据中台案例
53 | 结果测试&结束语
登录 后留言

全部留言(34)

  • 最新
  • 精选
Julien
老师你好。MongoDB官方好像是建议1主1从1arbiter。如果是1主2从,主节点挂掉后,两个从节点都投票给自己,这样僵持,不是会没法产生新的master吗?

作者回复: “MongoDB官方好像是建议1主1从1arbiter” 请提供相应的文章。 主节点挂了以后,两个从节点的投票算法会防止你说的现象发生。具体来说,如果两个从节点条件完全一样,那么第一个主张的节点就获胜。如果两个从节点同时主张自己,那么两个人同时放弃,并用一个随机值等待一小段时间(数秒),然后重试。所以总有一个节点会在另一个之前选为主节点。

2019-11-25
6
9
Allen_
不得不个体TJ赞一个。都是干货而且很清楚,并且把原因讲出来了,还有对应的practice。完美。

作者回复: 谢谢夸奖😊

2020-03-11
5
qbit
通常怎样提高写性能?

作者回复: - 升级存储是最直接的方案,如PCIE + SSD - 注意索引的数量:索引越多写入越慢 - 分片: 增加写的节点来提供并发

2019-11-22
5
qbit
老师前面答复中说,增加副本集节点,只能提高并发访问能力,单个查询并不会变快。 那么有办法通过水平扩展的方式提高单个查询的性能吗?

作者回复: 通过水平扩展可以提高整体的吞吐量,但是单个(比如说,查询 id=1234 这条记录)查询是不会得到改善的。因为这个查询就是会在一个节点上发生。 提高单个查询性能就是把数据放在内存里,加上合适的索引可以来提升性能(降低读取延迟)

2019-11-27
2
3
公众号:程序员大兵
如果是奇数节点,那么主节点挂掉,不就变成偶数节点了?

作者回复: 总数是看最初的配置,如你部署并配置了3个,虽然坏了一个,但是你的拓扑还是3节点, 按3节点的规则,剩下2个存活就可以正常工作。

2019-11-21
3
3
青丝成雪
老师您好,复制集主从读写分离看起来很美好,但是如果对主从同步延时要求高,使用就很受限。 比如某些业务会写操作多,实时要求高的读场景多,这样主节点压力就很大,而从节点可以分担的业务场景非常有限。 老师如何看待复制集架构在这种业务场景中的应用和优化呢?

作者回复: 对。读写分离的读一般指的是对时效性要求不高的读场景。如果要求高一般都建议读主节点。如果主节点性能扛不住,这个时候就要采用分片集群来分担压力(读和写)。

2020-08-05
1
polk
复制集,有没有集群?就是分布式存储

作者回复: 复制集也是集群,3个节点以上的高可用集群。数据不做分布式存储,只是主从热备

2020-07-15
1
ezekiel
如果master中数据,没同步到slave之前挂了,数据是否会丢失?

作者回复: 可以学习后面的writeConcern, 写事务 这一节,你就了解答案了。

2020-01-12
1
旺旺
老师, 1.建立3个独立的单机库,然后导入同一份数据,然后将3个节点设置为复制集模式,那么被设置为从节点的数据库里面的数据会被清空,然后再从主节点再同步回来吗? 2.如果3个节点通过公网ip地址互连,那么这中间的数据通信需要做安全防护吗?也就是这个时候节点间的通信数据被窃取,是否有泄露数据的风险?

作者回复: 1)是的会重新同步。节点之间判断是否需要同步是根据local库里的元数据决定的。里面记录了节点同步的状态信息,并不是看你实际存储的数据。 2)建议用SSL/TLS 加密链路就可以有效防止数据被窃取。 https://docs.mongodb.com/manual/tutorial/configure-ssl/index.html

2019-12-13
2
1
老师你好,主从复制是否会产生延迟,如果有延迟,那么常见有哪些因素会导致延迟,该如何避免或者降低延迟

作者回复: 主从复制会有延迟。常见因素: 1) 网络抖动 (没办法) 2)网络拥挤 (评估数据增量需求,给予足够的带宽) 3)节点之间延迟太长 4)主节点压力过大 (注意监控,压力过大要扩容) 5)从节点配置不均衡,低于主节点配置(尽量均衡)

2019-12-08
1
收起评论