聯機事務處理過程(On-Line Transaction Processing, OLTP),也稱為面向交易的處理過程,其基本特征是前台接收的使用者資料可以立即傳送到計算中心進行處理,并在很短的時間内給出處理結果,是對使用者操作快速響應的方式之一。
聯機事務處理系統是一種以事務元作為資料處理的機關、人機互動的計算機應用系統。它能對資料進行即時更新或其他操作,系統内的資料總是保持在最新狀态。使用者可将一組保持資料一緻性的操作序列指定為一個事務元,通過終端、個人計算機或其他裝置輸入事務元,經系統處理後傳回結果,應用于飛機訂票、銀行出納、股票交易、超市銷售、飯店前後管理等。
這樣做的最大優點是可以即時地處理輸入的資料,及時地回答。也稱為實時系統(Real time System)。衡量聯機事務處理結果的一個重要名額是系統性能,具體展現為實時請求-響應時間(Response Time),即使用者在終端上輸入資料之後,到計算機對這個請求給出答複所需要的時間。OLTP是由前台、應用、資料庫共同完成的,處理快慢以及處理程度取決于資料庫引擎、伺服器、應用引擎。OLTP資料庫旨在使事務應用程式僅寫入所需的資料,以便盡快處理單個事務。
OLTP的特征:
- 支援大量并發使用者定期添加和修改資料。
- 反映随時變化的機關狀态,但不儲存其曆史記錄。
- 包含大量資料,其中包括用于驗證事務的大量資料。
- 可以進行優化以對事務活動做出響應。
- 提供用于支援機關日常營運的技術基礎結構。
- 個别事務能夠很快地完成,并且隻需通路相對較少的資料。
- 實時性要求高。
- 互動一般是确定的,是以OLTP是對确定性的資料進行存取。
- 并發性要求高并且嚴格的要求事務的完整、安全性。
OLTP處理的資料是高度結構化的,涉及的事務比較簡單,是以複雜的表關聯不會嚴重影響性能。反之,決策支援系統的一個查詢可能涉及數萬條記錄,這時複雜的連接配接操作會嚴重影響性能。在OLTP系統中,資料通路路徑是已知的,至少是相對固定的,應用程式可以在事務中使用具體的資料結構如表、索引等。而決策支援系統使用的資料不僅有結構化資料,而且有非結構化資料,使用者常常是在想要某種資料前才決定去分析該資料。是以,資料倉庫系統中一定要為使用者設計出更為簡明的資料分析模型,這樣才能為決策支援提供更為透明的資料通路。
OLTP系統最容易出現瓶頸的地方就是CPU與磁盤子系統,具體解釋如下:
(1) CPU出現瓶頸常表現在邏輯讀總量與計算性函數或者是過程上,邏輯讀總量等于單個語句的邏輯讀乘以執行次數,如果單個語句執行速度雖然很快,但是執行次數非常多,那麼,也可能會導緻很大的邏輯讀總量。設計的方法與優化的方法就是減少單個語句的邏輯讀,或者是減少它們的執行次數。另外,一些計算型的函數,如自定義函數、decode等的頻繁使用,也會消耗大量的CPU時間,造成系統的負載升高,正确的設計方法或優化方法,需要盡量避免計算過程,如儲存計算結果到統計表就是一個好的方法。
(2) 磁盤子系統在OLTP環境中,它的承載能力一般取決于它的IOPS處理能力. 因為在OLTP環境中,磁盤實體讀一般都是db file sequential read,也就是單塊讀,但是這個讀的次數非常頻繁。如果頻繁到磁盤子系統都不能承載其IOPS的時候,就會出現大的性能問題。
OLTP比較常用的設計與優化方式為Cache技術與B-tree索引技術,Cache決定了很多語句不需要從磁盤子系統獲得資料,是以,Web cache與Oracle data buffer對OLTP系統是很重要的。另外,在索引使用方面,語句越簡單越好,這樣執行計劃也穩定,而且一定要使用綁定變量,減少語句解析,盡量減少表關聯,盡量減少分布式事務,基本不使用分區技術、MV技術、并行技術及位圖索引。因為并發量很高,批量更新時要分批快速送出,以避免阻塞的發生。
OLTP 系統是一個資料塊變化非常頻繁,SQL 語句送出非常頻繁的系統。 對于資料塊來說,應盡可能讓資料塊儲存在記憶體當中,對于SQL來說,盡可能使用變量綁定技術來達到SQL 重用,減少實體I/O 和重複的SQL 解析,進而極大的改善資料庫的性能。
這裡影響性能除了綁定變量,還有可能是熱塊(hot block)。 當一個塊被多個使用者同時讀取時,Oracle 為了維護資料的一緻性,需要使用Latch來串行化使用者的操作。當一個使用者獲得了latch後,其他使用者就隻能等待,擷取這個資料塊的使用者越多,等待就越明顯。 這就是熱塊的問題。 這種熱塊可能是資料塊,也可能是復原端塊。 對于資料塊來講,通常是資料庫的資料分布不均勻導緻,如果是索引的資料塊,可以考慮建立反向是以來達到重新分布資料的目的,對于復原段資料塊,可以适當多增加幾個復原段來避免這種争用。
資料來源:
董昭和主編.高新技術常用名詞注釋:科學技術文獻出版社,2003年02月第1版
周蘇,王碩蘋主編.大資料時代管理資訊系統:中國鐵道出版社,2017.01
OLAP、OLTP的介紹和比較
https://www.cnblogs.com/hhandbibi/p/7118740.htmlOnline transaction processing (OLTP)
https://docs.microsoft.com/en-us/azure/architecture/data-guide/relational-data/online-transaction-processing