關於MongoDB,你可能不知道的十件事

熊貓夜未眠發表於2011-09-21

作者:nosqlfan 轉自:enter link description here

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時參與投票。

原文連結:Ten things I didn’t know about MongoDB

相關文章