你可能不知道的關(guān)于MongoDB的十個知識點
MongoDB的使用是很簡單的,參照著一些常用的教程下載相應(yīng)平臺的二進制包、創(chuàng)建dbpath,然后啟動基本上就可以熟練操作了。但是如果你真的打算在生產(chǎn)環(huán)境中使用MongoDB,還是請多進行深入的研究,下面是一位MongoDB的愛好者在參加完MongoNYC大會后總結(jié)的十個自己了解到的知識點,看看有沒有你不知道的吧。
1. MongoDB有一個大的全局鎖,這使得一個MongoDB Daemon只能同時進行一個寫操作,即使是對不同collection的操作,也只得排隊。
2. MongoDB并沒有一個基于統(tǒng)計的查詢優(yōu)化器,對查詢并發(fā)的執(zhí)行多個不同的計劃,在最快的那個返回后就終止其它任務(wù),并將這個最快的計劃指導查詢。當然不是每次查詢都執(zhí)行多個不同計劃,這個會隔一段時間執(zhí)行一次。
3. Mongos只有在你使用Sharding時才需要,在不用Sharding時,實際上是客戶端來實現(xiàn)負載均衡的。
4. MongoDB不僅僅只有Replica Sets,還有傳統(tǒng)的Master-Slave模式。(實際上你想配置成Master-Master也完全可以)
5. MongoDB的同步機器支持“slave-delay”參數(shù),這個參數(shù)指定Slave機器延遲Master多長時間。這個參數(shù)用來做準備非常合適。
6. MongoDB 使用了mmap,在32位系統(tǒng)下數(shù)據(jù)文件只能達到2G,所以32位系統(tǒng)下的MongoDB玩玩就夠了。
7. MongoDB會在日志里記錄執(zhí)行時間超過100ms的操作,實際上這個是可以靈活配置的。
8. MongoDB可以運行一些耗時較長的統(tǒng)計分析任務(wù)。
9. MongoDB不支持多主對單從的架構(gòu)(這個應(yīng)該是支持的,原文作者可能理解錯了)。
10. MongoDB的Replica Sets 模式下,可以設(shè)置一些節(jié)點為Arbiter,它們不存儲數(shù)據(jù),只在需要重新選Primary時參與投票。
關(guān)于MongoDB的知識就介紹到這里了,希望本次的介紹能夠?qū)δ兴鶐椭?/p>
【編輯推薦】


2019-11-25 14:05:47




