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


2019-11-25 14:05:47




