OLAP最基本的概念只有三個:多維觀察、數據鉆取、CUBE運算。
關于多維角度:我們在平時工作中,會遇到各種問題,在分析問題的時候,同樣的現象,我們會從多個角度去分析考慮,有時我們還會從幾個角度綜合起來進行分析。這就是OLAP分析最基本的概念——從多個觀察角度的靈活組合來觀察數據,從而發現數據內在規律。
OLAP將數據分為兩種特征,一種為表現特征,比如一個銷售分析模型中的銷售額、毛利等;還有一種為角度特征,比如銷售分析中的時間周期、產品類型、銷售模式、銷售區域等。前者是被觀察的對象,OLAP術語稱之為“度量數據”,后者為觀察視角,OLAP術語稱之為“維數據”。
如果建立這樣一個模型,我們就可以根據業務需求,從產品類型角度,去觀察各個銷售地區的銷售額數據(以產品類型和銷售地區為維、以銷售額為度量);或者我們還可以從銷售模式的角度,去觀察各個銷售地區的銷售額數據(以銷售模式和銷售地區為維、以銷售額為度量)。
關于數據鉆取:在分析過程中,我們可能需要在現有數據基礎上,將數據進一步細化,以獲得更為精確的認識。這就是OLAP中數據鉆取的概念。
比如,在銷售分析中,當我們以產品類型和銷售地區為維、以銷售額為度量進行分析的時候,可能希望進一步觀察某類產品的不同銷售模式在各個銷售地區的表現,這時我們就可以在產品大類這個數據維下面,再加上一個銷售模式維,從而獲得相應的信息。
關于CUBE運算:OLAP分析所需的原始數據量是非常龐大的。一個分析模型,往往會涉及數百萬、數千萬條數據,甚至更多;而分析模型中包含多個維數據,這些維又可以由瀏覽者作任意的提取組合。這樣的結果就是大量的實時運算導致時間的延滯。
我們可以設想,一個1000萬條記錄的分析模型,如果一次提取4個維度進行組合分析,那么實際的運算次數將達到4的1000次方的數量。這樣的運算量將導致數十分鐘乃至更長的等待時間。如果用戶對維組合次序進行調整,或增加、或減少某些維度的話,又將是一個重新的計算過程。
從上面的分析中,我們可以得出結論,如果不能解決OLAP運算效率問題的話,OLAP將是一個毫無實用價值的概念。那么,一個成熟產品是如何解決這個問題的呢?這涉及到OLAP中一個非常重要的技術——數據CUBE預運算。
一個OLAP模型中,度量數據和維數據我們應該事先確定,一旦兩者確定下來,我們可以對數據進行預先的處理。在正式發布之前,將數據根據維進行最大限度的聚類運算,運算中會考慮到各種維組合情況,運算結果將生成一個數據CUBE,并保存在服務器上。
這樣,當最終用戶在調閱這個分析模型的時候,就可以直接使用這個CUBE,在此基礎上根據用戶的維選擇和維組合進行復運算,從而達到實時響應的效果。
posted on 2007-05-28 21:49
扭曲的鉛筆 閱讀(987)
評論(1) 編輯 收藏 所屬分類:
BI