MongoDB2.0.0-RC0版本发布

更新:MongoDB的2.0.0正式版在9月12日也发布了,下载:www.mongodb.org

今天MongoDB刚刚发布了其第一个2.* 版本:MongoDB2.0.0-RC0,也发布了2.0版本的Release Notes,其中很多新功能和改进非常值得期待。下面NoSQLFan为大家细数。

1.增加压缩命令

以前只能通过repair整个数据库的方式来进行数据压缩,而2.0版本增加了一个 compact 命令 ,使你可以针对Collection和其索引进行压缩。

2.并发增强

当写操作不能在内存中完成(要写的部分未命中实际内存)时,需要加上写锁。(SERVER-2563)目前已经在下面操作上实现:(翻译是否正确?

  • Updates by _id
  • Removes
  • Long cursor iterations

3.减少客户端线程消耗

MongoDB会为每个客户端分配一个独立线程,当并发量太大时,线程消耗的内存就不能忽略了。在新的版本中,MongoDB调整了每个线程占用的内存量。这个值将会小于系统的Stack Size或者设置成1MB。

4.索引效率增强

2.0版本对索引进行了重大的性能改进,现在同样的索引,你可能可以节约25%的内存并提升25%的性能。

5.安全性

sharding的集群目前也提供了安全性支持

6.Replica Sets的改进

  • 提供了优先级设置功能,你可以给每一个节点设置优先级,在重新选举主机的时候,优先级将会被纳入选举策略之中。
  • 提供了数据中心可知性,2.0版本中,节点了解自己及其它节点当前是对处于哪一个数据中心的。你可以在写操作中指定级别,以使一些重要信息能够同步的复制到远端的IDC。
  • 提供w : “majority”的写选项,在以前我们可以设置写到几台机器就返回成功,2.0版本会提供一个majority的选项,意为同步到集群中的大多数机器。
  • 新增了一个reconfigure的选项,当集群中有些节点宕机后(但是大部分的节点还是活跃的),你可以使用此选项来调整新的配置。参见Reconfiguring a replica set when members are down
  • 目前如果Primary节点找不到一个能够跟上它速度的Secondary(optime延长10秒以内),那么Primary将不能stepdown,当然你也可以强制使其stepdown。更多信息参见Forcing a Member to be Primary
  • shutdown操作增强,如果一个Primary执行shutdown操作,它会检查是否有一个Secordary能够跟上它的速度,如果没有,它会先stepdown,等有Secondary的optime延长能够在十秒内再关闭。
  • 当一个Secondary在运行repair或者compact操作时,Secondary会转变状态为“recovering”,这样客户端就不会在其繁忙进行repair或compact的时候访问它了。

7.地理位置索引

  • 支持多个位置索引的建立,可以是在一个array中也可以是文档嵌入。详见Geospatial documentation
  • 地理位置索引还支持多边形查询,支持一些常规的多边型。详见这里

8.Journaling日志增强

  • 目前在64位平台上,Journaling选项为默认开启,需要通过–nojournal 启动参数才能关闭。
  • Journaling日志中使用了压缩,以减少磁盘IO。
  • 提供了–journalCommitInterval选项以自由配置group commit的时间间隔,默认是100ms。
  • 提供了新的getLastError {j: true}选项来使客户端等待group commit完成后才返回。
  • 你可以临时禁止Journaling日志,然后通过copy数据文件的方式进行热备。详见这里

9.增加ContinueOnError选项

当进行批量插入时,如果设置了ContinueOnError选项,那么中间某个插入操作出问题不会影响后续的插入操作。

10.增加新的正则表达式支持

11.修改了system 这个Collection的结构

来源:www.mongodb.org

anyShare分享此文章的同学,将有机会送我iphone5!
          

无觅相关文章插件,快速提升流量