DB2 OLAP SERVER理論知識_第1頁
DB2 OLAP SERVER理論知識_第2頁
DB2 OLAP SERVER理論知識_第3頁
DB2 OLAP SERVER理論知識_第4頁
DB2 OLAP SERVER理論知識_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、DB2 OLAP Server理論知識1 前言本文將討論DB2 OLAP 服務(wù)器和 Essbase 方面的重要理論,涵蓋OLAP 的數(shù)據(jù)立方體存貯原理,設(shè)計要點到OLAP。本文中的OLAP服務(wù)器是指IBM DB2 OLAP Server 版本 7(包含多維存儲選項)和 Hyperion Essbase OLAP Server 版本 6.0。下表 1 列出 IBM DB2 OLAP Server 和 Hyperion Essbase OLAP Server 的版本。HyperionIBMEssbase Server 5.0 DB2 OLAP Server 1.0Essbase Server 5.

2、0.2 DB2 OLAP Server 1.1Essbase Server 6.0 DB2 OLAP Server 7.12 DB2 OLAP簡介2.1 多維數(shù)據(jù)庫 多維數(shù)據(jù)庫(Multi-Dimensional Database)可以簡單地理解為:將數(shù)據(jù)存放在一個n維數(shù)組中,而不是像關(guān)系數(shù)據(jù)庫那樣以記錄的形式存放。因此它存在大量稀疏矩陣,人們可以通過多維視圖來觀察數(shù)據(jù)。多維數(shù)據(jù)庫增加了一個時間維,與關(guān)系數(shù)據(jù)庫相比,它的優(yōu)勢在于可以提高數(shù)據(jù)處理速度,加快反應(yīng)時間,提高查詢效率。目前有兩種MDD 的OLAP產(chǎn)品:基于多維數(shù)據(jù)庫管理系統(tǒng)的MOLAP和基于關(guān)系數(shù)據(jù)庫管理系統(tǒng)的ROLAP。DB2 OL

3、AP Server(Hyperion Essbase OLAP Server)是一種典型的MOLAP。2.2 DB2 OLAP Server結(jié)構(gòu)DB2 OLAP Server客戶服務(wù)結(jié)構(gòu)支持企業(yè)分析應(yīng)用。服務(wù)器端:所有的OLAP應(yīng)用組件,包括多維數(shù)據(jù)庫大綱,計算腳本,規(guī)則文件和數(shù)據(jù)庫信息都存在服務(wù)器端。OLAP Server通常運行在UNIX服務(wù)器上??蛻舳耍篋B2 OLAP客戶端從服務(wù)器上分析和返回數(shù)據(jù)主要是通過幾種方式來實現(xiàn)的:Lotus 1-2-3,Microsoft Excel,客戶應(yīng)用程序接口和各種專業(yè)的前端展現(xiàn)工具如Hyperion Analyzer、BO、Brio、Cognos

4、Powerplay等。DB2 OLAP提供豐富的API,開發(fā)人員可以用VB,VC和C等語言訪問OLAP的API實現(xiàn)用戶的各種需求,如自動調(diào)度,用戶權(quán)限等任務(wù)。2.3 DB2 OLAP多維數(shù)據(jù)庫的存貯原理DB2 OLAP 存儲結(jié)構(gòu)作為矩陣實施數(shù)據(jù)存儲的概念也許是DB2 OLAP 開發(fā)人員應(yīng)該學(xué)習(xí)的最為重要的概念。對矩陣管理的完全了解包括理解稀疏性的推論概念。也就是說,添加到矩陣中的維越多,矩陣中實際包含值的單元所占比例就越小。將二維數(shù)組的商業(yè)示例看作是含有“度量”維的三個成員,分別稱為銷售額、銷售成本及利潤(銷售額減銷售成本),按照“時間”(第二個維)每天進行記錄,持續(xù)一年。隨著時間的推移(日復(fù)

5、一日),我們通常能夠直觀地測量銷售額和銷售成本,并生成利潤。此模型會有1,095 個交點(365 天乘以3 個度量)?!叭铡焙汀岸攘俊本o湊遷移的描述十分容易理解。對于給定日期,如果有一個銷售額數(shù)字,您可能也有銷售成本信息,并可因此計算出利潤度量。除非有銷售信息季節(jié)波動劇烈,否則多數(shù)時間里都會有銷售信息。因此,可能在所有時間內(nèi)矩陣被“緊湊”填充以進行“度量”。圖1. 交點數(shù)量 示例當我們添加更多維時,就會涉及到稀疏性這一概念。例如,試圖將“客戶”(數(shù)量為100,000)和“產(chǎn)品”(數(shù)量為50)的維添加到該模型。通常很容易想到,這些維中將存在許多不包含數(shù)據(jù)的交點。并非所有客戶都會在一年中的每一天購

6、買所有產(chǎn)品。隨著每個維所有成員的笛卡爾乘積般的增加,交點的數(shù)目也隨之增加。我們的模型就從1095 個單元增加到5,475,000,000 (365*3*50*100,000)個單元。僅通過將數(shù)據(jù)存儲為銷售事件結(jié)果,關(guān)系數(shù)據(jù)庫便可處理數(shù)據(jù)稀疏性。這些數(shù)據(jù)庫將記錄實際銷售額。然后,可以使用結(jié)構(gòu)化查詢語言(SQL)詢問和分析數(shù)據(jù)以回答類似的以下問題:哪些產(chǎn)品在規(guī)定時間內(nèi)銷售額最少?此答案是由程序派生的。關(guān)系數(shù)據(jù)庫一般不存儲(許多)客戶沒有購買(許多)產(chǎn)品這一事實的表。但矩陣則會。矩陣會為每個產(chǎn)品和每個客戶保存所有時間內(nèi)銷售額和銷售成本的各種可能組合。其中許多單元不包含數(shù)據(jù)。關(guān)系數(shù)據(jù)庫中包含哪些產(chǎn)品在

7、所有時間內(nèi)均具有最少銷售額的答案,并且只在檢索相關(guān)交點以及檢查其內(nèi)容時,才顯示此答案。數(shù)據(jù)塊和索引的兩種存儲結(jié)構(gòu)實際上是由Essbase 的設(shè)計人員開發(fā)而來的,目的是為了處理稀疏性這一現(xiàn)實問題。2.4 數(shù)據(jù)塊和索引說明請看以下包含21,370,660,375,680 個交點的數(shù)組說明:DIM (172, 21, 27, 32, 209, 32765)。Arbor Essbase 的創(chuàng)建者將維標為緊湊或稀疏。當一個維標為緊湊時,就成為稱作數(shù)據(jù)塊的存儲結(jié)構(gòu)的組成部分(參見圖2)。圖 2. 緊湊維形成的塊數(shù)據(jù)庫中創(chuàng)建的每個數(shù)據(jù)塊都具有一個相同的結(jié)構(gòu),所有數(shù)據(jù)塊都存儲在磁盤上的ESS*.PAG 文件內(nèi)

8、,在本例中,精確地說,數(shù)據(jù)塊包含172 * 21 * 27 = 97,524 個單元或交點。數(shù)據(jù)塊尋址或定位是通過組合稀疏成員進行的。這些組合成為稱作索引的存儲結(jié)構(gòu)的組成部分,并存儲在含有ESS*.IND 文件的磁盤上。通過實現(xiàn)數(shù)組維的這兩個定義,Arbor Essbase 創(chuàng)建者實現(xiàn)了模塊化矩陣。數(shù)據(jù)塊是一種固定格式的數(shù)據(jù)結(jié)構(gòu),其存在方式取決于索引中與數(shù)據(jù)相關(guān)的稀疏成員組合,與數(shù)據(jù)相關(guān)是指只有在稀疏成員組合之間實際存在商業(yè)數(shù)據(jù)的地方才生成數(shù)據(jù)塊。因此,如果我們一月份在北極沒有銷售任何Sun 褐色石油,那么在數(shù)組中就不為那些交叉坐標保留任何空間。DB2 OLAP 存儲結(jié)構(gòu)與關(guān)系結(jié)構(gòu)的區(qū)別之一為

9、關(guān)系索引是否可選。在DB2 OLAP 中,該索引是不可選的。刪除關(guān)系結(jié)構(gòu)中的關(guān)系表索引不會對表數(shù)據(jù)產(chǎn)生任何影響。刪除DB2 OLAP 數(shù)據(jù)庫中的索引則會破壞該數(shù)據(jù)庫。數(shù)組的小型子組件(數(shù)據(jù)塊及其索引地址)在磁盤和工作內(nèi)存之間移動起來十分容易。這些結(jié)構(gòu)非常符合一般用戶需求:僅對任何時間點數(shù)組中的信息子集感興趣。通過剛才的介紹,我們?nèi)菀椎玫紻B2 OLAP 數(shù)組的三個限定特征是:維數(shù)目、維內(nèi)的成員數(shù)目、維內(nèi)成員的層次關(guān)系。OLAP 建模中第一條設(shè)計規(guī)則是使數(shù)據(jù)庫設(shè)計中的維數(shù)目最小化。這樣就要求我們在實施OLAP項目時,反復(fù)和用戶討論需求,以確認哪些維是報表或者多維分析需要的,當然這里首先還是要滿足

10、實際應(yīng)用需要。OLAP 建模中第二條設(shè)計規(guī)則是使數(shù)據(jù)庫設(shè)計中的維層次盡可能少。在牢記其他稀疏維的情況下,讓我們假定該維是全平的,而且,除所有成員的上層之外,成員之間不包含任何層次關(guān)系。從圖形上看,該維類似于圖4。圖 4. 無層次結(jié)構(gòu)的維該維總共有449 個成員,全部聚集到一個上層,因而總共有450 個成員。請參考圖4與圖5中維之間的數(shù)據(jù)點創(chuàng)建的含意。圖 5. 具有嵌入式層次結(jié)構(gòu)的維在此聲明中,我們擁有組織各組成員的層次結(jié)構(gòu),而且這對于我們的數(shù)據(jù)庫有著重要的存儲含意。如果我們有成員EP_11 的商業(yè)交易,但卻沒有平面稀疏維圖4 中的EP_12 的商業(yè)交易,那么就不會創(chuàng)建任何EP_12 塊。設(shè)計中

11、,已有效地處理(消除)了數(shù)據(jù)稀疏性的影響。但是,當我們將層次結(jié)構(gòu)引入維,并且只存在一個子代的數(shù)據(jù)時,我們就是在聲明存在上層數(shù)據(jù)點。在SparseDim#4 的層次版本中,EP_11 處的事務(wù)將在SparseDim#4 上層成員的Category 1 的 SubCat 1 處生成數(shù)據(jù), 而且數(shù)據(jù)塊創(chuàng)建會在有數(shù)據(jù)的所有其他稀疏維的每個成員之間產(chǎn)生一個笛卡爾乘積!這一結(jié)果具有極大的交叉維含意。這里的問題不是平面維好,層次維不好的問題。相反,層次結(jié)構(gòu)準確地反映出許多商業(yè)機構(gòu)的真實情況,而且在建立這些關(guān)系的模型時,矩陣極為有效。真正的問題是層次結(jié)構(gòu)給數(shù)組增添了復(fù)雜性,而且是導(dǎo)致多維數(shù)據(jù)庫中發(fā)生數(shù)據(jù)爆炸的

12、因素之一。我們必須充分理解其影響。2.5 深入理解Dense和Sparse維 在多維數(shù)據(jù)庫里,維可以設(shè)置成Dense或者Sparse屬性。Sparse維之間的有數(shù)據(jù)的組合將生成一個數(shù)據(jù)塊(Block),而在塊內(nèi)是所有Dense維的數(shù)據(jù)組合。Block存放在Ess*.pag文件中,Block塊間的信息組成index,index存放在Ess*.ind文件中。下面假設(shè)有一個多維數(shù)據(jù)庫并設(shè)置它們?nèi)缦拢篢imeDAccountsDScenerioDMarketSProductS下圖很清楚的解釋了DB2 OLAP生成一個數(shù)據(jù)塊的過程。 假如在德州(Taxas)沒有分銷Root Beer,因為并不是每一種產(chǎn)

13、品在所有地區(qū)都會銷售,那么會怎樣呢?DB2 OLAP將不會為(Taxas,Root Beer)創(chuàng)建一個數(shù)據(jù)塊。給定上面的Block,我們可以計算出Block的大小。假如Time維有10個成員,Accounts有5個,Scenerio有2個(注:這里的數(shù)字都是指通過計算存儲數(shù)據(jù)的實際個數(shù),通??梢詫⒁恍┏蓡T設(shè)置為Dynamic,從而減少存貯),于是我們可以得到一個塊中有10×5×2100 Cells,如果每個Cell需要 8 Bytes,可以得出一個塊需要800Bytes。一般建議(IBM和Hyperion),多維數(shù)據(jù)庫中的Block的大小在1K200K,當然也有許多成功的案

14、例在這個范圍之外,筆者做的項目中的Block就大于這個數(shù)字。在最初導(dǎo)入數(shù)據(jù)后,DB2 OLAP通過組合Sparse維形成的Block,它們叫Input Block,如(New York,Cola),(California,Beer)等。在實際應(yīng)用中,通常我們會訪問諸如東部地區(qū)Cola的銷售情況,DB2 OLAP會通過上卷東部所有城市的銷售情況得到。于是就有(East,Cola)這樣類似的塊,它們是通過計算所有子塊得到,這種數(shù)據(jù)塊叫Upper Block,這是在導(dǎo)入數(shù)據(jù)后的計算完成。多維數(shù)據(jù)庫中的Block是怎樣遍歷順序的? 下圖可以更加清楚的幫助大家理解數(shù)據(jù)塊是如何訪問或者生成的?2.6 怎樣

15、設(shè)置Dense和Sparse維正確設(shè)置Dense和Sparse維對于多維數(shù)據(jù)庫有非常重要的意思,對于物理存貯,訪問速度都有重要影響。數(shù)據(jù)庫設(shè)計員的雙重目標(創(chuàng)建數(shù)量盡可能少、密度盡可能大的數(shù)據(jù)塊)提示我們,數(shù)據(jù)塊的密度與生成塊的數(shù)量之間存在某種關(guān)系。事實上,在任何DB2 OLAP 數(shù)據(jù)庫內(nèi),數(shù)據(jù)塊密度與創(chuàng)建的塊數(shù)之間的關(guān)系可以用數(shù)學(xué)公式表示為:數(shù)據(jù)集密度 = 塊密度 塊數(shù) 開發(fā)人員的雙重目的不是創(chuàng)建最少的塊數(shù),也不是創(chuàng)建最緊湊的塊,而是創(chuàng)建塊數(shù)最少、密度最大的塊。利用反映此關(guān)系的數(shù)據(jù)集密度比率,我們可以簡化確定最佳稀疏緊湊設(shè)置的任務(wù),以尋找最高比率。很明顯,比率本身是很普通的數(shù)字。通常可以通過

16、下面的一些方法來設(shè)置Dense或者Sparse維??梢酝ㄟ^與業(yè)務(wù)人員交談,初步了解數(shù)據(jù)的特點。以上面的多維數(shù)據(jù)庫為例,很明顯,并不是所有商品在所有地區(qū)都有銷售記錄,通過發(fā)現(xiàn)它們的實際交叉比較少,這樣我們可以初步確定這兩個為Sparse維。當然這只是通過對數(shù)據(jù)的一個簡單的認識,是最初的設(shè)計,在很多情況下,許多維不能正確的設(shè)置。想要真正準確的對各個維設(shè)置Dense或者Sparse,必須通過仔細分析數(shù)據(jù)的特點。因此,最好的辦法是做以系列試驗,驗證各種維的Dense和Sparse的組合情況,可以在每次試驗后記錄塊密度和(塊數(shù),得到(塊密度)(塊數(shù)), 比較后取出比值最大的組合。當然多維數(shù)據(jù)庫的數(shù)據(jù)量很

17、大,我們不能取所有的數(shù)據(jù)來試驗,我們可以從中拿出一些樣本數(shù)據(jù),這樣有幾個好處。數(shù)據(jù)量小,完成一次試驗所需要的時間小,有利于節(jié)約開發(fā)時間。這里需要注意的問題有,樣本數(shù)據(jù)不是隨便取的,而是有一定的原則。通過分析業(yè)務(wù),我們知道,數(shù)據(jù)在每一個時間段基本相似,或者在一個地區(qū)里基本相似,這樣我們可以用一個時間段的數(shù)據(jù)來作為樣本數(shù)據(jù)。下表說明了這種試驗記錄情況:3 DB2 OLAP多維數(shù)據(jù)庫的性能優(yōu)化如何讓多維數(shù)據(jù)庫獲得更快的訪問速度,需要更少的存貯空間?這就需要我們對設(shè)計的多維數(shù)據(jù)庫做出優(yōu)化。前面提到的正確設(shè)置維的Dense或者Sparse,可以說是多維數(shù)據(jù)庫優(yōu)化的一個很重要的方面。在實際項目中,我們應(yīng)該

18、認真把握。3.1 將包含子女或公式的緊湊成員設(shè)置為“動態(tài)計算(Dynamic)”將包含子女或公式的緊湊成員設(shè)置為“動態(tài)計算”,這樣在Block中將不存放它的數(shù)據(jù),從而有利于減少數(shù)據(jù)存貯,而需要訪問時,客戶端臨時計算,得到匯總的數(shù)據(jù),展現(xiàn)給用戶。下圖是沒有做動態(tài)計算前數(shù)據(jù)塊的大?。杭偃缥覀儗tr1設(shè)置成Dynamic,將另外三個衡量指標設(shè)置成Dynamic,則數(shù)據(jù)塊變成如下圖所示:3.2 最佳地配置DB2 OLAP 緩沖器數(shù)據(jù)高速緩存是RAM 中的一個擴展的物理塊數(shù)據(jù)頁存儲庫,而物理(文件系統(tǒng))高速緩存則是RAM 中的一個壓縮物理數(shù)據(jù)塊頁存儲庫。索引高速緩存是RAM 中的一個索引地址頁存儲庫。DB2OLAP 存儲管理器(或內(nèi)核)通過為諸如計算機和報表模塊這樣的服務(wù)器功能層提供數(shù)據(jù)高速緩存尋址,管理索引和數(shù)據(jù)高速緩存。通過點擊Database>Settings,點擊Storage,可以查看數(shù)據(jù)庫的緩沖器設(shè)置情況。如下圖:DB2 OLAP 數(shù)據(jù)高速緩存中的數(shù)據(jù)塊沒有壓縮,而物理數(shù)據(jù)高速緩存(或OS 文件系統(tǒng)高速緩存)中的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論