1. 程式人生 > >事務(Transaction)的特性

事務(Transaction)的特性

事務管理

事務(Transaction):
1、構成單一邏輯工作單元的操作集合
DBMS中的使用者程式
DBMS外的可執行程式
資料庫的讀/寫操作序列
2、讀
資料庫中讀取資料,首先從磁碟中讀到記憶體(Buffer Pool),然後賦給變數。
3、寫
先完成記憶體中的資料複製,然後寫入磁碟。

事務的特性-ACID:
原子性(Atomicity)
一致性(Consistency)
隔離性(Isolation)
永續性(Durability)

事務的特性-原子性:
事務中的操作,要麼全做成,要麼都不做
事務是不可拆分的
事務必須以 Commit/Rollback 結束

事務的特性
-一致性:
單獨執行的事務,必須保證保持資料庫的一致狀態
從一個一致狀態遷移到另一個一致狀態
與原子性相關

事務的特性-隔離性:
多個併發事務之間不能相互干擾
併發不影響事務的執行

事務的特性-永續性:
一旦事務成功完成(Commit),它對資料庫的更新應該是持久的
即使在寫入磁碟之前,系統發生故障
在下次啟動之後,也應保障資料更新的有效

事務及事務管理器:
恢復和併發控制是事務管理的重要組成部分
恢復管理部件負責保證事務的原子性與永續性
併發控制部件負責事務的併發控制機制,實現事務的隔離性與一致性
事務管理器實現事務的ACID 

事務的提交與回滾:
提交( Commit 

通知事務管理器一個邏輯工作單元已完成,所做的更新操作可以被提交或永久保留
表明事務成功地結束
執行有效性檢驗
回滾( RollBack)
通知事務管理器事務未能正常完成,資料庫可能處於不一致狀態,當前事務所做的所有更新操作必須撤消
表明事務不成功地結束

事務的狀態:
活動狀態(Active),初始狀態,事務正在執行時處於此狀態
部分提交狀態,事務的最後一條語句被執行後
失敗狀態,發現正常的操作不能繼續後
中止狀態,事務回滾且資料庫已恢復到事務開始時的狀態
重啟事務——不是由於內部邏輯錯誤導致的故障
殺死事務
提交狀態,事務成功完成

事務的併發:
多個事務可能同時(交叉地)在系統中執行
提高處理器、磁碟的利用率
減少等待時間
多個事務併發執行,由事務管理器進行排程
可序列化排程
併發執行的結果,與事務按某一順序序列執行的結果等同