淺談數據庫事務四大特性

這篇文章主要介紹了淺談數據庫事務四大特性,小編覺得挺不錯的,這裏分享給大家,供需要的朋友參考。

數據庫四大特性分別是:原子性、一致性、分離性、持久性。下面我們看看具體介紹。

原子性

  事務的原子性指的是,事務中包含的程序作爲數據庫的邏輯工作單位,它所做的對數據修改操作要麼全部執行,要麼完全不執行。這種特性稱爲原子性。

  事務的原子性要求,如果把一個事務可看作是一個程序,它要麼完整的被執行,要麼完全不執行。就是說事務的操縱序列或者完全應用到數據庫或者完全不影響數據庫。這種特性稱爲原子性。

  假如用戶在一個事務內完成了對數據庫的更新,這時所有的更新對外部世界必須是可見的,或者完全沒有更新。前者稱事務已提交,後者稱事務撤消(或流產)。DBMS必須確保由成功提交的事務完成的所有操縱在數據庫內有完全的反映,而失敗的事務對數據庫完全沒有影響。

一致性

      事務的一致性指的是在一個事務執行之前和執行之後數據庫都必須處於一致性狀態。這種特性稱爲事務的一致性。假如數據庫的狀態滿足所有的完整性約束,就說該數據庫是一致的。

      一致性處理數據庫中對所有語義約束的保護。例如,當數據庫處於一致性狀態S1時,對數據庫執行一個事務,在事務執行期間假定數據庫的狀態是不一致的,當事務執行結束時,數據庫處在一致性狀態S2。

分離性

      分離性指併發的事務是相互隔離的。即一個事務內部的操作及正在操作的數據必須封鎖起來,不被其它企圖進行修改的事務看到。

      分離性是DBMS針對併發事務間的衝突提供的安全保證。DBMS可以通過加鎖在併發執行的事務間提供不同級別的分離。假如併發交叉執行的事務沒有任何控制,操縱相同的共享對象的多個併發事務的執行可能引起異常情況。

      DBMS可以在併發執行的事務間提供不同級別的分離。分離的級別和併發事務的吞吐量之間存在反比關係。較多事務的可分離性可能會帶來較高的衝突和較多的事務流產。流產的事務要消耗資源,這些資源必須要重新被訪問。因此,確保高分離級別的DBMS需要更多的開銷。

持久性

  持久性意味着當系統或介質發生故障時,確保已提交事務的更新不能丟失。即一旦一個事務提交,DBMS保證它對數據庫中數據的改變應該是永久性的,耐得住任何系統故障。所以,持久性主要在於DBMS的恢復性能。持久性通過數據庫備份和恢復來保證。

總結

以上就是本文淺談數據庫四大特性的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站:oracle數據庫導入導出命令解析淺談oracle rac和分佈式數據庫的區別oracle 數據庫啓動階段分析等,如有不足之處,歡迎留言指出,小編會及時回覆大家並修改,努力給廣大編程愛好者提供一個更好的閱讀體驗和優質文章供參考。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章