?
1、事務的定義
事務式訪問數據庫的一個邏輯工作單位,它屬于一個操作序列,執行這個操作序列使數據庫從一種一致狀態轉換到另外一種一致狀態,從而實現特定業務的功能。
2、分布式事務的定義
分布式事務屬于傳統事務的擴展,分布式事務繼承了傳統事務的定義,因為數據是分布的,一個事務的執行可能涉及多個節點的數據,
這使得分布式事務的執行方式與傳統事務的執行方式不同。傳統集中式事務只在一臺計算機上執行,分布式事務一般會在多個節點上的多臺計算機上執行。
子事務:分布式數據庫管理系統的事務優化器實現把一個分布式事務轉變為若干個與相應節點有關的操作序列組成,這些操作序列被叫做子事務。因此可以把分布式事務看作由多個不同站點上的子事務組成。
3、分布式事務的特征
3.1 事務的基本特征
原子性:事務的操作要么全部執行要么全部不執行。當事務非正常情況終止時,其中間結果將被取消。事務的原子性主要保證數據庫的狀態要么回退到執行之前的狀態要么執行成功變成另一個一致的狀態。
可串行性或一致性:并發執行的幾個事務,其操作結果應與某種順序串行執行這幾個事務所得到的結果完全相同。由數據庫系統的并發機制來保證并發事務執行時數據庫狀態的一致。
隔離性:一個沒有執行完成的事務不能在其提交之前把自己的中間結果提供給其他事務使用。因為未提交的事務結果不是最終結果,有可能在后續的執行過程中取消,這樣就會造成數據庫不一致的狀態。
持久性:當一個事務正常提交后,其操作結果將被永久固化下來。
原子性、可串行性、隔離性、持久性稱為事務的四個基本特性,簡寫為ASID或ACID。屬于傳統集中式事務和分布式事務都具備的。
3.2 分布式事務和集中式數據庫中的事務區別:
執行特性:由于分布式事務執行時被分解為多個子事務執行,因為子事務間的操作需要進行協調,因此每一個分布式事務必須創建一個協調進程,以協調各子事務的操作,協調數據及控制報文的收發,決定事務的提交和回退。
集中式事務的執行由并行調度算法調度,不會產生一個控制過程,也不必分解為子事務。
操作特性:在分布式事務中除了應用對數據的存取操作序列之外,還需要加入大量的通信原語,負責協調進程和代理進程之間的數據傳送、代理進程之間的數據傳送。另外為了協調子事務的執行還需要加入大量的控制原語。因此分布式事務比集中式事務的組成要復雜的多,執行方式也是復雜的多。
控制報文:分布式數據庫系統除了數據報文外,還需要控制報文,對各子事務的操作進行協調,這樣就有了大量的控制報文在網絡上傳輸。
IT技術分享社區
個人博客網站:https://programmerblog.xyz
文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識