<div align=center>
</div>
</br>
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、紅旗網(wǎng)站維護(hù)、網(wǎng)站推廣。
</br>
Default Bind to Localhost
3.6版本起,默認(rèn)使用localhost(127.0.0.1),多個ip使用逗號分隔:localhost,198.51.100.1
除去部分2.6 RPM安裝包是本地外,其余版本默認(rèn)是All interfaces.
</br>
Authentication Restrictions
3.6版本起,新增authenticationRestrictions
參數(shù)用于將數(shù)據(jù)庫用戶連接限制為指定的IP地址,請將authenticationRestrictions參數(shù)添加到以下內(nèi)容:
Commands Methods
createUser db.createUser()
updateUser db.updateUser()
createRole db.createRole()
updateRole db.updateRole()
</br>
其他安全性增強功能
在使用TLS / SSL加密時,添加了opensslCipherConfig
參數(shù)來控制OpenSSL密碼。
如果啟用了身份驗證,則只能針對您創(chuàng)建的游標(biāo)發(fā)出getMore。
添加了convertToCapped操作來恢復(fù)角色。
</br>
Change Streams
MongoDB 3.6支持使用副本集或分片使用Change Streams。必須是復(fù)制協(xié)議版本1,且WT存儲引擎。
Change Streams允許應(yīng)用程序?qū)崟r了解到數(shù)據(jù)的更改,而不會增加tail oplog的復(fù)雜性和風(fēng)險。 應(yīng)用程序可以使用Change Streams來訂閱集合上的所有數(shù)據(jù)更改,并立即響應(yīng)這些更改。
您可以使用db.collection.watch()方法從任何3.6系列驅(qū)動程序打開更改流。 有關(guān)使用的完整說明,請參閱您的首選驅(qū)動程序的文檔。
使用Change Streams必須開啟3.6版本特性參數(shù)featureCompatibilityVersion?
?see?https://docs.mongodb.com/master/reference/command/setFeatureCompatibilityVersion/#view-fcv
當(dāng)數(shù)據(jù)到達(dá)集群中majority成員時,Change Streams才會立即通知客戶端響應(yīng)這些更改。
在開啟權(quán)限的集群中,應(yīng)用只能夠使用Change Streams訪問有權(quán)限的庫和集合。
cursor = db.inventory.watch()
document = next(cursor)
</br>
Lookup Full Document for Update Operations
full_document來看完整而非增量的版本
cursor = db.inventory.watch(full_document='updateLookup')
document = next(cursor)
Resume a Change Stream
resume_token = document.get("_id")
cursor = db.inventory.watch(resume_after=resume_token)
document = next(cursor)
</br>
Causal Consistency
需要客戶端使用MongoDB driver 3.6版本,以及需要數(shù)據(jù)庫開啟3.6特性參數(shù)featureCompatibilityVersion
</br>
Retryable Writes
重試只會重試1次,。對于可重試寫入,MongoDB驅(qū)動程序會在遇到網(wǎng)絡(luò)錯誤或遇到副本集故障轉(zhuǎn)移時自動重試這些操作,在此期間副本集沒有primary。
限制:
1.只有副本集和shard可用
2.數(shù)據(jù)庫要求WT或in-memory存儲引擎
3.需要客戶端使用MongoDB driver 3.6版本,以及需要,開啟3.6特性參數(shù)featureCompatibilityVersion。
4.writeconcern必須配置,i.e{w:0}不可用。
5.由于重試嘗試只進(jìn)行一次,可重試功能可以幫助解決暫時的網(wǎng)絡(luò)錯誤,但不能解決持久的網(wǎng)絡(luò)錯誤。
6.驅(qū)動程序?qū)⒌却齭erverSelectionTimeoutMS秒,以在重試之前確定新的主節(jié)點。 可重試功能不會處理故障轉(zhuǎn)移期超過serverSelectionTimeoutMS的情況。
注意:如果客戶端應(yīng)用程序在發(fā)出寫入操作后暫時無法響應(yīng)localLogicalSessionTimeoutMinutes,則當(dāng)客戶端應(yīng)用程序開始響應(yīng)(不重新啟動)時,寫入操作可能會重試并重新應(yīng)用。
</br>
serverstatus
serverStatus新增?logicalSessionRecordCache項.
</br>
JSON Schema
MongoDB 3.6添加了$ jsonSchema操作符來支持使用JSON Schema進(jìn)行文檔驗證。 有關(guān)詳細(xì)信息,請參閱$ jsonSchema。
</br>
Replica Sets
棄用副本集協(xié)議版本0(pv0)。
添加了replSetResizeOplog
命令來動態(tài)調(diào)整
副本集成員的oplog的大小。適用于運行WiredTiger
存儲引擎的實例。
添加了catchUpTakeoverDelayMillis
配置選項,指定節(jié)點在發(fā)起選舉之前等待的時間,默認(rèn)30秒。
對于使用協(xié)議版本1(pv1)的副本集,如果仲裁人發(fā)現(xiàn)與候選人有相同或更高優(yōu)先級的節(jié)點在,他們將在選舉中投票反對票。
添加oplogInitialFindMaxSeconds
參數(shù)來調(diào)整副本集的成員在數(shù)據(jù)同步期間其find命令等待多久。默認(rèn)60s
增加了waitForSecondaryBeforeNoopWriteMS
參數(shù),以指定如果afterClusterTime大于oplog的最近應(yīng)用時間,則secondary服務(wù)器必須等待多長時間。默認(rèn)10毫秒
</br>
Sharded Clusters
為mongos添加了ShardingTaskExecutorPoolMaxConnecting參數(shù),以控制mongos將連接添加到mongod實例的速率。默認(rèn)是2,僅對mongos有效
添加了orphanCleanupDelaySecs,它確定從源分片中刪除遷移塊之前的最小延遲。
現(xiàn)在可以對config數(shù)據(jù)庫中的config.system.sessions集合進(jìn)行分片。
</br>
Indexes
索引可以覆蓋嵌套文檔中字段的查詢。
如果索引跟蹤到哪個字段使其成為多鍵,則多鍵索引可以覆蓋對非數(shù)組鍵的查詢。
創(chuàng)建索引時,不能將*指定為索引的名稱。
</br>
listdatabase
db.adminCommand( { listDatabases: 1, nameOnly: true} ) 添加了nameOnly執(zhí)行命令時不會加鎖,而不添加的話會請求庫級鎖。
db.adminCommand( { listDatabases: 1, filter: { "name": /^rep/ } } ) filter會過濾想看的數(shù)據(jù)庫,支持正則表達(dá)式
修改了validate命令和db.collection.validate()方法的行為,只有WiredTiger存儲引擎強制執(zhí)行檢查點,將所有內(nèi)存中的數(shù)據(jù)刷新到磁盤,然后驗證磁盤上的數(shù)據(jù)。
? The?<database>.system.profile?entry for?update?and?delete?contains the entire update/delete document applied to the named collection.
</br>
dropDatabase
dropDatabase命令會等待drop完所有集合的命令傳播到大部分副本集成員后執(zhí)行。
對于在副本集和分片集群上運行的命令,響應(yīng)文檔包括operationTime和$ clusterTime。
</br>
Read Concern
新增available,對于非分片集群,“l(fā)ocal”和“available”行為是相同的。 對于分片群集,“available”提供了對分區(qū)的更大容忍度,但如果分片正在進(jìn)行塊遷移,則可能會返回孤立文檔。
</br>
</br>
MongoDB3.6的諸多新特性中,限于時間和篇幅原因未能在本文全部闡述,可以看出多種新特性在存儲引擎上的選擇都要求使用WiredTiger
存儲引擎,該存儲引擎也是MongoDB3.0版本起開始支持,MongoDB3.2版本起默認(rèn)的存儲引擎。多種新特性中,最讓我感到開心的是動態(tài)調(diào)整oplog大小,這個對于傳統(tǒng)oplog擴容來說,方便了非常之多,停機調(diào)整oplog大小的時代即將終結(jié)。由于編寫時間也很倉促,文中難免會出現(xiàn)一些錯誤或者不準(zhǔn)確的地方,不妥之處懇請讀者批評指正。
喜歡的讀者可以點個贊來個關(guān)注,您的贊美和關(guān)注是對筆者繼續(xù)發(fā)文的最大鼓勵與支持!
當(dāng)前題目:3分鐘看完MongoDB3.6新特性
文章網(wǎng)址:http://jinyejixie.com/article38/ppejpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、標(biāo)簽優(yōu)化、建站公司、ChatGPT、響應(yīng)式網(wǎng)站、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)