多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 數(shù)據(jù)庫(kù) > 數(shù)據(jù)庫(kù)應(yīng)用 > 事務(wù)性質(zhì)以及隔離級(jí)別

事務(wù)性質(zhì)以及隔離級(jí)別

來(lái)源:程序員人生   發(fā)布時(shí)間:2015-09-11 08:04:28 閱讀次數(shù):5344次

事務(wù)的概念

事務(wù)(Transaction)是并發(fā)控制的基本單位。所謂的事務(wù),它是1個(gè)操作序列,這些操作要末都會(huì)履行,要末都不會(huì)履行,它是1個(gè)不可分割的工作單位。事務(wù)的提出主要是為了解決并發(fā)情況下保持?jǐn)?shù)據(jù)1致性的問(wèn)題。

事務(wù)的基本特點(diǎn)

  • Atomic(原子性):事務(wù)中包括的操作被看做是1個(gè)邏輯單元,這個(gè)邏輯單元中的操作要末全部履行成功,要末全部履行失敗。
  • Consistentcy(1致性):只的合法的數(shù)據(jù)可以被寫(xiě)入數(shù)據(jù)庫(kù),否則事務(wù)應(yīng)當(dāng)將其回滾到最初的狀態(tài)。
  • Isolation(隔離性):事務(wù)允許多個(gè)用戶(hù)對(duì)同1個(gè)數(shù)據(jù)進(jìn)行并發(fā)訪問(wèn),而不破壞數(shù)據(jù)的正確性和完全性。同時(shí),并行事務(wù)的修改必須與其他并行事務(wù)的修改相互獨(dú)立。
  • Durability(持久性):事務(wù)結(jié)束后,事務(wù)處理的結(jié)果必須能夠得到固化。
這4個(gè)簡(jiǎn)稱(chēng)為:ACID
這4個(gè)基本特點(diǎn)也能夠稱(chēng)為4種屬性:
  ①原子性(Atomicity):事務(wù)中的所有元素作為1個(gè)整體提交或回滾,事務(wù)的個(gè)元素是不可分的,事務(wù)是1個(gè)完全操作。
  ②1致性(Consistemcy):事物完成時(shí),數(shù)據(jù)必須是1致的,也就是說(shuō),和事物開(kāi)始之前,數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)處于1致?tīng)顟B(tài)。保證數(shù)據(jù)的無(wú)損。
  ③隔離性(Isolation):對(duì)數(shù)據(jù)進(jìn)行修改的多個(gè)事務(wù)是彼此隔離的。這表明事務(wù)必須是獨(dú)立的,不應(yīng)當(dāng)以任何方式以來(lái)于或影響其他事務(wù)。
  ④持久性(Durability):事務(wù)完成以后,它對(duì)系統(tǒng)的影響是永久的,該修改即便出現(xiàn)系統(tǒng)故障也將1直保存,真實(shí)的修改了數(shù)據(jù)庫(kù)

事務(wù)的隔離級(jí)別

數(shù)據(jù)庫(kù)的隔離級(jí)別有4種:由低到高順次為Read uncommittedRead committedRepeatable readSerializable這4個(gè)級(jí)別可以逐一解決臟讀不可重復(fù)讀幻讀這幾類(lèi)問(wèn)題。

√: 可能出現(xiàn)    ×: 不會(huì)出現(xiàn)

臟讀 不可重復(fù)讀 幻讀
Read uncommitted
Read committed ×
Repeatable read × ×
Serializable × × ×

 

注意:我們討論隔離級(jí)別的場(chǎng)景,主要是在多個(gè)事務(wù)并發(fā)的情況下,因此,接下來(lái)的講授都圍繞事務(wù)并發(fā)。

Read uncommitted 讀未提交

公司發(fā)工資了,領(lǐng)導(dǎo)把5000元打到singo的賬號(hào)上,但是該事務(wù)并未提交,而singo正好去查看賬戶(hù),發(fā)現(xiàn)工資已到賬,是5000元整,非常高興。可是不幸的是,領(lǐng)導(dǎo)發(fā)現(xiàn)發(fā)給singo的工資金額不對(duì),是2000元,因而迅速回滾了事務(wù),修改金額后,將事務(wù)提交,最后singo實(shí)際的工資只有2000元,singo空歡樂(lè)1場(chǎng)。


 

出現(xiàn)上述情況,即我們所說(shuō)的臟讀,兩個(gè)并發(fā)的事務(wù),“事務(wù)A:領(lǐng)導(dǎo)給singo發(fā)工資”、“事務(wù)B:singo查詢(xún)工資賬戶(hù)”,事務(wù)B讀取了事務(wù)A還沒(méi)有提交的數(shù)據(jù)。

當(dāng)隔離級(jí)別設(shè)置為Read uncommitted時(shí),便可能出現(xiàn)臟讀,如何避免臟讀,請(qǐng)看下1個(gè)隔離級(jí)別。

Read committed 讀提交

singo拿著工資卡去消費(fèi),系統(tǒng)讀取到卡里確切有2000元,而此時(shí)她的老婆也正好在網(wǎng)上轉(zhuǎn)賬,把singo工資卡的2000元轉(zhuǎn)到另外一賬戶(hù),并在singo之條件交了事務(wù),當(dāng)singo扣款時(shí),系統(tǒng)檢查到singo的工資卡已沒(méi)有錢(qián),扣款失敗,singo10分疑惑,明明卡里有錢(qián),為什么......

出現(xiàn)上述情況,即我們所說(shuō)的不可重復(fù)讀,兩個(gè)并發(fā)的事務(wù),“事務(wù)A:singo消費(fèi)”、“事務(wù)B:singo的老婆網(wǎng)上轉(zhuǎn)賬”,事務(wù)A事前讀取了數(shù)據(jù),事務(wù)B緊接了更新了數(shù)據(jù),并提交了事務(wù),而事務(wù)A再次讀取該數(shù)據(jù)時(shí),數(shù)據(jù)已產(chǎn)生了改變。

當(dāng)隔離級(jí)別設(shè)置為Read committed時(shí),避免了臟讀,但是可能會(huì)造成不可重復(fù)讀。

大多數(shù)數(shù)據(jù)庫(kù)的默許級(jí)別就是Read committed,比如Sql Server , Oracle。如何解決不可重復(fù)讀這1問(wèn)題,請(qǐng)看下1個(gè)隔離級(jí)別。

Repeatable read 重復(fù)讀

當(dāng)隔離級(jí)別設(shè)置為Repeatable read時(shí),可以免不可重復(fù)讀。當(dāng)singo拿著工資卡去消費(fèi)時(shí),1旦系統(tǒng)開(kāi)始讀取工資卡信息(即事務(wù)開(kāi)始),singo的老婆就不可能對(duì)該記錄進(jìn)行修改,也就是singo的老婆不能在此時(shí)轉(zhuǎn)賬。

雖然Repeatable read避免了不可重復(fù)讀,但還有可能出現(xiàn)幻讀

singo的老婆工作在銀行部門(mén),她經(jīng)常通過(guò)銀行內(nèi)部系統(tǒng)查看singo的信譽(yù)卡消費(fèi)記錄。有1天,她正在查詢(xún)到singo當(dāng)月信譽(yù)卡的總消費(fèi)金額(select sum(amount) from transaction where month = 本月)為80元,而singo此時(shí)正好在外面胡吃海塞后在收銀臺(tái)買(mǎi)單,消費(fèi)1000元,即新增了1條1000元的消費(fèi)記錄(insert transaction ... ),并提交了事務(wù),隨后singo的老婆將singo當(dāng)月信譽(yù)卡消費(fèi)的明細(xì)打印到A4紙上,卻發(fā)現(xiàn)消費(fèi)總額為1080元,singo的老婆很驚訝,以為出現(xiàn)了幻覺(jué),幻讀就這樣產(chǎn)生了。

注:Mysql的默許隔離級(jí)別就是Repeatable read。

Serializable 序列化

Serializable是最高的事務(wù)隔離級(jí)別,同時(shí)期價(jià)也花費(fèi)最高,性能很低,1般很少使用,在該級(jí)別下,事務(wù)順序履行,不但可以免臟讀、不可重復(fù)讀,還避免了幻像讀。



生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 在线播放精品视频 | 伊人久久大香线蕉精品哪里 | 欧美视频 亚洲视频 | 欧美精品v日韩精品v国产精品 | 欧美xxxx做受视频 | 亚洲国产福利精品一区二区 | 久久久久国产一级毛片高清版 | 久久久久色 | 国产一级做a爱免费视频 | 伊人网在线视频 | 澳门成人免费永久视频 | 欧美性大战久久久久久 | 日韩欧美第一页 | jizzjizz黄色| 亚洲精品在线播放视频 | 在线高清美女视频免费看 | 在线观看视频一区二区 | 日本护士xxxxxx. | 美女牲交毛片一级视频 | 国产亚洲精品一区二区在线观看 | 自拍自偷 | 久久毛片免费看 | 成人免费视频一区二区三区 | 男女很舒服爽视频免费 | 亚洲国产人久久久成人精品网站 | 国产99精品 | 中文字幕在线视频网站 | 欧美精品播放 | 亚洲精品久久久久中文字幕一区 | 五月国产综合视频在线观看 | 自拍偷拍 亚洲 | 老师邪恶影院a啦啦啦影院 老司机av | 日本午夜在线 | 亚洲精品第四页中文字幕 | 成人性生免费视频 | 精品国产午夜肉伦伦影院 | 日韩欧美亚洲综合一区二区 | 综合图片亚洲 | 在线高清一级欧美精品 | 欧美专区亚洲专区 | 国产乱人乱精一区二区视频密 |