APP制作使用MongoDB3.0改進版本的方法
一、APP開發(fā)管理工具之MongoDB 3.0版本的改進
MongoDB 3.0版本于2015年3月3日正式發(fā)布,該版本標志蕾MongoDB的發(fā)展進入了一個全新的階段。上一個MongoDB版本號是2.6,按照習(xí)慣這個版本號應(yīng)該為2.8,怎么下子就跳到3.0了呢?據(jù)MougoDB大中華區(qū)首席技術(shù)顧問唐建法介紹,因為這個版本有了極大的改進,用2.8這個版本號有點委屈,因此MongoDB市場部王張命名為3.0。
MougoDB 3.0版本有4個方面的改進,如圖8-14所示。
深圳APP開發(fā)公司現(xiàn)在下面分別描述MougoDB 3.0版本4個方面的改進。
1.靈活的存儲架構(gòu)
在MongoDB 2 6之前的版本中只支持單的基于二內(nèi)存映射技術(shù)的存儲引擎MMAP
在MongoDB 3 0版本中改進了MongoDB的架構(gòu),引入插件式存儲引擎API,目前支持改進的集合鎖級別的ⅢIAP Vl存儲引擎和文檔鎖級別的WiredTiger存儲引擎,MongoDB 3.0版本的架構(gòu)如圖8-15所示。
MongoDB 2.6版本的刪IAP存儲引擎最大的問題是庫鎖,這意味著當多個客戶端并發(fā)訪問個庫時.如果某個客戶端正在進行寫操作,其他客戶端都必須排隊等待。MongoDB達到了定的并發(fā)量后,庫鎖對性能影響十分巨大,快的打車App曾經(jīng)使用MongoDB處理LBS,但因為MongoDB庫鎖問題,最后轉(zhuǎn)為自研發(fā)LBS方案。
MongoDB 3.0版本中MMAP存儲引擎得到了改進,庫鎖變?yōu)榧湘i。MongoDB 3.0版本最核心的變化是增加了(收購而來)高性能、可伸縮的WiredTiger存儲引擎,使MongoDB的性能得到前所未有的提升。特別是WiredTiger存儲引擎實現(xiàn)了文檔級別的鎖,這意味著如果多個客戶端同時更新個集合內(nèi)的多個文檔,再也不需要因為庫鎖而排隊等待了。
2.性能提升7~10倍
隨著MongoDB 3.0版本的發(fā)布,MongoDB在官方微博中發(fā)表了一篇性能測試報告(ttps://ww MollgoDB com/blog/post/performance-
testing-MongoDB-30-part -l-1hroughpu -improveuients -measured-yesb).詳細對比了MongoDB 2.6和MongoDB 3.0版本的性能差別。
在YCSB的測試中,MongoDB 3 0版本在多線程、批量插入場景下,比MongoDB 2 6版本大約有7倍的增長。在95%讀、5%寫的場景下:
MongoDB 3.0比MongoDB 2.6版本多4倍的并發(fā)量。在50%讀、50%寫的場景下,MougoDB 3.0比MongoDB 2.6版本多大約6倍的并發(fā)量。
3.存儲空間最多減少80%
MongoDB 3.0版本新增fviredTiger存儲引擎,支持對所有的集合數(shù)據(jù)進行壓縮,支持的壓縮選項包括:不壓縮、SnAppy壓縮和Zlib壓
SnAppy壓縮和Zlib壓縮的對比如下:
SnAppy壓縮:支持的壓縮比低,但比較節(jié)省CPU資源。
Zlib壓縮:支持的壓縮比高,最高可壓縮80%的文件大小,但比較消耗CPU資源其中SnAppy壓縮是默認的壓縮方式,用戶可以根據(jù)自己的需求選擇合適的壓縮選項
這對于廣大MongoDB使用者來說是個福音,在NnviAP存儲引擎中,采用預(yù)分配機制分配大文件用于存放數(shù)據(jù),drop、remove、compact等操作都不會釋放磁盤空間,但是可以使預(yù)分配的空間重用。使用了MongoDB 3 0版本的壓縮選項后可以節(jié)省更多的存儲空間。
二、運維成本最多降低95%
MongoDB 2.6版本中如果用戶使用了副本集、分片等集群方式,監(jiān)控、備份和管理整個集群需要使用煩瑣的命令。
MongoDB 3.0版本的高級企業(yè)版中(MongoDB 3 0包括社區(qū)版和高級企業(yè)版),新增了“Ops Ma nager”管理工具,通過里面集成的RESTful API和管理后臺,讓用戶很方便地監(jiān)控、備份和管理整個集群。好了,APP開發(fā)公司關(guān)于MougoDB 3.0的使用以及新舊版本的使用經(jīng)驗介紹本文就到這里,謝謝您的關(guān)注,希望能給您的APP開發(fā)工作有所幫助,博納網(wǎng)絡(luò)編輯整理。