OLTP(在線事務處理)支持在 ATM 和在線銀行、收銀機和電子商務以及我們每天與之交互的許多其他服務背后進行快速、準確的數據處理。
OLTP 或在線事務處理允許大量人員(通常通過 Internet)實時執行大量數據庫事務。
數據庫事務是對數據庫中數據的更改、插入、刪除或查詢。OLTP 系統(以及它們支持的數據庫交易)推動了我們每天進行的許多金融交易,包括網上銀行和 ATM 交易、電子商務和店內購物,以及酒店和航空公司預訂等等。在每種情況下,數據庫交易也保留為相應金融交易的記錄。OLTP 還可以推動非金融數據庫交換,包括密碼更改和短信。
在 OLTP 中,任何數據庫事務的共同定義特征是它的原子性(或不可分割性)——事務要么整體成功,要么失敗(或被取消)。它不能保持在掛起或中間狀態。
通常,OLTP 系統執行以下操作:
處理大量相對簡單的交易:通常是對數據的插入、更新和刪除,以及簡單的數據查詢(例如,ATM 的余額檢查)。
允許多用戶訪問相同的數據,同時確保數據完整性:OLTP 系統依靠并發算法來確保沒有兩個用戶可以同時更改相同的數據,并且所有事務都以正確的順序執行。這可以防止人們使用在線預訂系統重復預訂同一個房間,并保護共同持有的銀行賬戶的持有人免受意外透支。
強調非常快速的處理,響應時間以毫秒為單位:OLTP 系統的有效性是通過每秒可以執行的事務總數來衡量的。
提供索引數據集:這些用于快速搜索、檢索和查詢。
24/7/365 全天候可用:同樣,OLTP 系統處理大量并發事務,因此任何數據丟失或停機都可能產生重大且代價高昂的后果。完整的數據備份必須隨時可用。OLTP 系統需要頻繁的定期備份和持續的增量備份。
OLTP 經常與在線分析處理或 OLAP 混淆。兩者都有相似的首字母縮寫詞,并且是在線數據處理系統,但這就是相似之處。
OLTP 針對執行在線數據庫事務進行了優化。OLTP 系統專為一線工作人員(例如,收銀員、銀行出納員、部分服務臺文員)或客戶自助服務應用程序(例如,網上銀行、電子商務、旅行預訂)而設計。
另一方面,OLAP 針對進行復雜數據分析進行了優化。OLAP 系統專為數據科學家、業務分析師和知識工作者使用而設計,它們支持商業智能 (BI)、數據挖掘和其他決策支持應用程序。
毫不奇怪,OLTP 和 OLAP 系統有幾個明顯的技術差異:
OLTP 系統使用關系數據庫,可以容納大量并發用戶和頻繁的查詢和更新,同時支持非常快的響應時間。OLAP 系統使用多維數據庫——一種由多個關系數據庫創建的特殊類型的數據庫,它支持涉及來自當前和歷史數據的多個數據事實的復雜查詢。(OLAP 數據庫可以組織為數據倉庫。)
OLTP 查詢很簡單,通常只涉及一個或幾個數據庫記錄。OLAP 查詢是涉及大量記錄的復雜查詢。
OLTP 事務和查詢響應時間快如閃電;OLAP 響應時間要慢幾個數量級。
OLTP 系統經常修改數據(這是事務處理的本質); OLAP 系統根本不修改數據。
OLTP 工作負載涉及讀取和寫入的平衡;OLAP 工作負載是讀取密集型的。
OLTP 數據庫需要的存儲空間相對較少;OLAP 數據庫處理大量數據集,并且通常需要大量存儲空間。
OLTP 系統需要頻繁或并發備份;OLAP 系統的備份頻率要低得多。
值得注意的是,OLTP 系統通常充當 OLAP 系統的信息源。通常,使用 OLAP 執行分析的目標是改進業務戰略和優化業務流程,這可以為改進 OLTP 系統提供基礎。
要深入了解這些方法之間的差異,請查看“OLAP 與 OLTP:有什么區別?”
自互聯網和電子商務時代出現以來,OLTP 系統已經無處不在。它們幾乎存在于每個行業或垂直市場以及許多面向消費者的系統中。OLTP 系統的日常示例包括:
ATM 機(這是經典的、最常被引用的示例)和網上銀行應用程序
信用卡支付處理(在線和店內)
訂單輸入(零售和后臺)
在線預訂(票務、預訂系統等)
記錄保存(包括健康記錄、庫存控制、生產調度、索賠處理、客戶服務票務和許多其他應用程序)