課程簡(jiǎn)介
通過(guò)本次培訓(xùn),可以系統(tǒng)的掌握MongoDB的重要知識(shí)點(diǎn),通過(guò)講義點(diǎn)撥和經(jīng)驗(yàn)/案例分享,快速提高實(shí)戰(zhàn)水平
目標(biāo)收益
講授和案例討論相結(jié)合,快速提高實(shí)戰(zhàn)水平
培訓(xùn)對(duì)象
課程大綱
1、 第一講義 一:基礎(chǔ)講義 |
1. 什么是NoSQL? 2. 為什么要用NoSQL? 3. MongoDB是什么? 4. 文檔介紹 5. 語(yǔ)法書(shū)寫(xiě)注意事項(xiàng)--經(jīng)驗(yàn)性使用 6. 數(shù)據(jù)類型 7. MongoDB優(yōu)勢(shì) 8. BSON 9. 和關(guān)系型數(shù)據(jù)庫(kù)對(duì)比 |
二:部署 |
1. 3.4/4.0特性《生產(chǎn)環(huán)境選型-穩(wěn)定》 2. 參數(shù)說(shuō)明--注意事項(xiàng) 3. 架構(gòu) 主從和副本集模式 4. 架構(gòu) 集群分片模式 5. 原理闡述 6. 角色和權(quán)限 7. 案例: 8. 使用仲裁節(jié)點(diǎn)選舉導(dǎo)致wt文件增大 9. 部署后mongodb連接數(shù)問(wèn)題 |
三:MongoDB場(chǎng)景分析 |
1. Mongodb不適用場(chǎng)景 2. MongoDB適用場(chǎng)景 3. 分片適用場(chǎng)景(案例說(shuō)明) |
四:MongoDB設(shè)計(jì)規(guī)范和案例 |
1. 設(shè)計(jì)規(guī)范<重點(diǎn)> 2. 統(tǒng)計(jì)分組函數(shù)優(yōu)化 3. 文檔設(shè)計(jì)環(huán)境中<禁止使用_id,如:向_id中寫(xiě)入自定義內(nèi)容>參考”MongoDB文檔全局唯一ID的設(shè)計(jì)思路“ 4. 特別注意事項(xiàng)—對(duì)數(shù)據(jù)操作方面 5. 案例 mongodb-創(chuàng)建索引引發(fā)的業(yè)務(wù)影響 6. 安全--mongodb認(rèn)證配置 7. 設(shè)計(jì)MongoDB集合沒(méi)有_id,業(yè)務(wù)自定義導(dǎo)致的線上問(wèn)題 |
五:數(shù)據(jù)庫(kù)基本操作原理 |
1. 插入原理 2. 集合壓縮--設(shè)計(jì)規(guī)范 3. 內(nèi)嵌文檔設(shè)計(jì)注意事項(xiàng) 4. 索引 5. Btree概述 2、 第二講義 |
第二講義: 一:MongoDB并發(fā)、鎖、事務(wù) |
1.鎖和隔離級(jí)別 2.鎖對(duì)象、鎖模式 3.鎖兼容 4.WT引擎講解 1) 控制讀寫(xiě)的ticket 2) 案例 kill大于100ms的查詢 |
二:副本集 |
二:副本集 1.副本集闡述 1) journal 2) 寫(xiě)關(guān)注 3) 寫(xiě)關(guān)注案例 4) 復(fù)制集故障處理分析 5) 延遲診斷之一 6) 配置一主一從一仲裁-主發(fā)生切換 7) 驅(qū)動(dòng)API 2.添加/刪除節(jié)點(diǎn)/隱藏/延遲等 3.維護(hù)案例 1) 副本集案例-三節(jié)點(diǎn)down了兩臺(tái)(重啟down的兩臺(tái)依然不能使用的情況) 2) 副本集案例-如何進(jìn)行手工主從切換 3) 副本集案例—同步慢--導(dǎo)致secondary成為recover狀態(tài) 4) 副本集案例-操作數(shù)組 |
三:副本集管理 |
1. 以線上案例實(shí)際分析—操作如何不影響業(yè)務(wù) 2. 注意事項(xiàng) |
3、 第三講義 內(nèi)容一:優(yōu)化 |
1.如何快速查找慢查詢—分析 2.查詢分析優(yōu)化案例 |
內(nèi)容二:監(jiān)控 |
1.mongo —關(guān)注重點(diǎn)參數(shù) 2.zabbix監(jiān)控 |
4、 第四講義 內(nèi)容一:數(shù)據(jù)庫(kù)遷移/備份恢復(fù) |
1. MongoDB dump/restore export/import 2. MongoDB遷移方案-冷備份+增量備份恢復(fù)方案 3. 業(yè)務(wù)數(shù)實(shí)時(shí)遷移-增量oplog_備份恢復(fù)《重點(diǎn)》 |
5、 第五講義 內(nèi)容一:MonogoDB集群 |
1. MonogoDB集群-闡述集群的意義 2. 什么時(shí)候需要分片? 3. 分片架構(gòu) 4. 集群規(guī)劃 5. 數(shù)據(jù)分布策略 6. MonogoDB集群-片鍵的選擇? 7. Mongos 8. Config Server 9. 維護(hù)數(shù)據(jù)均衡發(fā)布 10. 部署分片步驟 11. MonogoDB集群-管理和維護(hù)shard 12. MonogoDB集群-分配預(yù)分配 13. jumbo chunk及 chunk size 14. moveChunk 歸檔設(shè)置 15. recoverShardingState 設(shè)置 3.4之前版本的bug 16. Sharding 架構(gòu)使用中的一些建議 |
內(nèi)容二:綜合案例分析 |
1.監(jiān)控qr/qt比較高分析場(chǎng)景 2.查詢優(yōu)化分析案例 3.數(shù)據(jù)遷移案例分析 |
6、 提問(wèn): | 每天預(yù)留1個(gè)小時(shí) |
1、 第一講義 一:基礎(chǔ)講義 1. 什么是NoSQL? 2. 為什么要用NoSQL? 3. MongoDB是什么? 4. 文檔介紹 5. 語(yǔ)法書(shū)寫(xiě)注意事項(xiàng)--經(jīng)驗(yàn)性使用 6. 數(shù)據(jù)類型 7. MongoDB優(yōu)勢(shì) 8. BSON 9. 和關(guān)系型數(shù)據(jù)庫(kù)對(duì)比 |
二:部署 1. 3.4/4.0特性《生產(chǎn)環(huán)境選型-穩(wěn)定》 2. 參數(shù)說(shuō)明--注意事項(xiàng) 3. 架構(gòu) 主從和副本集模式 4. 架構(gòu) 集群分片模式 5. 原理闡述 6. 角色和權(quán)限 7. 案例: 8. 使用仲裁節(jié)點(diǎn)選舉導(dǎo)致wt文件增大 9. 部署后mongodb連接數(shù)問(wèn)題 |
三:MongoDB場(chǎng)景分析 1. Mongodb不適用場(chǎng)景 2. MongoDB適用場(chǎng)景 3. 分片適用場(chǎng)景(案例說(shuō)明) |
四:MongoDB設(shè)計(jì)規(guī)范和案例 1. 設(shè)計(jì)規(guī)范<重點(diǎn)> 2. 統(tǒng)計(jì)分組函數(shù)優(yōu)化 3. 文檔設(shè)計(jì)環(huán)境中<禁止使用_id,如:向_id中寫(xiě)入自定義內(nèi)容>參考”MongoDB文檔全局唯一ID的設(shè)計(jì)思路“ 4. 特別注意事項(xiàng)—對(duì)數(shù)據(jù)操作方面 5. 案例 mongodb-創(chuàng)建索引引發(fā)的業(yè)務(wù)影響 6. 安全--mongodb認(rèn)證配置 7. 設(shè)計(jì)MongoDB集合沒(méi)有_id,業(yè)務(wù)自定義導(dǎo)致的線上問(wèn)題 |
五:數(shù)據(jù)庫(kù)基本操作原理 1. 插入原理 2. 集合壓縮--設(shè)計(jì)規(guī)范 3. 內(nèi)嵌文檔設(shè)計(jì)注意事項(xiàng) 4. 索引 5. Btree概述 2、 第二講義 |
第二講義: 一:MongoDB并發(fā)、鎖、事務(wù) 1.鎖和隔離級(jí)別 2.鎖對(duì)象、鎖模式 3.鎖兼容 4.WT引擎講解 1) 控制讀寫(xiě)的ticket 2) 案例 kill大于100ms的查詢 |
二:副本集 二:副本集 1.副本集闡述 1) journal 2) 寫(xiě)關(guān)注 3) 寫(xiě)關(guān)注案例 4) 復(fù)制集故障處理分析 5) 延遲診斷之一 6) 配置一主一從一仲裁-主發(fā)生切換 7) 驅(qū)動(dòng)API 2.添加/刪除節(jié)點(diǎn)/隱藏/延遲等 3.維護(hù)案例 1) 副本集案例-三節(jié)點(diǎn)down了兩臺(tái)(重啟down的兩臺(tái)依然不能使用的情況) 2) 副本集案例-如何進(jìn)行手工主從切換 3) 副本集案例—同步慢--導(dǎo)致secondary成為recover狀態(tài) 4) 副本集案例-操作數(shù)組 |
三:副本集管理 1. 以線上案例實(shí)際分析—操作如何不影響業(yè)務(wù) 2. 注意事項(xiàng) |
3、 第三講義 內(nèi)容一:優(yōu)化 1.如何快速查找慢查詢—分析 2.查詢分析優(yōu)化案例 |
內(nèi)容二:監(jiān)控 1.mongo —關(guān)注重點(diǎn)參數(shù) 2.zabbix監(jiān)控 |
4、 第四講義 內(nèi)容一:數(shù)據(jù)庫(kù)遷移/備份恢復(fù) 1. MongoDB dump/restore export/import 2. MongoDB遷移方案-冷備份+增量備份恢復(fù)方案 3. 業(yè)務(wù)數(shù)實(shí)時(shí)遷移-增量oplog_備份恢復(fù)《重點(diǎn)》 |
5、 第五講義 內(nèi)容一:MonogoDB集群 1. MonogoDB集群-闡述集群的意義 2. 什么時(shí)候需要分片? 3. 分片架構(gòu) 4. 集群規(guī)劃 5. 數(shù)據(jù)分布策略 6. MonogoDB集群-片鍵的選擇? 7. Mongos 8. Config Server 9. 維護(hù)數(shù)據(jù)均衡發(fā)布 10. 部署分片步驟 11. MonogoDB集群-管理和維護(hù)shard 12. MonogoDB集群-分配預(yù)分配 13. jumbo chunk及 chunk size 14. moveChunk 歸檔設(shè)置 15. recoverShardingState 設(shè)置 3.4之前版本的bug 16. Sharding 架構(gòu)使用中的一些建議 |
內(nèi)容二:綜合案例分析 1.監(jiān)控qr/qt比較高分析場(chǎng)景 2.查詢優(yōu)化分析案例 3.數(shù)據(jù)遷移案例分析 |
6、 提問(wèn): 每天預(yù)留1個(gè)小時(shí) |