-
死鎖拓展U鎖:
單元事務有寫鎖升級為寫鎖,都是讀鎖還是讀鎖
查看全部 -
死鎖解決方案:
避免死鎖,碰撞檢測,等鎖超時
查看全部 -
要保證事務的安全,可以使用序列化讀寫:排隊法??梢员WC事務的安全,但是這樣會把讀寫性能降到最低。為了提高性能有如下優化:
?? ?? ?所以需要針對同一個事務單元進行控制。就是只需保證一個事務所涉及的數據不被訪問即可,對于其他的數據可以不控制。那么對于其他事務來說,只要不操作已有事務的數據,就可以并行。
?? ??? ? 如果同時有兩個或兩個以上的事都是讀讀,那么讀讀之間也是可以并行的查看全部 -
總結一下 事務的隔離性是通過數據庫鎖的機制實現的,持久性通過redo log(重做日志)來實現,原子性和一致性通過Undo log來實現。 原文鏈接 https://blog.csdn.net/qq_36142146/article/details/85247960查看全部
-
ACID的概念拓展:查看全部
-
單機事務調優原則
查看全部 -
按照我的理解:不考慮MVCC,假設沒有U鎖,按照講解的理解,根據示例sql,其在數據庫內部是先讀鎖、再寫鎖。這樣為了保證數據是正確的,需要在可重復讀的級別,這樣數據更新不會錯誤,但是同時讀的時候會出現死鎖。如果在提交讀的級別,同時讀不會出現死鎖,但是已經算是臟讀了,無法保證數據更新是正確的了。使用U鎖,update語句,表面上我們就可以簡單認為是一個寫鎖了,重復讀級別不會出現死鎖,在提交讀級別也能保證更新的正確性。u鎖,其實是在讀寫鎖的基礎上,應該是在可重復讀和提交讀的級別上的
查看全部 -
隔離性和鎖的關系
查看全部 -
1.排它鎖 (誰都不能進來)
序列化:什么操作都不能并行
2.讀寫鎖 (讀鎖不能被升級成寫鎖) 不能寫了當然能每次讀的時候讀到的數據一致
可重復讀 :讀讀可并行
3.讀寫鎖 (讀鎖能被升級成寫鎖) 在讀的時候能被寫入數據,讀到的數據就不一致了
讀已提交:讀讀并行 讀寫并行
4.寫鎖
讀未提交 :讀讀并行 讀寫并行 寫讀并行
寫內存?
group commit
宕機重啟recovery 查詢日志恢復
查看全部 -
一致性:consistency,保證能看到系統內的所有更改,Can(happen before)
隔離性:以性能為理由,對一致性的破壞。
????????????? 序列化讀寫(serializale)
????????????? 排它鎖
????????????? 讀寫鎖:可重復讀(repeatable read),讀鎖不能被寫鎖升級,只能做到讀讀可并行
????????????????????????????讀已提交(read committed),讀讀并行,讀寫并行(寫讀還不可以并行)
????????????????????????????讀未提交(read uncommitted),只加寫鎖,讀不加鎖,可實現讀讀并行,讀寫并行,寫讀并行
問題:可能讀到寫過程中的數據
隔離性小結:SQL 92 標準定義隔離性,序列化,可重復讀,讀已提交,讀未提交。
隔離性擴展:快照(snapshot isolation),多版本并發空知MVCC,multi-version concurrency control
????????????? ?
查看全部 -
原子性:atomicity,一個事務要么同時成功,要么同時失敗
查看全部 -
MVCC:multi-version concurrency control 多版本并發控制
能夠做到:寫不阻塞讀
事務的先后順序:邏輯時間戳,在oracle中用SCN,在Innodb中使用Trx_id,它僅僅是一個記錄先后順序,不是物理時間戳。
故障恢復:業務屬性不匹配,系統崩潰,一般會有一個recovery點進行恢復
死鎖與死鎖檢測:兩個線程,不同方向,相同資源。即兩個或多個線程,從不同方向,對同一個資源進行加鎖控制,那么一定會產生死鎖。
死鎖解決方法:死鎖避免;碰撞檢測(最常用);等鎖超時;
查看全部 -
事務:鎖和并發的結合體
ACID:Atomicity原子性,一致性Consistency,隔離性Isolation,持久性 Durability
排隊法:序列化讀寫,優勢:不需要沖突控制;劣勢:慢速設備
排他鎖:針對同一個單元的訪問進行控制
讀寫鎖:針對讀讀場景可以做優化
查看全部 -
網絡帶走的:(去中心化);共享數據困難;貢多的延遲;確定性喪失;
去中心化的結果就是共享數據困難,需要用消息傳遞方式進行數據共享。但是消息傳遞必然存在延遲,本機中進程之間消息傳遞的延遲還可以忍受,但是如果是在網絡中進行消息傳遞,則會有更多的延遲,并且有確定性數據喪失,為了降低確定性喪失數據,則需要等待更多的延遲,更可靠的傳遞消息協議。
查看全部 -
網絡帶來的:(去中心化);理論上無限的擴展能力;理論上無限的數據安全性;理論上無限的服務可用性
查看全部 -
事務:讓很多步驟操作順序發生,多進程/線程看上去就像是一步操作
事務:方便理解,不會讓計算機出現故障;但是代價是有加鎖和去鎖的操作
進程+數據 = 圖靈機操作
查看全部
舉報