電腦詞典/事務處理 Transaction Processing

出自 Tw.18dao.net
前往: 導覽搜尋

內容目錄: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z


【名稱】:事務處理 Transaction Processing

【解釋】:  通常在數據庫系統中,事務是工作的離散單位。例如,一個數據庫事務可以是修改一個用戶的帳戶平衡或庫存項的寫操作。聯機事務處理系統(OLTP)實時地採集處理與事務相連的數據以及共享數據庫和其它檔案的地位的變化。在聯機事務處理中,事務是被立即執行的,這與批處理相反,一批事務被存儲一段時間,然後再被執行。大多數批處理(例如帳目交換)是在夜間進行的。OLTP的結果可以在這個數據庫中立即獲得,這裏假設這些事務可以完成。聯機事務處理以實時的方式發生。民航定票系統和銀行ATM機是聯機事務處理系統的例子。

       數據庫管理系統使用一些語言(如結構化查詢語言(SQL))中的語句執行事務。IBM已經定義了如下事務類型:

       語句 它在某時完成對一個數據庫進行的處理。

       工作單元 它包括在一個數據庫上執行的多條語句。

       工作分佈式單元 它包括在多個數據庫上執行的多條語句,其中在一個時間,每個數據庫上執行一條語句。

       分佈式請求 在多個數據庫上執行的多條語句,其中,在一個時間,每個數據庫上有多條語句執行。

       在單一用戶、單一數據庫環境下執行事務是簡單的,這是因為沒有衝突問題或對數據庫間同步的需求。在分佈式環境下,維護多個數據庫的完整性是另外一種問題。傳統上,大多數聯機事務處理系統在大型計算機系統上實現,這是由於它的操作的複雜性,以及需要快速輸入/輸出、禁止和管理的原因。如果一個事務必須在多個場地進行修改,那麼就需要管理機制來防止重寫數據並提供同步。其他的需求包括具有卷回失效事務的能力、提供安全性特徵,以及如果需要,提供數據恢復的能力。這是通過一個事務處理監督器來處理的。這個監督器保證了事務是完全完成的或是進行卷回的,因而就可以保證數據庫狀態的正確性。

       在一個分佈式環境下,寫操作經常並行地在多個數據庫服務器上發生。這樣的併發事務處理需要一個“卷回”機制,以保證在一次寫操作中系統失效的情況下,仍保證數據庫的完整性。事務要麼一起確認,要麼放棄。如果一個或多個與事務有關的系統響應不一致,這意味著系統或通信可能出現了故障,因而就會放棄一個事務。

       可以看出,當多個用戶試圖同時改變數據的同一塊時,就出現了衝突問題。另外,對多個數據庫的寫入操作必須進行同步處理,並且必須保證這個寫入已經確實被所有的數據庫處理完畢了。需要一個監督程式來保證數據的完整性。對在分佈式環境下的事務處理有四種需求,聯合起來稱為“ACID”。

       原子性(atomicity)定義工作的獨立單元。如果一個事務是分佈的,所有影響分離地點數據的子事務都必須象一個事務那樣被一起執行。為了保持在多個地點數據的一致性,需要使用下面就將介紹的雙階段認可過程。

       一致性(consistency) 一致性基本上是一種數據庫從一個狀態變到同等的另一個狀態的需求。事務監督器必須檢驗所有被影響的數據都是一致的。

       孤立性(isolation) 事務必須被孤立地執行直到完成,執行期間不受到其它事務的影響。

       持續性(durability) 這個性質是與事務的最終確認一起進行的。一旦一個事務被檢驗為對所有受影響的系統都是正確的,它就被認可並且不再需要卷回。

       Two-Phase Commit雙階段提交

       事務處理的特徵是,當事務沒有完成時(例如,由於沒有足夠的資金或缺少擔保,或由於電源失效或通信鏈路失效而沒有完成時),具有卷回這個事務的能力。一個事務要麼被全執行完畢,要麼被卷回,於是在被卷回時它又返回了這個事務前的狀態。事務監督器是一個監督執行過程的程式。當用戶執行一個事務時,就對數據庫進行了一些改變。如果這個用戶想放棄這個事務,事務監督器保證所有被影響的數據庫返回它們在這個事務前的狀態。

       在分佈式環境,事務處理導致了許多複雜性。用戶可能需要訪問多個不同地點的數據庫,並且同時對多個數據庫進行修改。這些修改必須是相互一致的。例如,如果在一個銀行的多個支行保持了這個銀行的帳戶平衡,而出納對一個顧客的帳戶進行了修改,那麼就必須同時在所有地點進行這一改變。如果在這個事務期間,到任何一個支行辦公室的計算機鏈路失效了,這個事務監督器必須知道這一情況,並通知所有其它支行這個事務沒有完成,並且要求卷回。用雙階段提交完成這個任務。

       雙階段提交是將對數據的寫入分解為兩個階段,每個階段結束都有一個完成的驗證。在下面的步驟中假設在這個事務中不出現故障:

       1.捲入這個事務的數據庫系統保留數據,以對內存中的數據進行驗證。

       2.事務監督器發送一個“預驗證”命令到這個數據庫系統。

       3.數據庫系統應答它們已經準備好了進行驗證。

       4.在接聽到每個數據庫系統的應答後,事務監督器發送一個“驗證”命令。

       5.數據庫系統應答它們成功地對數據進行了驗證。

       6.當事務監督器從所有數據庫系統接收到數據已經被成功地驗證的響應後,它完成這個事務。

       如果這個事務監督器在步驟3和5,從所有數據庫系統沒有聽到所需響應,這個事務監督器警告系統卷回它們的事務。

       Common Transaction Processing Systems公用事務處理系統

       下面是一些事務監督器產品,它們可用於不同的分佈式環境中:

       Encina,它是Transarc公司(Pittsburgh,Pennsylvania)的產品,是一種通過提供事務起始和終止、雙階段提交、意外事件處理、恢復和放棄操作,來保證穿越多個平臺的數據和數據庫的完整性的聯機事務監督器。EncinaTP監督器是一種基於開放軟件基金會的分佈式計算環境的監督器。主要廠商如IBM和Hewlett-Packard計劃使用Encina。

       Tuxedo,它是UNIX系統實驗室(Summit,New Jersey)的產品,可以用於協調網路上的修改。它可以在不同系統上併發運行進程,它可以分佈工作負載,並且如果一個系統失效了,還可以保證這個處理進行下去。它最初是AT&T開發的,並由Novell的UNIX系統組推向市場。它在許多不同的計算機系統上運行,並被一些客戶支持,這些客戶包括DOS、OS/2,以及Windows操作系統。

       IBM顧客控制系統(CICS),是一種在IBM主機系統上運行的TP監督器。這是一種得到廣泛使用的事務處理系統。它支持分佈式環境,並包括一個事務管理器和事務監督器。CICS為它的AIX/6000實現使用Encina功能。

       相關條目:Connectionless and Connection-Oriented Transactions無連接和面向連接事務;Encina;Tuxedo。

【序號】:728

關于“電腦詞典/事務處理 Transaction Processing”的用戶留言:

目前暫無留言

新增相關留言✍