网站大量收购独家精品文档,联系QQ:2885784924

14-2-3二阶段确认交易.ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
14-2-3二阶段确认交易

第14章 交易管理與並行控制 14-1 交易的基礎 14-2 資料庫管理系統的交易管理 14-3 並行控制的三種問題 14-4 並行控制與排程 14-5 並行控制的處理方法 14-1 交易的基礎 14-1-1 交易狀態 14-1-2 交易的四大特性 14-1 交易的基礎-說明 一般來說,資料庫系統最主要的操作是存取資料庫中儲存的資料,如果有多個存取操作需要執行,而且這些操作是無法分割的單位,則整個操作過程,對於資料庫系統來說是一個「交易」(Transaction),或譯成「異動」,在本書將統一使用「交易」來說明。 交易是將多個資料庫單元操作視為同一個不可分割的邏輯單元,這些資料庫單元的操作,只有兩種結果:一種是全部執行完成;另一種就是通通不執行,而且不可能有執行一半的情形發生。 14-1 交易的基礎-單元操作 交易是將資料庫單元操作的集合視為一個不可分割的邏輯單位(Logical Unit),然後使用並行控制(Concurrency Control)和回復處理(Recovery)機制來保障交易執行成功。 資料庫的單元操作只有兩種,如下所示: 讀取(Read):從資料庫讀取資料。 寫入(Write):將資料寫入資料庫。 14-1-1 交易狀態-圖例 資料庫管理系統執行整個交易的過程可以分成數種交易狀態(Transaction State),如下圖所示: 14-1-1 交易狀態-種類1 啟動狀態(Active State):當交易開始執行時,就是進入啟動狀態的初始狀態,依序執行交易的讀取或寫入等資料庫單元操作。 部分確認交易狀態(Partially Committed State):當交易的最後一個資料庫單元操作執行完後,也就是交易結束,就進入部分確認交易狀態。 確認交易狀態(Committed State):在成功完成交易進入部分確認交易狀態後,還需要確認系統沒有錯誤,可以真正將資料寫入資料庫。在確認沒有錯誤後,就可以進入確認交易狀態,表示交易造成的資料庫更改,將真正寫入資料庫,而且不會再取消更改。 14-1-1 交易狀態-種類2 失敗狀態(Failed State):當發現交易不能繼續執行下去時,交易就進入失敗狀態,準備執行回復交易。 放棄或中止狀態(Aborted or Terminated State):交易需要回復到交易前的狀態,在取消所有寫入資料庫單元操作影響的資料後,就進入此狀態。簡單的說,資料庫管理系統如同根本沒有執行過此交易。 14-1-1 交易狀態-交易停止執行的原因1 在資料庫管理系統執行交易的過程中,共有三種情況會停止交易的執行,如下所示: 交易成功 交易成功就是正常結束交易的執行,它是指交易的資料庫單元操作全部執行完成。以交易狀態來說,如果交易從啟動狀態開始,可以到達確認交易狀態,就表示交易成功。 14-1-1 交易狀態-交易停止執行的原因2 交易失敗 交易失敗是送出放棄指令(Abort或Rollback)來結束交易的執行。以交易狀態來說,就是到達放棄或中止狀態。交易失敗分為兩種,如下所示: 放棄交易:交易本身因為條件錯誤、輸入錯誤資料或使用者操作而送出放棄指令(Abort或Rollback)來放棄交易的執行,正確的說,此時的交易是進入放棄狀態。 中止交易:因為系統負載問題或死結(Deadlock)情況,由資料庫管理系統送出放棄指令,讓交易進入中止狀態。 14-1-1 交易狀態-交易停止執行的原因3 交易未完成 交易有可能因為系統錯誤、硬體錯誤或當機而停止交易的執行,因為沒有送出放棄指令,此時交易是尚未完成的中斷狀態,即只執行到一半就被迫中斷執行。 因為資料庫管理系統並不允許此情況發生,所以在重新啟動後,其回復處理(Recovery)機制會從中斷點開始,重新執行交易至交易成功或失敗來結束交易的執行。 14-1-2 交易的四大特性1 單元性(Atomicity) 單元性是將交易過程的所有資料庫單元操作視為同一項工作,不是全部執行完,就是通通不執行,這是一種不能分割的邏輯單位,如下圖所示: 14-1-2 交易的四大特性2 一致性(Consistency) 一致性是指交易可能會更改或更新資料庫的資料,不過在交易之前和之後,資料庫的資料仍然需要滿足完整性限制條件,維持資料的一致性,如下圖所示: 14-1-2 交易的四大特性3 隔離性(Isolation) 隔離性是指在執行多個交易時,雖然各交易是並行執行,不過各交易之間應該滿足獨立性,也就是說,一個交易不會影響到其他交易的執行結果,或被其他交易所干擾,如下圖所示: 14-1-2 交易的四大特性4 永久性(Durability) 永久性(Durability)是指當交易完成執行確認交易(Commit)後,其執行操作所更動的資料已經永久改變,

文档评论(0)

busuanzi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档