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