數倉OLAP OLTP概念的整理

2021-09-28 17:09:54 字數 2458 閱讀 4667

資料處理大致可以分成兩大類:聯機事務處理oltp(on-line transaction processing)、聯機分析處理olap(on-line analytical processing)。oltp是傳統的關係型資料庫的主要應用,主要是基本的、日常的事務處理,例如銀行交易。olap是資料倉儲系統的主要應用,支援複雜的分析操作,側重決策支援,並且提供直觀易懂的查詢結果。

oltp 系統強調資料庫記憶體效率,強調記憶體各種指標的命令率,強調繫結變數,強調併發操作; olap 系統則強調資料分析,強調sql執行市場,強調磁碟i/o,強調分割槽等。

oltp

olap

使用者操作人員,底層管理人員

決策人員,高階管理人員

功能日常操作處理

分析決策

db設計

面向應用

面向主題

資料當前的,新的,細節的,二維的,分立的

歷史的,聚集的,多維整合的,統一的

訪問讀寫數十上百條資料

讀百萬級資料

db大小

100mb~~gb

100gb~~tb

時間要求

實時性對時間的要求不嚴格

主要應用

資料庫資料倉儲

oltp系統最容易出現瓶頸的地方就是cpu與磁碟子系統。 oltp比較常用的設計與優化方式為cache技術與b-tree索引技術,cache決定了很多語句不需要從磁碟子系統獲得資料.另外,在索引使用方面,語句越簡單越好,這樣執行計畫也穩定,而且一定要使用繫結變數,減少語句解析,儘量減少表關聯,儘量減少分布式事務,基本不使用分割槽技術、mv技術、並行技術及位圖索引。因為併發量很高,批量更新時要分批快速提交,以避免阻塞的發生。 oltp 系統是乙個資料塊變化非常頻繁,sql 語句提交非常頻繁的系統。 對於資料塊來說,應盡可能讓資料塊儲存在記憶體當中,對於sql來說,盡可能使用變數繫結技術來達到sql重用,減少物理i/o 和重複的sql 解析,從而極大的改善資料庫的效能。

聯機分析處理(olap,on-line analytical processing),資料量大,dml少。使用資料倉儲模板 聯機事務處理(oltp,on-line transaction processing),資料量少,dml頻繁,並行事務處理多,但是一般都很短。使用一般用途或事務處理模板。

olap 細分

olap有多種實現方法,根據儲存資料的方式不同可以分為rolap、molap、holap。

rolap表示基於關聯式資料庫的olap實現(relational olap)。以關聯式資料庫為核心,以關係型結構進行多維資料的表示和儲存。rolap將多維資料庫的多維結構劃分為兩類表:一類是事實表,用來儲存資料和維關鍵字;另一類是維表,即對每個維至少使用乙個表來存放維的層次、成員類別等維的描述資訊。維表和事實表通過主關鍵字和外關鍵字聯絡在一起,形成了"星型模式"。對於層次複雜的維,為避免冗餘資料占用過大的儲存空間,可以使用多個表來描述,這種星型模式的擴充套件稱為"雪花模式"。特點是將細節資料保留在關係型資料庫的事實表中,聚合後的資料也儲存在關係型的資料庫中。這種方式查詢效率最低,不推薦使用。

molap表示基於多維資料組織的olap實現(multidimensional olap)。以多維資料組織方式為核心,也就是說,molap使用多維陣列儲存資料。多維資料在儲存中將形成"立方塊(cube)「的結構,在molap中對"立方塊"的"旋轉」、「切塊」、"切片"是產生多維資料包表的主要技術。特點是將細節資料和聚合後的資料均儲存在cube中,所以以空間換效率,查詢時效率高,但生成cube時需要大量的時間和空間。

holap表示基於混合資料組織的olap實現(hybrid olap)。如低層是關係型的,高層是多維矩陣型的。這種方式具有更好的靈活性。特點是將細節資料保留在關係型資料庫的事實表中,但是聚合後的資料儲存在cube中,聚合時需要比rolap更多的時間,查詢效率比rolap高,但低於molap。

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

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

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

數倉分層概念

把複雜問題簡單化 將乙個複雜的任務分解成多個步驟來完成,每一層只處理單一的步驟,比較簡單和容易理解。清晰資料結構 每乙個資料分層都有它的作用域,這樣我們在使用表的時候能更方便地定位和理解。便於維護資料的準確性,當資料出現問題之後,可以不用修復所有的資料,只需要從有問題的步驟開始修復。減少重複開發 規...

數倉的基本知識及概念

四特點 面向主題,整合的,相對穩定,保留歷史 事務性資料 業務系統,交易流水,登入日誌 決策性資料 主要用於查詢分析 也可以近似認為是oltp 聯機事務處理 和olap 聯機分析處理 的區別 olap多維分析方法 切片 切塊 鑽取 轉軸 cube 多維資料集,按多個維度項不同組合的資料集合 1.確定...

數倉概念理解精華彙整 1

資料倉儲更多代表的是一種對資料的管理和使用的方式,它是一整套包括了etl 排程 建模在內的完整的理論體系。現在所謂的大資料更多的是一種資料量級的增大和工具的上的更新。兩者並無衝突,相反,而是一種更好的結合。ods全稱是operational data store,運算元據儲存 這一層面的資料卻不等同...