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

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