MongoDB学习计划

一、课程简介与目标
通过本次培训,可以系统的掌握MongoDB的重要知识点,通过讲义点拨和经验/案例分享,快速提高实战水平;
每个专题结束后,会有相应的实验进行实践。
二、讲师:目前任职多家公司数据库技术顾问;为几十家大型企业做过数据库培训;
吉林大学计算机系毕业后加入某外企,某互联网等;
从事Oracle、MongoDB、MySQL、Hadoop、Redis等咨询、支持和培训工作;
为大量银行/金融、电信行业、互联网、保险等客户提供支持和服务;
擅长数据库架构、问题诊断和性能调优以及web诊断、大数据管理等。
2014年,考取Oracle OCM
2016年,加入MongoDB核心社区,从事课件书写和技术分享
2018年,研究NewSQL,并应用到线上使用
三、课时:4~5天,每天 6小时
四、教学方式、方法:讲授和案例讨论相结合[可灵活选择想学习以及客户定制的课程]
五、课程说明:
第一讲义
一:基础讲义
1.什么是NoSQL?
2.为什么要用NoSQL?
3.MongoDB是什么?
4.文档介绍
5.语法书写注意事项--经验性使用
6.数据类型
7.MongoDB优势
8.BSON
9.和关系型数据库对比

二:部署和设计重点
1.《生产环境选型-稳定》
2.参数说明--注意事项
3.架构 主从和副本集模式
4.架构 集群分片模式
5.原理阐述
6.角色和权限
7.案例:
8.使用仲裁节点选举导致wt文件增大
9.部署后mongodb连接数问题

三:MongoDB场景分析
1.Mongodb不适用场景
2.MongoDB适用场景
3.分片适用场景(案例说明)

四:MongoDB设计规范和案例
1.设计规范<重点>
2.统计分组函数优化
3.文档设计环境中<禁止使用_id,如:向_id中写入自定义内容>参考”MongoDB文档全局唯一ID的设计思路“
4.特别注意事项—对数据操作方面
5.案例 mongodb-创建索引引发的业务影响
6.安全--mongodb认证配置
7.设计MongoDB集合没有_id,业务自定义导致的线上问题

五:数据库基本操作原理
1.插入原理
2.集合压缩--设计规范
3.内嵌文档设计注意事项
4.索引
5.Btree概述

第二讲义
一:MongoDB并发、锁、事务
1.锁和隔离级别
2.锁对象、锁模式
3.锁兼容
4.WT引擎讲解
1)控制读写的ticket
2)案例 kill大于100ms的查询

二:副本集
1.副本集阐述
1)journal
2)写关注
3)写关注案例
4)复制集故障处理分析
5)延迟诊断之一
6)配置一主一从一仲裁-主发生切换
7)驱动API
2.添加/删除节点/隐藏/延迟等
3.维护案例
oplog大小修改
两种方式:在线+添加节点
1)副本集案例-三节点down了两台(重启down的两台依然不能使用的情况)
2)副本集案例-如何进行手工主从切换
3)副本集案例—同步慢--导致secondary成为recover状态
4)副本集案例-操作数组
5)在什么情况下挑战优化参数--具体案例分析

三:副本集管理
1.以线上案例实际分析—操作如何不影响业务
2.注意事项

第三讲义
内容一:优化
1.如何快速查找慢查询—分析
2.查询分析优化案例
内容二:监控
1.mongo —关注重点参数

第四讲义
内容一:数据库迁移/备份恢复
1.MongoDB dump/restore export/import
2.MongoDB迁移方案-冷备份+增量备份恢复方案
3.业务数实时迁移-增量oplog_备份恢复《重点》

第五讲义
内容一:MonogoDB集群
1.MonogoDB集群-阐述集群的意义
2.什么时候需要分片?
3.分片架构
4.集群规划--一套集群根据业务我们如何评估
5.数据分布策略
6.MonogoDB集群-片键的选择?
7.Mongos
8.Config Server
9.维护数据均衡发布
10.部署分片步骤
11.MonogoDB集群-管理和维护shard
12.MonogoDB集群-分配预分配
13.jumbo chunk及 chunk size
14.moveChunk 归档设置
15.recoverShardingState 设置 3.4之前版本的bug
16.Sharding 架构使用中的一些建议

内容二:综合案例分析
1.监控qr/qt比较高分析场景
2.查询优化分析案例
3.数据迁移案例分析
4.整体性能分析--参数优化

提问:每天预留1个小时
通过培训,大家互动提问,如何避免线上问题

微信:18810049378

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章