您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關MongoDB 1.7.x版本有哪些新特性,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
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去為你期待的功能投票。
上述就是小編為大家分享的MongoDB 1.7.x版本有哪些新特性了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。