聯(lián)機分析處理 (OLAP)通過(guò)快速、一致、交互地訪(fǎng)問(wèn)各種可能的信息視圖,幫助數據分析人員、管理人員、決策人員洞察數據的奧秘,掌握隱藏于其中的規律。
OLAP力圖處理數據倉庫中浩如煙海的數據,并將之轉化為有用的信息,從而實(shí)現對數據的歸納、分析和處理,幫助企業(yè)完成決策。 OLAP支持最終用戶(hù)進(jìn)行動(dòng)態(tài)多維分析,其中包括跨維、在不同層次之間跨成員的計算和建模;在時(shí)間序列上的趨勢分析、預測分析:切片和切塊,并在屏幕上顯示,從宏觀(guān)到微觀(guān),對數據進(jìn)行深入分析;可查詢(xún)到底層的細節數據;在觀(guān)察區域中旋轉,進(jìn)行不同的維間的比較。
聯(lián)機分析(OLAP)是由關(guān)系數據庫之父E.F.Codd于1993年提出的一種數據動(dòng)態(tài)分析模型,它允許以一種稱(chēng)為多維數據集的多維結構訪(fǎng)問(wèn)來(lái)自商業(yè)數據源的經(jīng)過(guò)聚合和組織整理的數據。以此為標準,OLAP作為單獨的一類(lèi)產(chǎn)品同聯(lián)機事務(wù)處理(OLTP)得以明顯區分。
有點(diǎn)深奧是不是?其實(shí)并不復雜,OLAP最基本的概念其實(shí)只有三個(gè):多維觀(guān)察、數據鉆取、CUBE運算。
從動(dòng)態(tài)的多維角度分析數據
我們在平時(shí)工作中,會(huì )遇到各種問(wèn)題,在分析問(wèn)題的時(shí)候,同樣的現象,我們會(huì )從多個(gè)角度去分析考慮,并且有時(shí)候我們還會(huì )從幾個(gè)角度綜合起來(lái)進(jìn)行分析。這就是OLAP分析最基本的概念:從多個(gè)觀(guān)察角度的靈活組合來(lái)觀(guān)察數據,從而發(fā)現數據內在規律。
OLAP將數據分為兩種特征,一種為表現特征,比如一個(gè)銷(xiāo)售分析模型中的銷(xiāo)售額、毛利等;還有一種為角度特征,比如銷(xiāo)售分析中的時(shí)間周期、產(chǎn)品類(lèi)型、銷(xiāo)售模式、銷(xiāo)售區域等。前者是被觀(guān)察的對象,OLAP術(shù)語(yǔ)稱(chēng)之為“度量數據”,后者為觀(guān)察視角,OLAP術(shù)語(yǔ)稱(chēng)之為“維數據”。
如果建立這樣一個(gè)模型,我們就可以根據業(yè)務(wù)需求,從產(chǎn)品類(lèi)型角度去觀(guān)察各個(gè)銷(xiāo)售地區的銷(xiāo)售額數據(以產(chǎn)品類(lèi)型和銷(xiāo)售地區為維、以銷(xiāo)售額為度量);或者我們還可以從銷(xiāo)售模式的角度去觀(guān)察各個(gè)銷(xiāo)售地區的銷(xiāo)售額數據(以銷(xiāo)售模式和銷(xiāo)售地區為維、以銷(xiāo)售額為度量)。
在Max@X Analyser的OLAP模型中,每個(gè)模型最多可以設定255個(gè)維、1024個(gè)度量,也就是說(shuō),我們可以從255個(gè)角度或者角度組合,去同時(shí)觀(guān)察1024個(gè)數據對象的變化。
對數據進(jìn)行鉆取,以獲得更為精確的信息
在分析過(guò)程中,我們可能需要在現有數據基礎上,將數據進(jìn)一步細化,以獲得更為精確的認識。這就是OLAP中數據鉆取的概念。
比如,在銷(xiāo)售分析中,當我們以產(chǎn)品類(lèi)型和銷(xiāo)售地區為維、以銷(xiāo)售額為度量進(jìn)行分析的時(shí)候,可能希望進(jìn)一步觀(guān)察某類(lèi)產(chǎn)品的不同銷(xiāo)售模式在各個(gè)銷(xiāo)售地區的表現,這時(shí)我們就可以在產(chǎn)品大類(lèi)這個(gè)數據維下面,再加上一個(gè)銷(xiāo)售模式維,從而獲得相應的信息。
創(chuàng )建數據CUBE
那么,要滿(mǎn)足上述運算,需要什么樣的前提呢?
我們可以想像,和報表不同,OLAP分析所需的原始數據量是非常龐大的。一個(gè)分析模型,往往會(huì )涉及數百萬(wàn)條、數千萬(wàn)條、甚至更多;而分析模型中包含多個(gè)維數據,這些維又可以由瀏覽者作任意的提取組合。這樣的結果就是大量的實(shí)時(shí)運算導致的時(shí)間延滯。我們可以設想,一個(gè)對于1000萬(wàn)條記錄的分析模型,如果一次提取4個(gè)維度進(jìn)行組合分析,那么實(shí)際的運算次數將達到4的1000次方的數量:這樣的運算量將導致數十分鐘乃至更長(cháng)的等待時(shí)間。如果用戶(hù)對維組合次序進(jìn)行調整,或者增加減少某些維度的話(huà),又將是一個(gè)重新的計算過(guò)程。
從上面分析,我們可以得出結論,如果不能解決OLAP運算效率問(wèn)題的話(huà),OLAP將是一個(gè)毫無(wú)實(shí)用價(jià)值的概念。那么,作為一個(gè)成熟產(chǎn)品是如何解決這個(gè)問(wèn)題的呢?這就是OLAP中一個(gè)非常重要的技術(shù):數據CUBE預運算。
一個(gè)OLAP模型中,度量數據和維數據我們應該實(shí)現確定,一旦兩者確定下來(lái),那么我們可以對數據進(jìn)行預先的處理,在正式發(fā)布之前,將數據根據維進(jìn)行最大限度的聚類(lèi)運算,運算中會(huì )考慮到各種維組合情況,運算結果將生成一個(gè)數據CUBE,并保存在服務(wù)器上。這樣,當最終用戶(hù)在調閱這個(gè)分析模型的時(shí)候,就可以直接使用這個(gè)CUBE,在此基礎上根據用戶(hù)的維選擇和維組合進(jìn)行復運算,從而達到實(shí)時(shí)響應的這么一個(gè)效果。
作為一個(gè)成熟的產(chǎn)品,Max@X Analyser無(wú)論是在CUBE創(chuàng )建還是后續的瀏覽操作,效率都是非常高的。測試結果表明:原始數據行數在3200萬(wàn)條記錄的時(shí)候,包含10個(gè)維數據組合、2個(gè)度量數據的CUBE,創(chuàng )建周期為132分鐘,裝載效率是12.5秒。這樣的成績(jì)對比世界上任何一個(gè)高端OLAP同類(lèi)產(chǎn)品,都不遜色。(需要更為詳細的測試報告,可以與炎鼎軟件聯(lián)系)。
補充說(shuō)明
上面所說(shuō)的,是OLAP最基本的概念,除此以外,OLAP通常包括的功能包括數據旋轉(變換觀(guān)察維組合順序)、數據切片(過(guò)濾無(wú)關(guān)數據,對指定數據進(jìn)行重點(diǎn)觀(guān)察),以及對數據進(jìn)行跨行列運算(如Max@X Analyser中的增加行列差額、等比環(huán)比等擴展運算)。
如果您希望了解更多關(guān)于OLAP的信息,請與炎鼎軟件技術(shù)支持聯(lián)系。
OLAP(聯(lián)機分析處理)。
什么是聯(lián)機分析處理(OLAP) 聯(lián)機分析處理 (OLAP) 的概念最早是由關(guān)系數據庫之父E.F.Codd于1993年提出的,他同時(shí)提出了關(guān)于OLAP的12條準則。OLAP的提出引起了很大的反響,OLAP作為一類(lèi)產(chǎn)品同聯(lián)機事務(wù)處理 (OLTP) 明顯區分開(kāi)來(lái)。
當今的數據處理大致可以分成兩大類(lèi):聯(lián)機事務(wù)處理OLTP(on-line transaction processing)、聯(lián)機分析處理OLAP(On-Line Analytical Processing)。OLTP是傳統的關(guān)系型數據庫的主要應用,主要是基本的、日常的事務(wù)處理,例如銀行交易。
OLAP是數據倉庫系統的主要應用,支持復雜的分析操作,側重決策支持,并且提供直觀(guān)易懂的查詢(xún)結果。下表列出了OLTP與OLAP之間的比較。
OLTPOLAP用戶(hù)操作人員,低層管理人員決策人員,高級管理人員功能日常操作處理分析決策DB 設計面向應用面向主題數據當前的, 最新的細節的, 二維的分立的歷史的, 聚集的, 多維的集成的, 統一的存取讀/寫(xiě)數十條記錄讀上百萬(wàn)條記錄工作單位簡(jiǎn)單的事務(wù)復雜的查詢(xún)用戶(hù)數上千個(gè)上百個(gè)DB 大小100MB-GB100GB-TB OLAP是使分析人員、管理人員或執行人員能夠從多角度對信息進(jìn)行快速、一致、交互地存取,從而獲得對數據的更深入了解的一類(lèi)軟件技術(shù)。OLAP的目標是滿(mǎn)足決策支持或者滿(mǎn)足在多維環(huán)境下特定的查詢(xún)和報表需求,它的技術(shù)核心是"維"這個(gè)概念。
“維”是人們觀(guān)察客觀(guān)世界的角度,是一種高層次的類(lèi)型劃分。“維”一般包含著(zhù)層次關(guān)系,這種層次關(guān)系有時(shí)會(huì )相當復雜。
通過(guò)把一個(gè)實(shí)體的多項重要的屬性定義為多個(gè)維(dimension),使用戶(hù)能對不同維上的數據進(jìn)行比較。因此OLAP也可以說(shuō)是多維數據分析工具的集合。
OLAP的基本多維分析操作有鉆取(roll up和drill down)、切片(slice)和切塊(dice)、以及旋轉(pivot)、drill across、drill through等。 ·鉆取是改變維的層次,變換分析的粒度。
它包括向上鉆取(roll up)和向下鉆取(drill down)。roll up是在某一維上將低層次的細節數據概括到高層次的匯總數據,或者減少維數;而drill down則相反,它從匯總數據深入到細節數據進(jìn)行觀(guān)察或增加新維。
·切片和切塊是在一部分維上選定值后,關(guān)心度量數據在剩余維上的分布。如果剩余的維只有兩個(gè),則是切片;如果有三個(gè),則是切塊。
·旋轉是變換維的方向,即在表格中重新安排維的放置(例如行列互換)。 OLAP有多種實(shí)現方法,根據存儲數據的方式不同可以分為ROLAP、MOLAP、HOLAP。
ROLAP表示基于關(guān)系數據庫的OLAP實(shí)現(Relational OLAP)。以關(guān)系數據庫為核心,以關(guān)系型結構進(jìn)行多維數據的表示和存儲。
ROLAP將多維數據庫的多維結構劃分為兩類(lèi)表:一類(lèi)是事實(shí)表,用來(lái)存儲數據和維關(guān)鍵字;另一類(lèi)是維表,即對每個(gè)維至少使用一個(gè)表來(lái)存放維的層次、成員類(lèi)別等維的描述信息。維表和事實(shí)表通過(guò)主關(guān)鍵字和外關(guān)鍵字聯(lián)系在一起,形成了"星型模式"。
對于層次復雜的維,為避免冗余數據占用過(guò)大的存儲空間,可以使用多個(gè)表來(lái)描述,這種星型模式的擴展稱(chēng)為"雪花模式"。 MOLAP表示基于多維數據組織的OLAP實(shí)現(Multidimensional OLAP)。
以多維數據組織方式為核心,也就是說(shuō),MOLAP使用多維數組存儲數據。多維數據在存儲中將形成"立方塊(Cube)"的結構,在MOLAP中對"立方塊"的"旋轉"、"切塊"、"切片"是產(chǎn)生多維數據報表的主要技術(shù)。
HOLAP表示基于混合數據組織的OLAP實(shí)現(Hybrid OLAP)。如低層是關(guān)系型的,高層是多維矩陣型的。
這種方式具有更好的靈活性。 還有其他的一些實(shí)現OLAP的方法,如提供一個(gè)專(zhuān)用的SQL Server,對某些存儲模式(如星型、雪片型)提供對SQL查詢(xún)的特殊支持。
OLAP工具是針對特定問(wèn)題的聯(lián)機數據訪(fǎng)問(wèn)與分析。它通過(guò)多維的方式對數據進(jìn)行分析、查詢(xún)和報表。
維是人們觀(guān)察數據的特定角度。例如,一個(gè)企業(yè)在考慮產(chǎn)品的銷(xiāo)售情況時(shí),通常從時(shí)間、地區和產(chǎn)品的不同角度來(lái)深入觀(guān)察產(chǎn)品的銷(xiāo)售情況。
這里的時(shí)間、地區和產(chǎn)品就是維。而這些維的不同組合和所考察的度量指標構成的多維數組則是OLAP分析的基礎,可形式化表示為(維1,維2,……,維n,度量指標),如(地區、時(shí)間、產(chǎn)品、銷(xiāo)售額)。
多維分析是指對以多維形式組織起來(lái)的數據采取切片(Slice)、切塊(Dice)、鉆取(Drill-down和Roll-up)、旋轉(Pivot)等各種分析動(dòng)作,以求剖析數據,使用戶(hù)能從多個(gè)角度、多側面地觀(guān)察數據庫中的數據,從而深入理解包含在數據中的信息。 根據綜合性數據的組織方式的不同,目前常見(jiàn)的OLAP主要有基于多維數據庫的MOLAP及基于關(guān)系數據庫的ROLAP兩種。
MOLAP是以多維的方式組織和存儲數據,ROLAP則利用現有的關(guān)系數據庫技術(shù)來(lái)模擬多維數據。在數據倉庫應用中,OLAP應用一般是數據倉庫應用的前端工具,同時(shí)OLAP工具還可以同數據挖掘工具、統計分析工具配合使用,增強決策分析功能。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:3.217秒