MongoDB 2.4的新特性

来源:互联网 发布:注册淘宝店铺流程图片 编辑:程序博客网 时间:2024/06/06 20:16

原文:http://nosql-db.com/topic/50f674eccd0cc40a0a0114ee


MongoDB 2.4 于3月19发布。

Release Notes for MongoDB 2.4
MongoDB 2.4新特性(亮点)有
基于哈希的分片 Hash-based Sharding
Capped数组 Capped Arrays
全文搜索 Text Search (Beta)
地理空间特性的增强 Geospatial Enhancements
更快的计数 Faster Counts,详细的测试见这里
工作集合分析器 Working Set Analyzer
V8 JavaScript 引擎
安全性提升 Security

基于哈希散列的分片 :MongoDB 的2.4增加了基于散列的分片,在基于原来范围分片的基础上构建而来。 使用散列的片键可以用一种简单的方式让用户获得良好的负载和数据分布,适用于文档通过主键随机访问的场景,或者访问模式可能无法完全预测的情况。

Capped数组:文档内部的Capped数组就是声明了一个固定大小的数组。如$push操作,用户现在可以指定一个$slice修改器,用来截取数组的最后N项。 您也可以指定sort操作,将首先对数组进行排序,然后做截取操作。

文本搜索 : 文本搜索一直以来是MongoDB最需要的功能之一。 文本索引提供原生的,实时填充和分词的支持15种语言的文本搜索。 有关文本搜索和实施的详细信息,请参阅文档和博客文章 。

Geo地理信息 :MongoDB 的2.4引入了GeoJSON 的支持,更准确的球形模型和增强的搜索,包括多边形相交。 目前2dsphere类型索引支持点,线和多边形GeoJSON形状。

更快的count操作: 在许多情况下,MongoDB 2.4 count操作比以前的版本快一个数量级的速度。 我们在查询执行引擎上做了了许多的优化来改进普遍的访问模式。 其中一个例子是在一个单一的B-树桶:如果桶中的第一个和最后一个条目匹配count范围,我们知道中间的键也匹配,因此,我们不必要再单独检查。

工作集分析器: 容量规划是MongoDB集群运行的关键。在MongoDB 2.4中,我们增加了一个工作组大小分析器,更易于衡量使用的资源的百分比。 它会告诉你最近15分钟服务器需要多少unique pages,让你可以随着时间的推移跟踪使用情况。 当15分钟后需要的数据量接近RAM,可能是时候到给集群添加更多的容量。

新的V8引擎: MongoDB2.4改变了MapReduce,$where和shell的JavaScript引擎。 切换到谷歌Chrome浏览器的V8 JavaScript引擎从而提高并发。

安全性: MongoDB的2.4两个重要的安全增强功能:Kerberos身份验证和基于角色的访问控制。 Kerberos身份是MongoDB企业版的部分,并允许企业级用户管理系统的集成。 基于角色的访问控制允许更细粒度的权限管理。

有数百(692)的改进,所以我们鼓励那些有兴趣看change log 。另外10gen团队已经在努力开发MongoDB2.6。

简单总结
全文索引支持(全文本搜索),新增text类型索引(负载较大,生产环境不推荐使用);
认证功能增强(SASL/Kerberos Support);
实现了基于角色的访问控制和更细粒度的权限控制;
默认JavaScript引擎从 SpiderMonkey换成v8;
新增地理索引类型2dsphere(目前仅支持GeoJSON格式数据)和球面几何方面的改进(2.4版本geo查询功能增强不少,代码增了很多);
mongod 重启后自动继续建索引(可以加参数--noIndexBuildRetry 禁止),以前版本mongod shutdown必须待索引建完;
新增hashed 类型索引,用于分片,使分片更为均衡。
db.records.ensureIndex( { a: "hashed" } )
sh.shardCollection( "records.records", { a: "hashed" } )

下载

reference:
http://docs.mongodb.org/manual/release-notes/2.4/