OLTP和OLAP

pharos發表於2019-04-18
On-Line Transaction Processing聯機事務處理系統(OLTP)
  也稱為面向交易的處理系統,其基本特徵是顧客的原始資料可以立即傳送到計算中心進行處理,並在很短的時間內給出處理結果。這樣做的最大優點是可以即時地處理輸入的資料,及時地回答。也稱為實時系統(Real time System)。衡量聯機事務處理系統的一個重要效能指標是系統效能,具體體現為實時響應時間(Response Time),即使用者在終端上送入資料之後,到計算機對這個請求給出答覆所需要的時間。
  OLTP 資料庫旨在使事務應用程式僅寫入所需的資料,以便儘快處理單個事務。

OLTP 資料庫通常具有以下特徵
支援大量併發使用者定期新增和修改資料。
  反映隨時變化的單位狀態,但不儲存其歷史記錄。
  包含大量資料,其中包括用於驗證事務的大量資料。
  具有複雜的結構。
  可以進行優化以對事務活動做出響應。
  提供用於支援單位日常運營的技術基礎結構。
  個別事務能夠很快地完成,並且只需訪問相對較少的資料。OLTP 系統旨在處理同時輸入的成百上千的事務。

應用領域
OLTP 系統中的資料主要被組織為支援如下事務:
  記錄來自銷售點終端或通過網站輸入的訂單。
  當庫存量降到指定級別時,訂購更多的貨物。
  在製造廠中將零部件組裝為成品時對零部件進行跟蹤。
  記錄僱員資料。
  當今的資料處理大致可以分成兩大類:聯機事務處理OLTP(on-line transaction processing)、聯機分析處理OLAP(On-Line Analytical Processing)。OLTP是傳統的關係型資料庫的主要應用,主要是基本的、日常的事務處理,例如銀行交易。OLAP是資料倉儲系統的主要應用,支援複雜的分析操作,側重決策支援,並且提供直觀易懂的查詢結果。

什麼是聯機分析處理(OLAP)

聯機分析處理 (OLAP) 的概念最早是由關聯式資料庫之父E.F.Codd於1993年提出的,他同時提出了關於OLAP的12條準則。OLAP的提出引起了很大的反響,OLAP作為一類產品同聯機事務處理 (OLTP) 明顯區分開來。

當今的資料處理大致可以分成兩大類:聯機事務處理OLTP(on-line transaction processing)、聯機分析處理OLAP(On-Line Analytical Processing)。OLTP是傳統的關係型資料庫的主要應用,主要是基本的、日常的事務處理,例如銀行交易。OLAP是資料倉儲系統的主要應用,支援複雜的分析操作,側重決策支援,並且提供直觀易懂的查詢結果。下表列出了OLTP與OLAP之間的比較。



OLTPOLAP使用者操作人員,低層管理人員決策人員,高階管理人員功能日常操作處理分析決策DB 設計面向應用面向主題資料當前的, 最新的細節的, 二維的分立的歷史的, 聚集的, 多維的整合的, 統一的存取讀/寫數十條記錄讀上百萬條記錄工作單位簡單的事務複雜的查詢使用者數上千個上百個DB 大小100MB-GB100GB-TB
OLAP是使分析人員、管理人員或執行人員能夠從多角度對資訊進行快速、一致、互動地存取,從而獲得對資料的更深入瞭解的一類軟體技術。OLAP的目標是滿足決策支援或者滿足在多維環境下特定的查詢和報表需求,它的技術核心是"維"這個概念。

“維”是人們觀察客觀世界的角度,是一種高層次的型別劃分。“維”一般包含著層次關係,這種層次關係有時會相當複雜。通過把一個實體的多項重要的屬性定義為多個維(dimension),使使用者能對不同維上的資料進行比較。因此OLAP也可以說是多維資料分析工具的集合。

OLAP的基本多維分析操作有鑽取(roll up和drill down)、切片(slice)和切塊(dice)、以及旋轉(pivot)、drill across、drill through等。

·鑽取是改變維的層次,變換分析的粒度。它包括向上鑽取(roll up)和向下鑽取(drill down)。roll up是在某一維上將低層次的細節資料概括到高層次的彙總資料,或者減少維數;而drill down則相反,它從彙總資料深入到細節資料進行觀察或增加新維。
·切片和切塊是在一部分維上選定值後,關心度量資料在剩餘維上的分佈。如果剩餘的維只有兩個,則是切片;如果有三個,則是切塊。
·旋轉是變換維的方向,即在表格中重新安排維的放置(例如行列互換)。
OLAP有多種實現方法,根據儲存資料的方式不同可以分為ROLAP、MOLAP、HOLAP。

ROLAP表示基於關聯式資料庫的OLAP實現(Relational OLAP)。以關聯式資料庫為核心,以關係型結構進行多維資料的表示和儲存。ROLAP將多維資料庫的多維結構劃分為兩類表:一類是事實表,用來儲存資料和維關鍵字;另一類是維表,即對每個維至少使用一個表來存放維的層次、成員類別等維的描述資訊。維表和事實表通過主關鍵字和外關鍵字聯絡在一起,形成了"星型模式"。對於層次複雜的維,為避免冗餘資料佔用過大的儲存空間,可以使用多個表來描述,這種星型模式的擴充套件稱為"雪花模式"。

MOLAP表示基於多維資料組織的OLAP實現(Multidimensional OLAP)。以多維資料組織方式為核心,也就是說,MOLAP使用多維陣列儲存資料。多維資料在儲存中將形成"立方塊(Cube)"的結構,在MOLAP中對"立方塊"的"旋轉"、"切塊"、"切片"是產生多維資料包表的主要技術。

HOLAP表示基於混合資料組織的OLAP實現(Hybrid OLAP)。如低層是關係型的,高層是多維矩陣型的。這種方式具有更好的靈活性。

還有其他的一些實現OLAP的方法,如提供一個專用的SQL Server,對某些儲存模式(如星型、雪片型)提供對SQL查詢的特殊支援。

OLAP工具是針對特定問題的聯機資料訪問與分析。它通過多維的方式對資料進行分析、查詢和報表。維是人們觀察資料的特定角度。例如,一個企業在考慮產品的銷售情況時,通常從時間、地區和產品的不同角度來深入觀察產品的銷售情況。這裡的時間、地區和產品就是維。而這些維的不同組合和所考察的度量指標構成的多維陣列則是OLAP分析的基礎,可形式化表示為(維1,維2,……,維n,度量指標),如(地區、時間、產品、銷售額)。多維分析是指對以多維形式組織起來的資料採取切片(Slice)、切塊(Dice)、鑽取(Drill-down和Roll-up)、旋轉(Pivot)等各種分析動作,以求剖析資料,使使用者能從多個角度、多側面地觀察資料庫中的資料,從而深入理解包含在資料中的資訊。

根據綜合性資料的組織方式的不同,目前常見的OLAP主要有基於多維資料庫的MOLAP及基於關聯式資料庫的ROLAP兩種。MOLAP是以多維的方式組織和儲存資料,ROLAP則利用現有的關聯式資料庫技術來模擬多維資料。在資料倉儲應用中,OLAP應用一般是資料倉儲應用的前端工具,同時OLAP工具還可以同資料探勘工具、統計分析工具配合使用,增強決策分析功能。

OLAP和OLTP的區別

  OLTP OLAP
使用者 操作人員,低層管理人員 決策人員,高階管理人員
功能 日常操作處理 分析決策
DB 設計 面向應用 面向主題
資料 當前的, 最新的細節的, 二維的分立的 歷史的, 聚集的, 多維的整合的, 統一的
存取 讀/寫數十條記錄 讀上百萬條記錄
工作單位 簡單的事務 複雜的查詢
使用者數 上千個 上百個
DB 大小 100MB-GB 100GB-TB

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3433/viewspace-631376/,如需轉載,請註明出處,否則將追究法律責任。

相關文章