日韩小视频-日韩久久一区二区三区-日韩久久一级毛片-日韩久久久精品中文字幕-国产精品亚洲精品影院-国产精品亚洲欧美云霸高清

下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當(dāng)前位置:軟件下載吧 > 數(shù)據(jù)庫 > DB2 > MongoDB:實(shí)現(xiàn)強(qiáng)一致性事務(wù)的必不可少之道(mongodb事務(wù))

MongoDB:實(shí)現(xiàn)強(qiáng)一致性事務(wù)的必不可少之道(mongodb事務(wù))

時(shí)間:2024-03-26 14:45作者:下載吧人氣:17

MongoDB 是一種新型**NoSQL**數(shù)據(jù)庫,它有著一系列的優(yōu)勢(shì),如在分片上的靈活性,包括一組集群內(nèi)部提供冗余復(fù)制和冗余容錯(cuò)等特性,并且由于它在完全復(fù)制集群上保持一致性,它被很多公司用來替代關(guān)系型數(shù)據(jù)庫成為旗艦數(shù)據(jù)存儲(chǔ)引擎。但是MongoDB 不支持ACID事務(wù),這就使得它不能滿足復(fù)雜應(yīng)用場(chǎng)景的嚴(yán)格一致性需求。

實(shí)現(xiàn)強(qiáng)一致性事務(wù)是MongoDB數(shù)據(jù)庫完成復(fù)雜業(yè)務(wù)的必須要求。建立在MongoDB的性能之上的**Mongo-Locking算法**,可以在只有兩個(gè)事務(wù)的情況下提供強(qiáng)一致性。它主要利用**樂觀鎖**和**悲觀鎖**。

樂觀鎖:樂觀鎖是一種基于版本號(hào)的鎖定實(shí)現(xiàn)。每個(gè)文檔都有一個(gè)_id,當(dāng)文檔被修改時(shí),將文檔_id副本克隆一下,并在它的_id里面引入一個(gè)版本號(hào),然后當(dāng)更新這個(gè)實(shí)體的時(shí)候去比較版本號(hào),如果版本號(hào)相同就允許這個(gè)更新,并更新版本號(hào),如果版本號(hào)不同就拒絕這個(gè)更新,這樣就能保證實(shí)體的強(qiáng)一致性。

“`js

// 更新文檔的樂觀鎖實(shí)現(xiàn)

db.collection.findAndModify({

query:{

_id: 3

},

update:{

$inc:{

version:1

},

$set:{

name:’foo’

}

},

new:true

});


悲觀鎖: 是一種基于共享鎖或排他鎖來保證實(shí)體完整性和可用性的鎖定實(shí)現(xiàn)。其原理就是當(dāng)一個(gè)實(shí)體被修改時(shí),就給這個(gè)實(shí)體加鎖,直到這個(gè)實(shí)體的修改操作完成,然后釋放鎖,這樣就保證了線程安全性和原子性更新。

```js
// 更新文檔的悲觀鎖實(shí)現(xiàn)
db.collection.findAndModify({
query:{
_id: 3
},
update:{
$set:{
name:'foo'
}
},
update lock:true
});

此外,強(qiáng)一致性事務(wù)實(shí)現(xiàn)還可以依靠MongoDB提供的4種不同的原子操作來實(shí)現(xiàn):$inc、$set、$push、$pull。

$inc:給指定字段累加指定值,可以用來支持類似購物車功能;

$set:更新部分字段,可以正確地實(shí)現(xiàn)對(duì)文檔的更新;

$push:追加新的內(nèi)容,可以用來支持日志的追溯功能;

$pull:從文檔中移除一個(gè)值,可以用來實(shí)現(xiàn)審計(jì)日志信息的記錄。

因此,MongoDB在實(shí)現(xiàn)強(qiáng)一致性事務(wù)時(shí),可以利用Mongo-Locking算法的樂觀鎖和悲觀鎖,還可以依靠MongoDB提供的4種不同的原子操作,為大型分布式系統(tǒng)管理資源提供基礎(chǔ)支持,從而實(shí)現(xiàn)強(qiáng)一致性事務(wù)。

標(biāo)簽mongodb 事務(wù),mongodb事務(wù),mongodb 事務(wù),MongoDB,實(shí)現(xiàn),更新,文檔,一致性,MongoDB,實(shí)體

相關(guān)下載

查看所有評(píng)論+

網(wǎng)友評(píng)論

網(wǎng)友
您的評(píng)論需要經(jīng)過審核才能顯示

熱門閱覽

最新排行

公眾號(hào)

主站蜘蛛池模板: 国产精品国产三级在线高清观看 | 国产美女在线精品亚洲二区 | 中文在线观看视频 | 亚洲乱码一二三四五六区 | 黄色网网址 | 亚洲在线免费视频 | 九九免费精品视频在这里 | 久草视频手机在线观看 | 欧美日韩一区二区三区视频在线观看 | 性做久久久久久免费观看 | 2022国产91精品久久久久久 | 亚洲精品高清在线观看 | 九九全国免费视频 | 久久国产精品高清一区二区三区 | 国产欧美一区二区三区沐欲 | 91国内精品视频 | 三级理论手机在线观看视频 | 久污| 91精品综合久久久久m3u8 | 亚洲在线免费视频 | 天天看夜夜操 | 最新欧美精品一区二区三区不卡 | 日鲁夜鲁鲁狠狠综合视频 | 欧美18www| 三级网站免费 | 国产欧美精品综合一区 | 成人欧美一区二区三区视频 | 欧美三级在线观看视频 | 一区二区国产在线播放 | 九色视频在线观看免费 | 日韩中文字幕免费 | 亚洲精品日韩一区二区 | 久久777国产线看是看精品 | 白嫩美女一级毛片免费看 | 欧美第一页草草影院浮力 | 成人精品亚洲人成在线 | 国内精品久久久久影院老司 | 美女扒开腿让男人桶尿口 | 91亚洲在线| 日韩一页 | 成人在线不卡 |