英文原文:blog.mongodb.org,編譯:nosqlfan
MongoDB剛剛釋出了其2.4版本,是目前最新的穩定版。此版本包括了一些效能優化,功能增強以及bug修復。更細節的資訊可以檢視下面幾個連結:
下面是MongoDB 2.4 版本的一些主要功能點:
- Hash-based Sharding
- Capped Arrays
- Text Search (Beta)
- Geospatial Enhancements
- Faster Counts
- Working Set Analyzer
- V8 JavaScript engine
- Security
Hash-based Sharding: 與原來按範圍做sharding相對,MongoDB 2.4 增加了基於Hash的分片策略選擇。這樣可以更輕鬆地實現資料在各節點的均勻分佈。當你對MongoDB 單條記錄的訪問比較隨機時,可以考慮採用這種模式。
Capped Arrays: 此版本還提供了對Array型別截斷操作。在使用$push 操作符向一個Array 中新增資料時,你可以再通過新增的$slice操作符指定將這個Array 進行指定長度的截斷。這樣可以讓一個Array保持在一個固定的長度。在此操作中,你還可以指定一個排序方法,在截斷前將Array 先進行排序,擷取排序後的頭或尾來。
Text Search: 全文索引是此次改造最大的功能改進點,目前支援15種語言的全文索引,詳情可見這篇博文.
Geo Capabilities: MongoDB 2.4 引入了GeoJSON的支援,GeoJSON能夠提供更精確的地理位置索引。
Faster Counts: MongoDB 2.4 對Count操作進行了各式各樣的優化,使得在很多場景下Count操作能夠比過去更快。比如在b-tree的一個分支中,如果第一個元素和最後一個元素都在count條件滿足的範圍內,那麼中間的元素肯定都在此範圍內,就不再做挨個的遍歷操作了。
Working Set Analyzer: 容量規劃一直是使用MongoDB cluster時需要特別關心的一件事。在2.4版本中,MongoDB提供了一個分析模組,可以讓你實時檢視到當前的資源使用狀況。通過這一模組,你能夠知道過去15分鐘內MongoDB需要的記憶體頁數,通過對這個資料進行持續監控,你能夠及時發現記憶體不夠用的趨勢,並著手進行相應的擴容和調整。
New V8 Engine: MongoDB 2.4 中,將內部的JavaScript引擎切換到了Google Chrome使用的V8引擎上,V8引擎的引入,可以有效提升MongoDB的併發效能。
Security: MongoDB 2.4 中增加了兩個方面的案例性增強,引入了 Kerberos Authentication 和 Role Based Access Control 兩種機制. Kerberos 是 MongoDB 企業版的安全機制,能夠支援企業級系統的許可權認證。Role Based Access Control 允許更細粒度的許可權管理。
本版本一共進行了數百項改進(692項),本文當然無法一一列舉,詳細的列表你可以在 changelog 中進行檢視。