快照隔離是事務處理和數據庫中的一個屬性,它保證在一個事務中進行的所有讀取都能看到同一個數據庫“快照”。這意味著,如果事務的更新與任何其他并發更新不沖突,則事務將承諾成功處理請求。快照隔離是一個用于多版本并發...
快照隔離是事務處理和數據庫中的一個屬性,它保證在一個事務中進行的所有讀取都能看到同一個數據庫“快照”。這意味著,如果事務的更新與任何其他并發更新不沖突,則事務將承諾成功處理請求。快照隔離是一個用于多版本并發的控制算法,它提供了隔離級別,從而避免了在并發時經常出現的問題。這種隔離是由幾個不同的結構化查詢語言(SQL)服務器實現的,它們以最少數量的序列化異常操作。但是,快照隔離不會,保證服務器的完全可串行化。與計算機進行倒立操作許多主要的數據管理系統都包含不可串行化的默認隔離級別,并且經常在沒有快照隔離的情況下遇到序列化異常。這可能導致大型系統每天發生大量隔離錯誤,這會導致數據被破壞,尤其是在數據倉庫應用程序中發現的問題。系統可能在這種狀態下運行是因為在較低隔離級別上運行的應用程序在沒有出現嚴重錯誤的情況下可以提高效率。在系統中包含快照隔離可以減少這些異常,并且-在計算操作時間和考慮到的錯誤-進一步提高了效率。有些數據庫提供快照隔離而不是完全序列化,但是在使用這種隔離的數據庫中也可能出現異常。這些異常可能導致數據一致性違規,因為事務保持一致性交錯的,或交錯排列的解決問題和防止此類異常的一種方法是通過引入人工鎖和沖突更新來操縱應用程序,然后分析每對事務之間的沖突,但是解決這些異常的另一種方法是修改數據庫的算法系統的并發控制,在運行時自動檢測和防止快照隔離異常。這可以用于重要或任意應用程序,但提供了可序列化的隔離。較新的SQL Server能夠為在某些應用程序中增強并發性。早期版本的SQL server使用鎖定作為并發的基礎,快照隔離依賴于行版本控制的增強,以提高性能。當遇到讀或寫阻塞的情況時,它通過避免它們來提高性能
-
發表于 2020-08-07 07:32
- 閱讀 ( 1797 )
- 分類:電腦網絡