课程简介
通过本次培训,可以系统的掌握MongoDB的重要知识点,通过讲义点拨和经验/案例分享,快速提高实战水平
目标收益
讲授和案例讨论相结合,快速提高实战水平
培训对象
课程大纲
1、 第一讲义 一:基础讲义 |
1. 什么是NoSQL? 2. 为什么要用NoSQL? 3. MongoDB是什么? 4. 文档介绍 5. 语法书写注意事项--经验性使用 6. 数据类型 7. MongoDB优势 8. BSON 9. 和关系型数据库对比 |
二:部署 |
1. 3.4/4.0特性《生产环境选型-稳定》 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概述 2、 第二讲义 |
第二讲义: 一:MongoDB并发、锁、事务 |
1.锁和隔离级别 2.锁对象、锁模式 3.锁兼容 4.WT引擎讲解 1) 控制读写的ticket 2) 案例 kill大于100ms的查询 |
二:副本集 |
二:副本集 1.副本集阐述 1) journal 2) 写关注 3) 写关注案例 4) 复制集故障处理分析 5) 延迟诊断之一 6) 配置一主一从一仲裁-主发生切换 7) 驱动API 2.添加/删除节点/隐藏/延迟等 3.维护案例 1) 副本集案例-三节点down了两台(重启down的两台依然不能使用的情况) 2) 副本集案例-如何进行手工主从切换 3) 副本集案例—同步慢--导致secondary成为recover状态 4) 副本集案例-操作数组 |
三:副本集管理 |
1. 以线上案例实际分析—操作如何不影响业务 2. 注意事项 |
3、 第三讲义 内容一:优化 |
1.如何快速查找慢查询—分析 2.查询分析优化案例 |
内容二:监控 |
1.mongo —关注重点参数 2.zabbix监控 |
4、 第四讲义 内容一:数据库迁移/备份恢复 |
1. MongoDB dump/restore export/import 2. MongoDB迁移方案-冷备份+增量备份恢复方案 3. 业务数实时迁移-增量oplog_备份恢复《重点》 |
5、 第五讲义 内容一: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.数据迁移案例分析 |
6、 提问: | 每天预留1个小时 |
1、 第一讲义 一:基础讲义 1. 什么是NoSQL? 2. 为什么要用NoSQL? 3. MongoDB是什么? 4. 文档介绍 5. 语法书写注意事项--经验性使用 6. 数据类型 7. MongoDB优势 8. BSON 9. 和关系型数据库对比 |
二:部署 1. 3.4/4.0特性《生产环境选型-稳定》 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概述 2、 第二讲义 |
第二讲义: 一:MongoDB并发、锁、事务 1.锁和隔离级别 2.锁对象、锁模式 3.锁兼容 4.WT引擎讲解 1) 控制读写的ticket 2) 案例 kill大于100ms的查询 |
二:副本集 二:副本集 1.副本集阐述 1) journal 2) 写关注 3) 写关注案例 4) 复制集故障处理分析 5) 延迟诊断之一 6) 配置一主一从一仲裁-主发生切换 7) 驱动API 2.添加/删除节点/隐藏/延迟等 3.维护案例 1) 副本集案例-三节点down了两台(重启down的两台依然不能使用的情况) 2) 副本集案例-如何进行手工主从切换 3) 副本集案例—同步慢--导致secondary成为recover状态 4) 副本集案例-操作数组 |
三:副本集管理 1. 以线上案例实际分析—操作如何不影响业务 2. 注意事项 |
3、 第三讲义 内容一:优化 1.如何快速查找慢查询—分析 2.查询分析优化案例 |
内容二:监控 1.mongo —关注重点参数 2.zabbix监控 |
4、 第四讲义 内容一:数据库迁移/备份恢复 1. MongoDB dump/restore export/import 2. MongoDB迁移方案-冷备份+增量备份恢复方案 3. 业务数实时迁移-增量oplog_备份恢复《重点》 |
5、 第五讲义 内容一: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.数据迁移案例分析 |
6、 提问: 每天预留1个小时 |