在線上事務處理

在線上事務處理

在線上事務處理(OLTP)是指利用計算機網路,將分布於不同地理位置的業務處理計算機設備或網路與業務管理中心網路連線,以便於在任何一個網路節點上都可以進行統一、實時的業務處理活動或客戶服務

工業部門一般將OLTP系統定義為表示一個特定企業機能在一個特定時間點的狀態的系統。該類型的系統包括從每分鐘處理1到2件事務的小型單機系統一直到每秒鐘處理超過30 000件事務的大規模群集主機系統。OLTP系統是資料庫處理的傳統的主要部分。一個在線上事務處理資料庫典型的特點是,擁有大量的並發用戶,這些用戶積極地完成實時修改數據的任務。

基本介紹

  • 中文名:在線上事務處理
  • 外文名:online transaction processing
  • 簡稱:OLTP
  • 別稱:資料庫事務處理
原理,事務屬性,特點,設計準則,

原理

一個好的OLTP平台,能夠大大縮短套用開發時間,提高系統“健壯性”,減少系統維護費用。
OLTP平台是運行在高可靠性作業系統之上的套用技術,它要求作業系統具有多任務處理能力、優良的網路處理能力、較高的數據處理能力以及較好的開放性。因此一般採用Unix作業系統。
OLTP技術一般都和資料庫系統(小型機或大型機)或檔案系統(容錯機)協同完成套用任務。OLTP平台由一組進程構成,採用Client/Server結構,各進程間綜合了網路通信、共享記憶體、管道、IPC(事務指令)等通信方式。數據在各進程間有序流動,各進程各司其職共同完成數據的處理。
OLTP平台套用Client/Server技術:採用OLTP模式的套用一般可看作兩級Client/Server結構,OLTP進程作為資料庫伺服器或其他類型服務的客戶端,它負責直接同資料庫系統通信,同時,OLTP進程又是它下一級客戶的Server。這樣的結構使直接與後台資料庫服務進程通信的客戶較少,而真正的數據訪問客戶則不受資料庫Licenses及網路瓶頸的限制而遠超過直接同後台服務進程通信的客戶數。這樣,減輕了後台服務的負載,使主機專注於事實數據的處理。

事務屬性

原子性
(Atomicity):定義工作的獨立單元。如果一個事務是分布的,所有影響分離地點數據的子事務都必須象一個事務那樣被一起執行。為了保持在多個地點數據的一致性,需要使用下面就將介紹的雙階段認可過程。
一致性
(Consistency):一致性基本上是一種資料庫從一個狀態變到同等的另一個狀態的需求。事務監督器必須檢驗所有被影響的數據都是一致的。
孤立性
(Isolation):事務必須被孤立地執行直到完成,執行期間不受到其它事務的影響。
持續性
(Durability):這個性質是與事務的最終確認一起進行的。一旦一個事務被檢驗為對所有受影響的系統都是正確的,它就被認可並且不再需要卷回。

特點

在線上事務處理OLTP(On-Line Transaction Processing)屬於客戶伺服器結構的套用範疇,它有兩個特徵:其一是在線上,即客戶機與伺服器必須能夠實時通信,由客戶機發起請求,直到收到伺服器的確認應答後,整個事物才能完成;其二是事務(或稱交易),即客戶端與伺服器之間通過交易的形式進行協作
OLTP的特點在於事務量大,但事務內容比較簡單且重複率高。大量的數據操作主要涉及一些增加、刪除和修改操作,但一般僅僅涉及一張或幾張表的少數記錄。因此OLTP適合於處理高度結構化的信息。與其相適應,在數據組織方面OLTP以套用為核心,是套用驅動的,數據模型採用E—R模型。

設計準則

為了實現最佳化系統性能的目的,在設計和開發0LTP系統時,應該儘量遵守以下幾條基本準則:
(1)OLTP與決策支持工作量。如果一個企業經常既需要承擔它的在線上業務需求,又需要承擔某些決策支持或數據提煉需求,而且每一項工作都會有不同的要求,經常彼此發生衝突,那么為了使每項工作的性能得到最大的發揮,最好是將決策支持數據轉移到一個獨立的資料庫中。決策支持資料庫物理上與OLTP資料庫處於同一個系統中,只要系統有足夠的輸入/輸出容量用於維持這兩項工作。當然分離兩個資料庫也會帶來一些問題,系統需要採取措施保持兩個資料庫的同步。
(2)數據放置與檔案組。一個OLTP系統最關心的問題莫過於維持良好的輸入/輸出性能。因為經常會有大量的用戶以隨機的方式訪問和修改OLTP系統的數據,所以保持輸入/輸出的均衡很關鍵。為了消除潛在的輸入/輸出瓶頸,系統應該將數據分布到儘可能多的物理磁碟上。在sQL server中。最簡單的分布數據的方法是使用檔案組。將數據存放在多個檔案和檔案組中,允許跨越多個磁碟、多個磁碟控制器或RAID系統創建一個資料庫,這樣的做法可以提高資料庫的性能。
(3)調整OLTP事務。一條好的適用於0LTP系統的原則是爭取使事務儘可能地短,這會使查詢獲取鎖的持續時間減少到最小,同時提高了整個數據的同步性和性能,而且在事務中避免自由形態的用戶輸入欄位,因為假如事務採用了一種無法預料的輸入形式,即使輸入是合法的,但預測查詢將要訪問的數據的範圍和數量也會是很困難的。
(4)控制數據內容。幾個有關資料庫數據的策略能夠提高0LTP系統的性能。一般而言,OLTP系統不需要或很少需要它們的在線上表的歷史數據或總計數據。很少引用的數據應該被歸檔到單獨的資料庫中,或者從頻繁被更新的表中移出,轉而移人僅包含歷史數據的表中。此策略使表和索引儘可能的短小並且會提高事務的性能。
(5)數據備份。OLTP系統的本質是一種連續操作,這意味著該系統必須在一周7天、一天24小時中都可用。0LTP系統可以停機,但必須控制在一個絕對最小值的範圍內。所以系統仍需在其利用率最低時進行備份,這樣可將備份過程對終端用戶的影響減到最小。
(6)索引。對於OLTP系統,索引不是建得越多越好。實際上,應該避免為表創建過多的索引。因為每次在增加一行或修改一個索引欄位時,創建的每一條索引都必須被更新。如果定義了太多不必要的索引,那么當系統更新大量的索引數據時,它會出現巨大變化。

相關詞條

熱門詞條

聯絡我們