MongoDB 高手课
唐建法(TJ)
Tapdata CTO、MongoDB 中文社区主席、前 MongoDB 大中华区首席架构师
19351 人已学习
新⼈⾸单¥59
课程目录
已完结/共 53 讲
MongoDB 高手课
登录|注册
留言
24
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 04 | MongoDB特色及优势
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 | 结果测试&结束语
登录 后留言

全部留言(24)

  • 最新
  • 精选
Victor
为什么副本集说是5个9的高可用?

作者回复: MongoDB复制集在从节点故障时候是不会影响到可用性。 在主节点故障,进行选举的时候需要数秒到十几秒,这期间会影响写入。一年有365天x86640秒 ~= 3000多万秒。假设你每个月发生一次主节点故障或者其他问题导致选举,每次影响15秒,那么可用率就是:就是(3000w-12x15) / 3000w ~= 99.9994%

2019-11-14
21
旺旺
老师,MongoDB这种复制集模式,在不同的数据中心,这中间的网络延迟比较严重吧,不会影响做复制集的效果吗? 另外一个,数据规模达到多大级别需要使用分片机制? 我们现在数据有200多G,是不是复制集已经足以应对了? 谢谢老师!

作者回复: 在多中心部署的时候要考虑网络延迟,所以一般多活中心只是建议能够接受一定数据延迟的情况下才建议。 分片有3个触发条件:数据量,并发量,以及热数据大小(内存需求)。理论上,任意一个都会触发分片需求。如果只看数据量,单分片一般可以到1-2TB。

2019-11-14
7
Jack Wei
你好,关于加字段应用下线,现在mysql等关系型数据库也可以在线加字段,不需要应用下线;针对数据扫描的这块,我觉得应该从SSD的磁盘角度来说,机械硬盘已经不是主流了!

作者回复: 恩恩MySQL是支持,虽然真正线上使用的不算多。 另外大部分关系型数据库还是不支持。 机械硬盘在服务器市场还是占据大多数,特别是数据中心。可能还需要相当一段时间才会慢慢淘汰。

2019-11-14
6
红豆成香
老师,遇到一个对我来说的难题,找了很久,要是想缓存文件,如pdf或者word应该怎么办,看到mongodb的文件是json,内心凉凉

作者回复: GridFS 了解一下。

2020-03-24
4
james
在于和mysql比写入性能方面优势大吗

作者回复: 按照我个人经验是有明显的优势的。有好几家大厂的兄弟,包括百度,网易,字节都有分享类似的经验。 稍微网络搜一下,都有十倍或者更多的数字。原因: 1)MongoDB默认的事务级别比MySQL低 2)MongoDB支持的batch 写入模式可以大幅度提升写入速度 3)MongoDB默认写到内存就返回,不等落盘

2019-11-19
4
4
MongoDB 也有说是基于 BSON 模型, 这个BSON模型怎么理解呢? 只是JSON二进制存储吗?

作者回复: BSON 是一个物理层的概念:在存储到硬盘,和传输到网络上的时候所用。通常仅仅存储引擎或者mongodb驱动的开发者才需要关注。大部分MongoDB使用者还是基于JSON。

2019-11-15
3
heyucool
mongodb是不是完爆mysql呢?什么情况下该选用mysql而不是MongoDB呢?

作者回复: 实际情况是,很多同学在学校里学习的只是SQL。很多开发团队,特别是有项目压力的,没有时间让团队来学习,就会选择大家比较熟悉的方式。 如果有额外的时间的话,我的几个创业公司的朋友都说,想从MySQL 切换到MongoDB。

2020-07-10
2
1
梦想
MongoDB支持跨版本升级吗 例如2.x升级到4.x

作者回复: mongodump / mongorestore的方式可以跨版本,但是跨这么多也要试试才行。

2020-03-26
1
xydsdsr
老师,请教一下,目前我们游戏中存储的章节数据。一个章节包含多个关卡,一个关卡包含多个脚本数据。 现在的做法是建立三个表来存储章节、关卡和脚本,每个表都有多个字段,通过id建立关联。思考过怎么组合使用,但是存在单独访问某一个脚本或某一个关卡信息的情况,感觉如果组合使用获取这种信息会很麻烦,请问下老师是否应该组合使用?还是用多个表通过id关联更好用呢?

作者回复: 如果你大部分的操作是基于脚本和关卡直接操作,那如果用组合的方法不一定是最优的。虽然,MongoDB对嵌套数组的操作支持还是很给力,你可以直接取出关卡或脚本,通过使用projection 过滤字段及不匹配的数组元素。对内嵌数组操作也是可以用到索引的,所以效率也不会太糟糕。

2020-02-20
1
单机多核的计算行服务器,mongodb针对多核有没有优势?

作者回复: wiredtiger可以充分利用多核做并行处理。

2019-11-27
1
收起评论