MongoDB 1.7.x版本有哪些新特性
创始人
2024-12-19 01:42:17
0次

  MongoDB官方博客最近发表文章,对1.7.4版本中关于ReplicaSets的五个重要新特性做了一个介绍,这些特性会继续在1.8.x版本中存在并持续改进。

  MongoDB1.7.x版本有哪些新的特性

  1.从一个secondary结点初始化新结点(Initialsyncfromasecondary)

  可以在新启动的ReplicaSets结点上设置initialSync选项来指定从某个secondary结点获取初始化数据。如下:

  >rs.add({"_id":num,"host":hostname,"initialSync":{"state":2}})

  在initialSync选项中是一个筛选条件,你可以选择从哪个角色的机器上获取初始化数据(primaryorsecondary),也可以直接指定_id,hostname或者从数据最新的节点。如果指定的是从数据最新的结点上获取初始化化数据,你可以指定一个日期或者时间戳,这时候新加入的结点会选择一个比你设定的时间点数据更新的结点获取数据。

  新加入的结点默认是从某个secondary结点获取初始化数据,只有在找不到这样的结点时,才会从primary结点上获取数据。如果他找到了某个secondary机器,那么他只会从他获取初始化需要的数据,一旦他的数据与这个secondary机器同步了,他就会切换到从primary节点上获取新的更新操作。

  2.从机延迟时间配置(slavedelay选项)

  这个slavedelay选项之前在master-slave模式的replication里支持,主要用于配置一个较长的时间以防止一些人为的错误。比如设定这个时间为86400,则同步操作只会同步超过一天前的数据,同步操作一直在,并非一天只同步一次(感谢ElmerZhang同学的留言提醒)。而现在ReplicaSets也支持它了,使用方式:

  >rs.add({"_id":num,"host":hostname,"slaveDelay":3600})

  MongoDB1.7.x版本有哪些新的特性

  3.隐藏节点(hiddennode)

  隐藏节点的描述很简单,就是这个节点是隐藏的不可为客户端所见。配置方式:

  >rs.add({"_id":num,"host":hostname,"priority":0,"hidden":true})

  4.结点冻结(Freezeamember)

  ReplicaSets的一个特点就是自动故障转移,也就是说在一台primary机器故障后,其他的secondary机器会尽快地选出一台新的主机。但是在我们进行某些维护操作时,会希望某段时间内不要让失去primary连接的secondary机器晋升为primary,而是等待一段时间再进行选举工作。这个操作就被称为结点冻结操作,具体操作方式如下:

  >rs.freeze(3600)

  解冻方式:

  >rs.freeze(0)

  5.快速同步(Fastsync)

  在过去,启动一个新节点时只能从primary节点获取新的数据,而上面第一条特性允许从secondary节点获取初始化数据。但是无论如何,全量数据的同步都会是一个比较慢的过程。Fastsync特性能够让新节点启动更加快速,Fastsync就是让新节点在启动时指定dbpath为一个过去备份好的数据文件目录,只要保证这个数据备份的时间还不长(不超过primary的最老的oplog),则就可以先通过已有的备份数据文件启动然后再从primary机器获取新的更新。

  查看最老的oplog的方法如下:

  >uselocal

  >newDate(db.oplog.rs.find().sort({$natural:1}).limit(1).next()["ts"]["t"])

  10gen的团队还列出了今后会加入的新特性如下:authentication,syncingfromsecondariesbeyondtheinitialsync,datacenterawareness,andmore.如果你希望加入其他一些什么功能你可以到voteonthecasesyoucareabout去为你期待的功能投票。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...