什麼是 OLTP?

OLTP 的定義

「OLTP 或線上交易處理」是一種資料處理類型,由執行許多同時在線銀行、購物、訂單輸入或傳送文字訊息 (例如執行) 發生的交易。這些傳統上稱為經濟或財務交易、記錄和保護交易,讓企業隨時都能存取會計或報表的資訊。

在過去,OLTP 的真實世界互動受到交換貨幣、產品、資訊、服務的要求等限制。但在這種情況下,交易的定義多年來已經擴大,特別是自網際網路出現以來,包括與企業的任何形式的數位互動或參與,可以從世界任何地方和透過任何網路連線的感測器觸發。它也包含任何互動或動作,例如在網頁上下載 pdfs、檢視特定影片、自動維護觸發或在社群通路上回應,這可能對業務記錄為客戶提供更好的服務。


交易的主要定義 (經濟或財務) 則是大多數 OLTP 系統的基礎,因此線上交易處理通常涉及插入、更新與 (或) 刪除資料存放區中少量的資料,以收集、管理及保護這些交易。一般而言,Web、行動或企業應用程式會追蹤與客戶、供應商或合作夥伴的所有互動或交易,並在 OLTP 資料庫中更新這些互動或交易。儲存在資料庫中的此交易資料對企業而言非常重要,用於報告或分析供資料導向決策使用。

瞭解如 RetracedPompeii 的 Archaeological ParkJasci 或 Siemens 等公司如何順利在雲端建立交易處理工作負載。

企業通常具有兩種資料處理能力:OLTP 與 OLAP。

OLTP 與 OLAP

雖然它們聽起來很類似,而且同時也是線上資料處理系統,但兩者之間可能會有明顯差異。

OLTP 可透過大量人員即時執行大量交易,而線上分析處理 (OLAP) 通常與查詢資料庫中的這些交易 (也稱為記錄) 進行分析。OLAP 可協助公司從其異動資料中擷取見解,以便用它做出更明智的決策。

下表顯示 OLTP 和 OLAP 系統之間的比較。

OLTP 系統

OLAP 系統

使大量的人能夠即時執行大量的資料庫事務

通常涉及在資料庫中查詢許多記錄 (即使所有記錄) 以供分析之用

需要快速回應時間

要求讓回應時間變慢速度比 OLTP 所需的時間還慢

經常修改少量資料,且通常牽涉到讀取和寫入的餘額

不用修改資料;工作負載通常都會受到讀取密集作業

使用索引資料來縮短回應時間

以分欄格式儲存資料,可輕鬆存取大量記錄

需要經常或並行的資料庫備份

需要更不頻繁的資料庫備份

需要相對較少的儲存空間

通常具有大量儲存空間需求,因為它們儲存大量歷史資料

通常只涉及一或數筆記錄的簡單查詢

執行包含大量記錄的複雜查詢

因此,OLTP 是一種線上資料修改系統,而 OLAP 是一個線上歷史多維度資料儲存系統,用來擷取大量資料以供分析之用。OLAP 通常會針對一或多個 OLTP 系統所擷取的資料提供分析。

OLTP 系統的需求

使用交易資料的 OLTP 系統最常見的架構是一種三層式架構,通常由簡報層、商業邏輯層及資料存放區層組成。表現層是前端,交易會透過人與人之間的互動或由系統產生。邏輯層由驗證異動的規則組成,並確保可使用完成異動所需的所有資料。資料存放區層會儲存交易與其相關的所有資料。

線上交易處理系統的主要特性如下:

  • ACID 規範:OLTP 系統必須確保正確記錄整個交易。交易通常是在需要執行多個步驟或作業的程式上執行。當所有涉及確認交易的關係人,或當產品 / 服務提供時,或對資料庫中特定表格進行特定更新時,即可完成此動作。只有在執行並記錄所有相關步驟時,才能正確記錄交易。如果任一步驟中有任何錯誤,則整個交易必須中止,且所有步驟都必須從系統刪除。因此,OLTP 系統必須遵守單元化、一致、隔離和持久 (ACID) 的特性,以確保系統中資料的準確性。
    • 不可分割:不可分割性控制會保證交易中的所有步驟以群組形式順利完成。也就是說,如果交易之間的任何步驟失敗,則所有其他步驟也必須失敗或回復。交易順利完成稱為提交。交易失敗稱為中止。
    • 一致:交易會保留資料庫的內部一致性。如果您在一開始的一致資料庫上執行交易,則當交易完成執行資料庫時,就會再次執行資料庫。
    • 隔離:異動會以單獨執行的方式執行,而沒有其他異動。也就是說,執行一組交易的效果,與一次執行一組交易的方式相同。此行為稱為可序列化性,通常會透過鎖定表格中的特定資料列來實行。
    • 持久性:交易的結果不會在失敗中遺失。
  • 並行:OLTP 系統具有龐大的使用者群體,許多使用者嘗試同時存取相同的資料。系統必須確保嘗試讀取或寫入系統中的所有使用者都可以並行執行。並行控制可確保兩個使用者在同一時間存取資料庫系統中的相同資料,將無法變更該資料,或使用者在變更該資料之前必須等待其他使用者完成處理。
  • 擴展:不論嘗試存取系統的使用者數目為何,OLTP 系統必須能夠即時縱向擴展或縮減,才能即時管理交易量,並且同時執行交易。
  • 可用性:OLTP 系統必須一律可用,並且隨時可以接受交易。遺失交易可能會導致收益損失或可能產生法律影響。由於交易可以從世界各地及任何時間執行,因此系統必須為 24 小時全年無休。
  • 高輸送量和短暫回應時間:OLTP 系統需要 9 個或甚至更短暫的回應時間,以保持企業使用者的生產力,並滿足客戶不斷提高的期待。
  • 可靠性:OLTP 系統通常會讀取和操控大量選擇性少量資料。最重要的是,在任何指定的時間點,資料庫中的資料對於存取該資料的使用者和應用程式來說都很可靠且值得信賴。
  • 安全性:由於這些系統儲存高度敏感的客戶交易資料,因此資料安全性十分重要。任何違規行為都會為公司帶來巨大損失。
  • 復原能力:發生任何硬體或軟體故障時,OLTP 系統必須能夠復原。

OLTP 工作負載的資料庫

關聯式資料庫專為交易應用程式打造。它們相信儲存和處理大量交易時所需的所有重要元素,同時也持續以新功能和功能更新,以便從此豐富的交易資料擷取更多值。關聯式資料庫專為全新設計,提供最高可能可用性和最高效能。此協定提供並行與 ACID 規範,讓資料正確、始終可供使用,並易於存取。它們會在資料間擷取關係後,將資料儲存在表格中,以確保資料的單一真值來源可供任何應用程式使用。

交易處理資料庫的進化

隨著交易變得越來越複雜,來自世界任何地方的任何來源或裝置的交易,傳統的關聯式資料庫不夠先進,無法滿足現代交易工作流程的需要。您必須發展因應現代化交易、異質資料及全球規模,最重要的是執行混合式工作負載。關聯式資料庫會轉換為儲存與處理不只是關聯式資料,還會轉換至所有其他類型的資料,包括 xml、html、JSON、Apache Avro 和 Parquet 和原生格式的文件,而不需要大太多轉換。此外,還需要關聯式資料庫來新增更多功能 (例如叢集和分區),如此一來,便可以在全球各地分佈及無限擴展,以儲存及處理日益大量資料,並使用雲端上提供的更便利儲存。具備其他功能 (例如記憶體內、進階分析、視覺化以及交易事件佇列),這些資料庫現在可以執行多個工作負載,例如對交易資料或處理串流 (Internet of Things (IoT)) 資料執行分析,或是執行空間和圖表分析。

這個建置在雲端的現代化關聯式資料庫會自動執行許多資料庫的管理和作業層面,讓使用者更容易佈建和使用。它們提供自動化的佈建、安全性、復原、備份及調整功能,讓 DBA 與 IT 團隊能夠花費較少的時間來維護工作。他們也內嵌智慧以自動調整和編製資料索引,因此無論資料量、並行使用者數目或查詢複雜性為何,資料庫查詢效能都會維持一致。這些雲端資料庫也包括自助服務功能和 REST API,讓開發者和分析師輕鬆存取及使用資料。這可簡化應用程式開發、提供彈性,讓開發者能夠更輕鬆地在應用程式中建置新功能和自訂項目。它也簡化了分析,讓分析師和資料分析師輕鬆運用資料來擷取洞察力。

如何選取適合您 OLTP 工作負載的資料庫

由於 IT 不斷提升業務速度,因此請務必選擇作業資料庫,請考慮立即的資料需求與長期資料需求。若要儲存交易、維護記錄系統或內容管理,您需要具有高並行、高傳輸量、低延遲以及關鍵任務特性的資料庫,例如高可用性、資料保護及災害復原。最有可能的情況是,您的工作負載在一天或一週或一年間會有所變動,因此請確定資料庫能夠自動調整功能可協助您節省大量費用。您也可能需要決定是否使用專用資料庫或一般用途資料庫。如果您的需求是特定類型的資料,則專門打造的資料庫可以處理,但請確定您不會危害您所需要任何其他特性。如果在應用程式層的後期建構這些特性,成本將會十分昂貴,並且需要大量資源。另外,如果你的資料需求增長,您想擴展您的應用程式功能,增加更多的單一用途或適合用途的資料庫,只會造成資料孤島,放大資料管理問題。您還必須考慮您的特定工作負載可能需要的其他功能,例如攝取要求、下推運算要求和限制大小。

選取具有自助服務功能的未來驗證雲端服務,可自動執行所有資料管理,讓資料用戶 - 開發者、分析師、資料工程師、資料分析師與 DBA 做好更多運用資料並加速應用程式開發。

深入瞭解 Oracle 的雲端 OLTP 資料庫服務 Autonomous Transaction Processing Database免費試用