订阅云计算RSS CSDN首页> 云计算

MongoDB最新稳定版本2.2发布

发表于2012-08-30 00:44| 次阅读| 来源CSDN综合| 0 条评论| 作者刘江

摘要:经过近一年开发,MongoDB最新的稳定版2.2发布。重要的新特性包括:聚集框架、多数据中心支持、并发改进、TL集合和Shell改进等。

MongoDB开发团队10gen的CTO Eliot Horowitz刚刚发表博客,宣布最新的稳定版(可以用于生产环境)MongoDB 2.2已经可以下载。距离上一个稳定版本2.0发布的2011年9月,将近一年。

MongoDB是高性能开源文档数据库,也是目前最受关注的NoSQL技术之一,以敏捷、可扩展和对企业应用友好(支持事务,一致性和数据完整性保证,有大企业应用案例)而著称。有人甚至认为LAMP中的M应该用MongoDB取代MySQL,其火热程度可见一斑。使用MongoDB的公司包括Foursquare, Craiglist, 迪士尼,SAP,Intuit,EA等。国内淘宝、大众点评、视觉中国等公司有应用。

MongoDB 2007年由DoubleClick的两位前员工Dwight Merriman和Eliot Horowitz开发。据Merriman回忆,当时他们的计划本来是要建立一个与GAE和Windows Azure类似但完全由开源技术支撑的云平台,但发现找不到合适的开源数据库技术,于是自己动手。没想到最后这个数据库技术反而成了公司的主营业务。有意思的是,10gen这个公司实际上隶属于Dwight Merriman和DoubleClick原CEO Kevin Ryan一起创办的AlleyCorp,旗下还有Business Insider和Gilt Groupe两家知名公司,而且业务完全不同。

2.2的新特性与改进、bug修补多达1000多个,发布说明详细介绍了其中比较重要的,包括:

  • 增加聚集框架(Aggregation Framework)。现在不用Map Reduce,也能轻松地操作和处理MongoDB中的文档了。这里的聚集就是汇总、统计的意思,相当于SQL中的Group By等语句。框架有管道(pipeline)和表达式两种操作符,前者包括$sort, $project, $group等,后者包括逻辑、比较、算术、日期和条件等操作符。更多详情可以参见:
  • 多数据中心支持。通过读优先级(read preference)和带标签的分片(tag-aware sharding),改善了MongoDB在分布在不同地理位置上的多个数据中心的支持。
  • 改进了并发特性。主要包括:新增数据库级锁;新增一个新的子系统避免了在大部分页面错误情况下的锁定,并改进了Windows上的页面错误检测。同时还改善了并发报表。
  • TTL集合(TTL Collection)。在上限集合(capped collection)之外,新增可以用时间控制的集合。通过一种特殊索引和背景线程每分钟删除系统中到时的文档。对于很多时间敏感的文档处理非常方便。详情参见文档
  • Shell改进。包括Unicode支持、多行命令支持、bash风格编辑支持等。

完整的列表可以查看MongoDB项目的Jira问题解决表


欢迎加入CSDN MongoDB中文技术社区


Hacker News上讨论的焦点主要集中在新增的数据库级锁上。cmer认为,MongoDB的写锁定问题很严重,如果问题不解决,就无法对付高通量应用。而数据库级锁相对于原来只有全局锁没有太大区别,粒度让人不够。

而服务器监控SaaS服务Server Density的创始人David Mytton(他们有数十台MongoDB服务器,每月处理几十亿文档)则反对这种看法,他认为数据库级锁还是很有用的,将数据库分为多个,能够从新的PageFaultException架构获益,而且他之前做过测试,即使只有一个数据库,性能也有很大改善。

10gen的J.J.Davis补充说,数据库级锁很重要,可以将oplog放在一个数据库里,而真正的数据放在另一个,这样应用就不用再纠结于写锁定的复制问题了。

Buffer的创始人Tom Moor介绍,10gen之前表示过会逐步增加锁的粒度。数据库级锁只是第一步。comerford也指出,下一步增加的将是集合级锁,此前MongoDB创始人Dwight Merriman在有关并发的演讲中提到过。

0
0
MongoDB最新稳定版本2.2发布

热门专区