MongoDB 2.2版本发布
摘要:经过近一年开发,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两家知名公司,而且业务完全不同。
8月29号,MongoDB发布了其2.2版本,2.2 版本可以看作是2.0 版本的功能增强版,本次改进最大的亮点在于其并发性能的提升,我们能够看到,广受诟病的全局锁已经在这一版中被拿掉,取而代之的是DB级别的锁,而且collection 级别的锁也不远了。
下面就看看2.2 版本的几个新功能吧:
1.并发性能增强
如上面所说,MongoDB 2.2版本中不再有凌驾于整个daemon上的全局锁,而是将锁的粒度减小到了DB级别。并且按MongoDB 的CEO Dwight Merriman所说,这次虽然没有一步到位的将锁粒度改到collection级别,但是从全局锁到DB 锁这一步,已经完成了锁粒度细化的最艰难部分工作,相信collection级别的读写锁会很快到来。
除了减小锁粒度外,MongoDB对2.0 版本中的锁抑制功能也进行了一些增强,引入了PageFaultException 架构来进行锁抑制的判定。
感兴趣的朋友可以看看这个演讲及PPT:http://www.10gen.com/presentations/concurrency-internals-mongodb-2-2
统计操作一直不是MongoDB 的强项,这次版本MongoDB 对统计工作的易用性又进行了提升。在新的统计框架中,用户不需要再使用mapreduce方法去进行数据统计,而是使用统计框架提供和各种方便易用的函数来实现。这个在NoSQLFan之前的文章中也有介绍,见:http://blog.nosqlfan.com/html/3648.html
3.Tag Aware Sharding
在2.2版本中,可以人为的对数据的分片方式进行一些控制,从而使得数据能放到合适的分片节点上(这里所谓的合适,通常来说就是数据离要使用它的应用层更近)。具体的做法是通过对分片节点打tag标识,再将sharding key 按范围对应到这些标识上。比如我们设定sharding key在范围 [a, b]之间时,数据需要放到tag为BeiJing的节点。在[b, c]之前,数据放到tag为TianJin的节点。然后我们再对不同的分片节点打上不同的tag。这样对应sharding key在某个范围内的数据就会在我们的控制下存储到指定的分片节点上了。
详见:http://www.mongodb.org/display/DOCS/Tag+Aware+Sharding
4.TTL的collection
我们知道,MongoDB的capped collection,它保持数据在一定大小和条数范围内,在collection大小超量后,采用移除老数据的方式对空间进行循环利用。capped collection被大量使用在日志及队列系统中,具有很高的性能,但是其灵活性一直不高。
在2.2版本中,MongoDB又引入了TTL collection(TTL == time to live),你可以在给某个字段建立索引的时候指定多长时间后删除掉对应的记录。建立索引的字段必须是date类型的。这样我们就可以灵活的控制数据的过期,可以更方便的存储和管理临时数据。
详见:http://docs.mongodb.org/manual/tutorial/expire-data/
更多介绍:http://docs.mongodb.org/manual/release-notes/2.2/
下载地址:http://www.mongodb.org/downloads
5.Shell改进
包括Unicode支持、多行命令支持、bash风格编辑支持等。
原文参考:http://www.csdn.net/article/2012-08-29/2809353-MongoDB-2.2-Released
http://blog.nosqlfan.com/html/4111.html
分享到:
相关推荐
很流行的NoSQL数据库 MongoDB 2.2 官方稳定版
Mongodb 2.2文档 官方文档,英文版!
mongodb-linux-x86_64-2.2.7.tar
欢迎下载mongodb-win32-x86_64-2.2.2.zip!
MongoDB驱动1.7版本帮助类包括案例方法,增删改查,多条件拼接查询,批量操作
mongodb2.6版本软件包,mongodb2.6版本软件包,mongodb2.6版本软件包。
mongodb-windows-x86_64-6.0.5最新稳定版本,压缩包解压直接使用。
MongoDBjava各版本驱动下载
将mongodb矢量数据在geoserver中发布;将mongodb矢量数据在geoserver中发布
mongodb4目前最新稳定版本,由于5.0需要centos7并且对服务器有部分要求,觉得官网下载太慢的同学可以下载这个版本~
mongodb 4.0.22版本
mongodb_x64位windows安装版本,官方正版,mongodb_x64位windows安装版本,官方正版
MongoDB 5.0.6 windows版本
linux平台的mongodb版本是3.2.18.tgz,可以直接解压使用,想不要资源分的,但是选择不了,尴尬
MongoDB4.2.21 Linux版本安装包
mongodb-win32-x86_64-2008plus-ssl-v4.0-latest-signed.msi
MongoDB安装资源(4.2.0版本和4.0.7版本).rar
php-mongodb的扩展包,MongoDB [2] 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据...
mongodb driver java 源码 2.5.3 版本
java和mongodb连接,需要mongodb-driver,您还必须下载其依赖项: bson和 mongodb-driver-core》》3个包: mongodb-driver-3.8.2.jar; bson-3.8.2.jar; mongodb-driver-core-3.8.2.jar