事務(wù)acid

原子性Atomicity

通過undo log 回滾

核心就是 undo log 回滾日志 可以回滾到之前的狀態(tài)
原子性只是說
要么 全成
要不 回滾 全不成

如果期間smith存了300元,回滾沒掉了(破壞了一致性) ,原子性還是保證了
如果期間, 2個(gè)人都是0元被其他事物看到了, 也不算破壞了原子性

一致性Consistency :

賬戶總余額要一致. 從一個(gè)一致的狀態(tài), 變成另一個(gè)一致的狀態(tài)
2人之間轉(zhuǎn)賬, 開始時(shí)a+b=100, 就一直要是 a+b=100, 視點(diǎn)3(a0,b0)就破壞了一致性

本質(zhì)是,保證能看到所有的修改 (不會(huì)有的修改因?yàn)椴⑿斜桓采w了),保證happen_before關(guān)系

最直接的就是串行(視點(diǎn)3),手段是加鎖,鎖, 一個(gè)個(gè)事務(wù)排隊(duì)
不能線程1在寫 線程2去寫同個(gè)內(nèi)容,

但是并發(fā)低,所以我們需要隔離性(原來是這樣)

mvcc里面 是視點(diǎn)1 , 寫的時(shí)候 也能讀,但是讀到的是以前的
視點(diǎn)3就沒有一致性, 二個(gè)人都是0元的被看到了


隔離性Isolation :

沒提交的時(shí)候 對(duì)其他事物是不可見的 為了增加并發(fā)但是適當(dāng)破壞了一致性
有4個(gè)隔離級(jí)別,
排他鎖:串行化
讀寫鎖: 可重復(fù)讀(讀的時(shí)候不能寫) 不可重復(fù)讀(讀的時(shí)候能寫)

持久性Durability

一旦事務(wù)提交 修改永久保存(redo log保證),不能被看到了還回滾

事務(wù)的層層改進(jìn) 并發(fā)提升:

只有這個(gè)才是完全的一致性
排隊(duì)串行,就一個(gè)隊(duì)



↓改進(jìn) 多個(gè)隊(duì),不相關(guān)的表不用在一個(gè)隊(duì)


鎖相關(guān)表

讀讀↓ 可并行
讀寫分開鎖

再提高并發(fā),就是讀不鎖,讀的時(shí)候隨時(shí)可以寫(會(huì)造成不可重復(fù)讀)

最終的進(jìn)化↓ 現(xiàn)在實(shí)際中用的 到這時(shí)候 只有寫寫會(huì)沖突


多版本并發(fā)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、前言 相信工作了一段時(shí)間的同學(xué)肯定都用過事務(wù),也都聽說過事務(wù)的4大特性ACID。ACID表示原子性、一致性、隔...
    蹲廁所的熊閱讀 1,934評(píng)論 1 8
  • Mysql概述 數(shù)據(jù)庫是一個(gè)易于訪問和修改的信息集合。它允許使用事務(wù)來確保數(shù)據(jù)的安全性和一致性,并能快速處理百萬條...
    彥幀閱讀 13,971評(píng)論 10 460
  • 什么是事務(wù) 事務(wù)是一條或多條數(shù)據(jù)庫操作語句的組合,具備ACID,4個(gè)特點(diǎn)。 原子性:要不全部成功,要不全部撤銷 隔...
    jiangmo閱讀 1,207評(píng)論 0 3
  • 8月30日,參加了芳芳在早教班的畢業(yè)典禮,當(dāng)芳芳把我們一起制作的小禮物送給老師時(shí),在背景音樂的烘托下,我和老師的眼...
    豆迪閱讀 516評(píng)論 0 2
  • “我校學(xué)生每天學(xué)20個(gè)小時(shí),每周學(xué)7天,每學(xué)期學(xué)2周?!?相信大家應(yīng)該都聽過這句話,確實(shí),這種現(xiàn)象在如今的中國大學(xué)...
    kiss_fire閱讀 2,686評(píng)論 4 12

友情鏈接更多精彩內(nèi)容