optimistic locking

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/22 16:20:37
optimisticlockingoptimisticlockingoptimisticlocking悲觀鎖定假定任何時刻存取資料時,都可能有另一個客戶也正在存取同一筆資料,因而對資料採取了資料庫層次

optimistic locking
optimistic locking

optimistic locking
悲觀鎖定假定任何時刻存取資料時,都可能有另一個客戶也正在存取同一筆資料,因而對資料採取了資料庫層次的鎖定狀態,在鎖定的時間內其他的客戶不能對資料進行存取,對於單機或小系統而言,這並不成問題,然而如果是在網路上的系統,同時間會有許多連線,如果每一次讀取資料都造成鎖定,其後繼的存取就必須等待,這將造成效能上的問題,造成後繼使用者的長時間等待.
樂觀鎖定(Optimistic locking)則樂觀的認為資料的存取很少發生同時存取的問題,因而不作資料庫層次上的鎖定,為了維護正確的資料,樂觀鎖定使用應用程式上的邏輯實現版本控制的解決.
在不實行悲觀鎖定策略的情況下,資料不一致的情況一但發生,有幾個解決的方法,一種是先更新為主,一種是後更新的為主,比較複雜的就是檢查發生變動的資料來實現,或是檢查所有屬性來實現樂觀鎖定.