MongoDB刚刚发布了其2.4版本,是目前最新的稳定版。此版本包括了一些性能优化,功能增强以及bug修复。更细节的信息可以查看下面几个链接:

    MongoDB 2.4版本发布 支持全文搜索

    下面是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 中进行查看。