對鎖機制,保證事務可序列性的最常用協議是兩階段封鎖協議。該協議要求每個事務分兩個階段提出加鎖和解鎖申請: (1
)增長階段。事務可以獲得鎖,但不能釋放鎖。 (2
)縮減階段。事務可以釋放鎖,但不能獲得鎖。
一開始,事務處於增長階段,事務根據需要獲得鎖。一旦該事務釋放了鎖,它就進入縮減階段,不能再發出加鎖請求。
兩階段封鎖協議實現了事務集的序列化排程,但同時,乙個事務的失敗可能會引起一連串事務的回滾。為避免這種情況的發生,我們需要進一步加強對兩階段封鎖協議的控制,這就是:嚴格兩階段封鎖協議和強兩階段封鎖協議。
嚴格兩階段封鎖協議除了要求封鎖是兩階段之外,還要求事務持有的所有排它鎖必須在事務提交之後方可釋放。這個要求保證未提交事務所寫的任何資料,在該事務提交之前均以排它鎖封鎖,防止其他事務讀取這些資料。
強兩階段封鎖協議,要求事務提交之前不得釋放任何鎖。使用鎖機制的資料庫系統,要麼使用嚴格兩階段封鎖協議,要麼使用強兩階段封鎖協議。
兩階段封鎖協議並不保證不會發生死鎖,資料庫系統必須採取其他的措施,預防和解決死鎖問題。
兩階段封鎖協議
參考 兩段鎖協議是指每個事務的執行分為兩個階段 生長階段 加鎖階段 和衰退階段 解鎖階段 加鎖階段 在該階段可以進行加鎖操作。在對任何資料進行讀操作之前要申請並獲得s鎖,在進行寫操作之前要申請並獲得x鎖。加鎖不成功,則事務進入等待狀態,直到加鎖成功才繼續執行。解鎖階段 當事務釋放了乙個封鎖以後,事務...
兩階段提交協議
閱讀次數 142次 類別 我的文章 永久鏈結 trackback 實現分布式事務的關鍵就是兩階段提交協議。在此協議中,乙個或多個資源管理器的活動均由乙個稱為事務協調器的單獨軟體元件來控制。實現分布式事務的關鍵就是兩階段提交協議。在此協議中,乙個或多個資源管理器的活動均由乙個稱為事務協調器的單獨軟體元...
兩階段提交協議
兩階段提交協議 實現分布式事務的關鍵就是兩階段提交協議。在此協議中,乙個或多個資源管理器的活動均由乙個稱為事務協調器的單獨軟體元件來控制。此協議中的五個步驟如下 應用程式呼叫事務協調器中的提交方法。事務協調器將聯絡事務中涉及的每個資源管理器,並通知它們準備提交事務 這是第一階段的開始 為 了以肯定的...