關於MongoDB,你可能不知道的十件事
作者: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時參與投票。
相關文章
- 關於 Git 和 Github 你不知道的十件事Github
- 關於Handler同步屏障你可能不知道的問題
- 關於 Google 你可能還不知道的26個事實Go
- 關於HTML你可能不知道的一些知識點HTML
- 關於開源文件:程式設計師可能忽略的十件事程式設計師
- 你可能不知道的JSJS
- 你(可能)不知道的web apiWebAPI
- 你可能不知道的htmlHTML
- 關於“三國志”系列遊戲,那些你可能不知道的奇怪事遊戲
- 關於 Java 你不知道的 10 件事Java
- 關於面試你不知道的幾點面試
- 你可能不知道的小程式
- 你可能不知道的React用法?React
- 你可能不知道的pythonPython
- 關於MongoDB你需要知道的幾件事MongoDB
- 39個你不知道的關於亞馬遜的真相亞馬遜
- 你可能不知道的 Laravel Eloquent 操作Laravel
- 你可能不知道的 Object.defineProperty()Object
- 你可能不知道的css-doodleCSS
- 那些你可能不知道的Web APIsWebAPI
- 你可能不知道的字串分割技巧字串
- 你可能不知道的絕對定位
- 20個你(可能)不知道的Git命令Git
- [你可能不知道的Vue]-scoped CssVueCSS
- 關於Flutter你要知道的可能都在這兒Flutter
- 關於Java序列化你不知道的事Java
- 關於HTTP/3背後你所不知道的HTTP
- 你可能不知道的 CSS3 AnimationCSSS3
- 那些你可能不知道的 ZooKeeper 知識
- Vue你可能不知道的7個技巧Vue
- 你可能不知道的css內容塊CSS
- 你可能不知道的前端知識點前端
- 關於Linux中“!”你不知道的驚歎用法Linux
- 【機器學習】關於機器學習那些你不知道的“民間智慧”機器學習
- 關於 Git 你所不知道的一些事Git
- ??你以為你瞭解TCP協議?這些你可能不知道的細節才是關鍵!TCP協議
- Android-你可能不知道的Drawable用法Android
- Spring中你可能不知道的事(一)Spring