MongoDB 2.4 版发布 支持全文搜索
英文原文: 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 中进行查看。