欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

瞬間爆炸-MongoDB4.0將支持多文檔事務(wù)

瞬間爆炸-MongoDB4.0將支持多文檔事務(wù)

瞬間爆炸-MongoDB4.0將支持多文檔事務(wù)

創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司提供網(wǎng)站設(shè)計和自適應(yīng)建站服務(wù)。團隊由有經(jīng)驗的網(wǎng)頁設(shè)計師、程序員和市場專家組成,能夠提供從html5,網(wǎng)站制作,廣告投放平臺,模板建站到小程序開發(fā)等全方位服務(wù)。 以客戶為中心,致力于為客戶提供創(chuàng)新、高效的解決方案,幫助您打造成功的企業(yè)網(wǎng)站。

背景

Part1:寫在最前

在早期,我們說的MongoDB支持事務(wù)是指針對MongoDB的單文檔級別,與我們MySQL等關(guān)系型數(shù)據(jù)庫中的事務(wù)是不同的,那什么是單文檔事務(wù)呢?

>db.username.update({'name': 'helei'}, {$set: {'age': 26, 'score': 85}})

上述命令對username集合中,name為helei列的行進行更新,如果age更新為26,score由于宕機或其他原因?qū)е赂率?,那么MongoDB則會回滾這一操作。

Part2:單文檔ACID實現(xiàn)

MongoDB在更新單個文檔時,會對該文檔加鎖,而要理解MongoDB的鎖機制,需要先了解以下幾個概念:

1.Intent Lock, 意圖鎖表明讀寫方(reader-writer)意圖針對更細粒度的資源進行讀取或?qū)懭氩僮?。例如:如果?dāng)某個集合被加了意向鎖,那么說明讀、寫方意圖針對該集合中的某個文檔進行讀或?qū)懙牟僮鳌?/p>

2.MGL多粒度鎖機制(Multiple granularity locking ),有S鎖(Shared lock), IS鎖(Intent Share lock), X鎖(Exclusive lock),IX鎖(Intent Exclusive lock)

在Part1中的例子里,MongoDB會為name為helei的文檔加上X鎖,同時為包含該文檔的集合,數(shù)據(jù)庫和實例都加上意向?qū)戞i(IX),這時,針對該文檔的操作就保證了原子性。

MongoDB4.0中的多文檔事務(wù)

Part1:多文檔事務(wù)

MongoDB 4.0將增加對多文檔事務(wù)的支持,通過snapshot隔離,事務(wù)提供全局一致的數(shù)據(jù)結(jié)果,并且執(zhí)行要么全部成功,要么全部失敗來保證數(shù)據(jù)完整性。

MongoDB4.0中的事務(wù)對于開發(fā)人員來講將會和普通的關(guān)系型數(shù)據(jù)庫一樣方便,例如start_transaction和commit_transaction。啟用多文檔事務(wù)的MongoDB也不會影響機器的負載。在今年夏天發(fā)布的MongoDB 4.0中,事務(wù)將率先在副本集上提供支持,而sharding架構(gòu)中多文檔事務(wù)也將在MongoDB4.2版本中實現(xiàn)。

在早期的MongoDB版本中,僅支持單文檔事務(wù),如果想使用多文檔事務(wù),需要依賴特別的數(shù)據(jù)建模才能夠保證。而在MongoDB 4.0中,無論您如何為數(shù)據(jù)建模,都能夠支持多文檔事務(wù)。

下圖展示了,在各個版本中新支持的核心特性:

瞬間爆炸-MongoDB4.0將支持多文檔事務(wù)

Part2:Python

在Python中如何開啟一個事務(wù)

with client.start_session() as s:
    s.start_transaction():
    try:
        collection.insert_one(doc1, session=s)
        collection.insert_one(doc2, session=s)
    except:
        s.abort_transaction()
        raise
    s.commit_transaction()

Part3:Java

在Java中如何開啟一個事務(wù)

try (ClientSession clientSession = client.startSession()) {
   clientSession.startTransaction();
   try {
       collection.insertOne(clientSession, docOne);
       collection.insertOne(clientSession, docTwo);
       clientSession.commitTransaction();
   } catch (Exception e) {
       clientSession.abortTransaction();
   }
}

——總結(jié)——

通過本文,我們了解到MongoDB4.0中最具顛覆性的特性--多行文檔事務(wù)的支持,以及開發(fā)語言中如何開啟一個事務(wù)。由于筆者的水平有限,編寫時間也很倉促,文中難免會出現(xiàn)一些錯誤或者不準確的地方,不妥之處懇請讀者批評指正。喜歡筆者的文章,右上角點一波關(guān)注,謝謝~

瞬間爆炸-MongoDB4.0將支持多文檔事務(wù)

瞬間爆炸-MongoDB4.0將支持多文檔事務(wù)

文章題目:瞬間爆炸-MongoDB4.0將支持多文檔事務(wù)
文章源于:http://aaarwkj.com/article42/gghehc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司關(guān)鍵詞優(yōu)化、小程序開發(fā)搜索引擎優(yōu)化、移動網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司

廣告

聲明:本網(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)

網(wǎng)站建設(shè)網(wǎng)站維護公司
国产福利在线观看午夜| 国产欧美色日韩综合在线| 九九蜜桃视频香蕉视频| 亚洲国产精品中文字幕一区久久| 国产69精品久久久久久人| 青青草原一区二区三区| 91熟女激情五月综合| 日本成年网站在线观看| 午夜少妇福利在线观看| 欧美日韩一区二区三区四区高清| 99久在线观看精品视频| 在线观看91精品国产秒播| 麻豆精品情欲人妻二区| 岛国av有码高清在线观看| 熟妇高潮一区二区在线观看| 国产精品一二三在线看| 观看亚洲一区二区三区大片| 亚洲国产成人精品女人久久久′| 国产自拍精品视频免费观看| 玩弄丰满熟妇留守妇女| 丝袜美腿一区二区三区| 国内一级黄色片免费观看| 综合久久精品亚洲天堂| 天堂av免费资源在线观看| av欧美激情在线观看| 中文字幕日韩激情欧美一区| 精彩国产av一区二区三区| 国产探花猛操性感美女| 日本一区二区日本一区| 18岁以下禁看视频网站| 日本韩国国语对白一区二区三区 | 国产国语网站在线观看| 国产黄片一区二区不卡| 中文字幕一区二区久久综合| 国产粉嫩一区二区三区在线观看| 日韩欧美精品一区二区三区四区| 青青草国产自拍在线视频| 97久久精品人妻一区二区三区| 日本韩国一级黄色免费| 亚洲成人日韩国产欧美| 日本中文字幕免费一区|