Transaction


ACID

一個transaction通常有四個特質,

  • 原子性(Atomicity) transaction中的操作只有兩種可能:全數完成、全部不完成(occur[əˋkɝ] )

  • 一致性(Consistency) 執行前後,資料庫的完整性不會被破壞

  • 隔離性(Isolation) 不會因多個transaction執行而造成干擾

  • 持久性(Durability) transaction完成後,資料的變更仍存在,不會因系統故障而遺失

How DB implements a Transaction

在DB中,通常會(1)將指令寫入log,(2)執行statement,(3)將“完成”寫入log 當log file沒有完整的TRANSACTION,則會進行ROLLBACK

BEGIN TRAN
 UPDATE  
  ...
  ...

if no errors 
  COMMIT TRAN
else 
  ROLLBACK TRAN

results matching ""

    No results matching ""