MongoDB數(shù)據(jù)庫實戰(zhàn)
培訓班型: 企業(yè)內訓、公開課
課程長度: 2天/12小時
培訓講師: 博學高級講師
培訓地點: 杭州市文三路252號偉星大廈19樓博學教育
環(huán)境要求: 投影儀、白板、大白紙
培訓形式: 實例講授,現(xiàn)場演、練、及時溝通
培訓資料: 培訓教材
課程內容
隨著大數(shù)據(jù)時代的到來,各種NoSQL數(shù)據(jù)存儲產(chǎn)品蜂擁而至,MongoDB作為一支市場占有率非常高的分布式文檔存儲數(shù)據(jù)庫,它具備了易用性、Auto Sharding、高可擴展性、豐富的查詢支持等特性,相比較傳統(tǒng)的關系數(shù)據(jù)庫,MongoDB具有了較大的誘惑力。伴隨著MongoDB 3.0版本的發(fā)布,此版本在寫入效率、數(shù)據(jù)壓縮率等方面進一步提升,在運維成本上進一步縮減,隨著版本迭代MongoDB會更加穩(wěn)定,因此有理由相信MongoDB占有市場份額會進一步提升,為大家在分布式海量數(shù)據(jù)存儲方面提供靠譜的數(shù)據(jù)庫!
本次課程,將會通過循序漸進、步步深入的方式講解,理論結合實踐,每節(jié)課的講解都會基于線上億級別實際的使用實踐來展開,使同學可以熟練掌握MongoDB的特性、MongoDB集群如何部署、MongoDB庫&表如何高效設計、GridFS如何選擇和使用、MongoDB集群的監(jiān)控手段、線上真實問題案例分析及其解決方案、如何提升集群服務性能、如何無縫擴容擴展以及版本升級。通過本次課程的學習,同學們可以真正掌握MongoDB,從而應用于線上生產(chǎn)環(huán)境!
培訓對象:
本課程適用于對MongoDB(NoSQL、數(shù)據(jù)存儲等)感興趣的學員。本次課程,將會通過循序漸進、步步深入的方式講解,理論結合實踐,每節(jié)課的講解都會基于線上億級別實際的使用實踐來展開,使同學們可以熟練掌握MongoDB。因此學員*有一定的數(shù)據(jù)存儲的基礎。
環(huán)境準備:
硬件:物理機盡量4g以上內存
OS:Centos 5.9及以上 64位
MongoDB:2.0.0及以上 64位
課程大綱:
*課:MongoDB入門
1.NoSQL簡介;
2.MongoDB是什么;
3.MongoDB的關鍵特性都有哪些;
4.MongoDB適用場景是什么;
5.MongoDB版本回顧;
6.學完MongoDB課程能具備什么樣的技能、達到什么樣的高度;
7.本次課程學員需要前期準備的基礎軟硬件環(huán)境;
第二課:MongoDB部署
1.MongoDB的體系架構解讀;
2.MongoDB生態(tài)系統(tǒng)節(jié)點類型;
3.MongoDB主從復制模式解讀;
4.MongoDB副本集復制模式解讀;
5.MongoDB分片解讀;
6.MongoDB集群部署方式都有哪些?如何做選擇;
7.我們的MongoDB集群部署實踐;
第三課:MongoDB庫如何設計
1.MongoDB Autosharding是否靠譜;
2.MongoDB 庫級sharding是否需要開啟;
3.MongDB 庫設計原則;
4.我們的MongoDB庫設計實踐;
第四課:MongoDB 表如何設計
1.collection sharding 是否靠譜;
2.collection sharding 是否需要開啟;
3.free scheme 真的free?怎么應對;
4.collection 字段名如何選?。?
5.collection 索引如何設計;
6.collection 空間地理索引是否靠譜?如何設計;
7.collection 設計原則;
8.collection 單表數(shù)據(jù)量大如何sharding;
9.我們的MongoDB 表設計實踐;
第五課:MongoDB GridFS
1.GridFS是什么;
2.GridFS適用場景是什么;
3.GridFS如何使用;
4.我們的GridFS使用實踐;
第六課:MongoDB MapReduce
1.MongoDB集群Map Reduce原理;
2.MongoDB集群上如何做Map Reduce;
3.我們的MongoDB Map Reduce實踐;
第七課:MongoDB集群監(jiān)控
1.MongoDB集群監(jiān)控的方式都有哪些;
2.Mongosniff能監(jiān)控什么,如何監(jiān)控;
3.Mongostat能監(jiān)控什么,如何監(jiān)控;
4.MongoDB內部工具能監(jiān)控什么,如何監(jiān)控;
5.MMS能監(jiān)控什么,如何監(jiān)控;
6.第三方監(jiān)控能監(jiān)控什么,如何監(jiān)控;
7.我們的MongoDB集群監(jiān)控實踐;
第八課:MongoDB集群數(shù)據(jù)安全性和一致性
1.MongoDB集群會出現(xiàn)數(shù)據(jù)是否會丟失;
2.MongoDB集群數(shù)據(jù)安全性如何保證;
3.MongoDB集群是否會出現(xiàn)數(shù)據(jù)不一致;
4.MongoDB集群一致性如何保證;
5.我們的MongoDB集群數(shù)據(jù)安全性和一致性實踐;
第九課:MongoDB集群線上典型問題案例分析及解決
1.大量刪除數(shù)據(jù)問題及其解決方案;
2.大量數(shù)據(jù)空洞問題及其解決方案;
3.存儲量&并發(fā)量增大,CPU飆升問題及其解決方案;
4.Sharding遷移數(shù)據(jù)抖動問題及其解決方案;
5.內存頻繁swap、磁盤IO性能不足問題及其解決方案;
6.地理空間索引查詢和重構消耗過多CPU資源問題及其解決方案;
第十課:MongoDB集群性能優(yōu)化方案
1.導致MongoDB集群性能低下原因是什么;
2.如何盡早發(fā)現(xiàn)MongoDB集群性能問題;
3.如何收縮數(shù)據(jù)提升性能;
4.如何Scale Up方式提升性能;
5.如何Scale Out方式提升性能;
6.我們的MongoDB集群性能優(yōu)化實踐;
第十一課:MongoDB集群如何無縫擴容擴展
1.什么情況下我們需要擴容MongoDB集群;
2.常用的MongoDB集群擴容方案都有哪些;
3.如何做到無縫的MongoDB集群擴容擴展;
4.我們的MongoDB集群擴容擴展實踐;
第十二課:MongoDB集群如何無縫版本升級
1.什么情況下我們需要做版本的升級;
2.如何無縫對MongoDB集群版本升級;
3.我們的MongoDB集群無縫升級實踐;
第十三課:MongoDB 3.0及其應對方案
1.MongoDB 3.0關鍵特性是什么;
2.我們如何應對;