OLAP,OLTP等數據倉庫概念

概述,對比

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

OLTP 系統強調數據庫內存效率,強調內存各種指標的命令率,強調綁定變量,強調併發操作; OLAP 系統則強調數據分析,強調SQL執行市場,強調磁盤I/O,強調分區等。

OLTPOLAP
用戶操作人員,底層管理人員決策人員,高級管理人員
功能日常操作處理分析決策
DB設計面向應用面向主題
數據當前的,新的,細節的,二維的,分立的歷史的,聚集的,多維集成的,統一的
存取讀寫數十上百條數據讀百萬級數據
DB大小100MB~~GB100GB~~TB
時間要求實時性對時間的要求不嚴格
主要應用數據庫數據殘酷

OLTP

OLTP,也叫聯機事務處理(Online Transaction Processing),表示事務性非常高的系統,一般都是高可用的在線系統,以小的事務以及小的查詢爲主,評估其系統的時候,一般看其每秒執行的Transaction以及Execute SQL的數量。

OLTP系統最容易出現瓶頸的地方就是CPU與磁盤子系統。 OLTP比較常用的設計與優化方式爲Cache技術與B-tree索引技術,Cache決定了很多語句不需要從磁盤子系統獲得數據.另外,在索引使用方面,語句越簡單越好,這樣執行計劃也穩定,而且一定要使用綁定變量,減少語句解析,儘量減少表關聯,儘量減少分佈式事務,基本不使用分區技術、MV技術、並行技術及位圖索引。因爲併發量很高,批量更新時要分批快速提交,以避免阻塞的發生。 OLTP 系統是一個數據塊變化非常頻繁,SQL 語句提交非常頻繁的系統。 對於數據塊來說,應儘可能讓數據塊保存在內存當中,對於SQL來說,儘可能使用變量綁定技術來達到SQL重用,減少物理I/O 和重複的SQL 解析,從而極大的改善數據庫的性能。

OLAP

OLAP,也叫聯機分析處理(Online Analytical Processing)系統,有的時候也叫DSS決策支持系統,就是我們說的數據倉庫。在這樣的系統中,語句的執行量不是考覈標準,因爲一條語句的執行時間可能會非常長,讀取的數據也非常多。所以,在這樣的系統中,考覈的標準往往是磁盤子系統的吞吐量(帶寬),如能達到多少MB/s的流量。

在OLAP系統中,常使用分區技術、並行技術。 分區技術在OLAP系統中的重要性主要體現在數據庫管理上,比如數據庫加載,可以通過分區交換的方式實現,備份可以通過備份分區表空間實現,刪除數據可以通過分區進行刪除,至於分區在性能上的影響,它可以使得一些大表的掃描變得很快(只掃描單個分區)。另外,如果分區結合並行的話,也可以使得整個表的掃描會變得很快。總之,分區主要的功能是管理上的方便性,它並不能絕對保證查詢性能的提高,有時候分區會帶來性能上的提高,有時候會降低。

總結

聯機分析處理(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工具還可以同數據挖掘工具、統計分析工具配合使用,增強決策分析功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章