时至今日,MongoDB已走过了5个年头,MongoDB 2.6的发布,MongoDB CTO Eliot说这是有史以来(Our Biggest Release Ever)最意义重大的版本。 主要变化: 聚合增强Aggregation Enhancements db.collection.aggregate() 支持返回游标,这意味着可以返回任意记录数
时至今日,MongoDB已走过了5个年头,MongoDB 2.6的发布,MongoDB CTO Eliot说这是有史以来(Our Biggest Release Ever)最意义重大的版本。
主要变化:
聚合增强Aggregation Enhancements
db.collection.aggregate() 支持返回游标,这意味着可以返回任意记录数;支持查询计划explain()
;排序及其他改进,略。
集成全文搜索Text Search Integration
默认支持文本搜索,新的操作符$text.
{ $text: { $search: <string>, $language: <string> } }</string></string>
插入和更新的改进Insert and Update Improvements
_id
字段现在总数在文档第一个字段(你知道以前更新过文档有多乱吗,_id
不知道跑哪去了);
重命名字段的更新可能会导致字段的重新排序;
其他一些新的或者增量的操作符,略。
新的写操作协议
协议上的变化,把写操作和写确认(writeconcerns)集成在一起了,不需要单独调用
getLastError了;
支持批量操作。
安全方面改进
improved SSL support, x.509-based authentication
认证方面的改进,支持集合粒度的角色(可以按照集合去授权或者配置角色了)
查询引擎及索引的改进
这个才是重要的。查询中可以使用多个索引了;
后台索引在从库上也支持了;
创建索引时dropDups 选项删除了;
分片及复制方面增强
改进太少,都不好意思提。新增了一个mergeChunks 命令用来合并两个连续范围的chunks,要求至少一个chunk是空的。
存储方面
默认使用usePowerOf2Sizes,我只能说,好一点,没啥根本性的改进。
其他改进
去除了最大连接数20,000的限制;
工具的一些小改进,包括mongoexport,mongodump,mongostat;
总结及点评
依我看,都是些小的改进,不少是早就应该解决的一些细节问题,改进远没有吹的那么大。
Eliot在博客里吹嘘"From the very beginning, MongoDB has offered developers a simple and elegant way to manage their data.",依我看还远未达到。另外他还顺便推销了他们的MMS服务,什么支持按时间点恢复啦,我只想说,太不方便了,需要用的还是试试本社区的mongobackup吧。
原文地址:解读MongoDB 2.6 发布, 感谢原作者分享。