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