




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
多維查詢處理及優(yōu)化MDX多維查詢語(yǔ)言
OLEDBforOLAPOLEDBforOLAP是一種標(biāo)準(zhǔn),它由微軟發(fā)布,提供了對(duì)多維數(shù)據(jù)存取的接口和方法。它的特點(diǎn)是獨(dú)立于多維數(shù)據(jù)的具體存儲(chǔ)結(jié)構(gòu)。其中用于訪問(wèn)多維數(shù)據(jù)源的多維表達(dá)式(Multi-DimensioneXpression--MDX),提供了語(yǔ)義豐富的查詢多維數(shù)據(jù)的語(yǔ)句,自發(fā)布以來(lái)逐漸成為工業(yè)界的事實(shí)標(biāo)準(zhǔn)。
MDX類似于關(guān)系數(shù)據(jù)庫(kù)中的標(biāo)準(zhǔn)SQL語(yǔ)句。創(chuàng)建MDX的主要目的是為了方便用戶對(duì)多維數(shù)據(jù)進(jìn)行訪問(wèn)。MDX是一種表達(dá)式語(yǔ)言,它的函數(shù)可以用來(lái)定義新的計(jì)算成員,創(chuàng)建局部的數(shù)據(jù)方體,或者通過(guò)OLEDB或者ADO對(duì)數(shù)據(jù)方體中的數(shù)據(jù)進(jìn)行訪問(wèn)。在MDX中,用戶還可以自己定義函數(shù),來(lái)滿足某些特殊要求。MDX與SQL在關(guān)系數(shù)據(jù)庫(kù)中,用戶查詢的對(duì)象是關(guān)系,其結(jié)果集也是一個(gè)關(guān)系,對(duì)多維數(shù)據(jù),查詢的對(duì)象是方體,查詢的結(jié)果集也是方體。對(duì)于關(guān)系數(shù)據(jù)庫(kù)的查詢我們采用標(biāo)準(zhǔn)的SQL語(yǔ)句,對(duì)于多維數(shù)據(jù)的訪問(wèn),可以采用專用于訪問(wèn)多維數(shù)據(jù)的MDX,當(dāng)然也可以采用擴(kuò)展的SQL語(yǔ)句。由于大家對(duì)SQL都比較熟悉,所以MDX的語(yǔ)法在很多方面力求和SQL保持一致。很多用MDX實(shí)現(xiàn)的功能用SQL也能實(shí)現(xiàn),盡管實(shí)現(xiàn)的手段各異。不過(guò),MDX查詢語(yǔ)言使得很多功能的實(shí)現(xiàn)更加有效、更為直觀,尤其MDX更適合多維數(shù)據(jù)的操作MDX語(yǔ)言和SQL語(yǔ)言一樣,語(yǔ)句具有SELECT、FROM和WHERE結(jié)構(gòu)。但MDX語(yǔ)言采用其他的關(guān)鍵字來(lái)查詢數(shù)據(jù)方體,返回可以進(jìn)一步加以分析的數(shù)據(jù),并提供了可以對(duì)返回的數(shù)據(jù)進(jìn)行操作的相應(yīng)的函數(shù)。而且,MDX語(yǔ)言增強(qiáng)了用戶自定義函數(shù)的功能,可以擴(kuò)展或者定制用戶某些特殊的商業(yè)需求。MDX語(yǔ)言所提供的數(shù)據(jù)定義語(yǔ)言(DDL)也和SQL類似。例如,提供了對(duì)數(shù)據(jù)方體、維、度量等OLAP環(huán)境下的對(duì)象進(jìn)行創(chuàng)建(creating)、修改(modifying)、刪除(deleting)的命令SQL的數(shù)據(jù)定義語(yǔ)言/操縱語(yǔ)言都是返回或操縱兩維的數(shù)據(jù),而MDX用來(lái)返回或操縱多維的數(shù)據(jù)為了定義和抽取數(shù)據(jù),不管是針對(duì)單個(gè)數(shù)據(jù)單元(cell)還是多個(gè)數(shù)據(jù)單元(統(tǒng)稱為一個(gè)數(shù)據(jù)集合),MDX都采用一套坐標(biāo)系統(tǒng)來(lái)對(duì)它們進(jìn)行定義該坐標(biāo)系統(tǒng)中的每一個(gè)坐標(biāo)軸上可以有多個(gè)維。各個(gè)維上成員的不同組合就構(gòu)成了該坐標(biāo)軸上的不同的坐標(biāo)點(diǎn)。多維模式
多維數(shù)據(jù)最基本的結(jié)構(gòu)模式是方體(cube),每個(gè)方體由多個(gè)維組成,每個(gè)維上可以有多個(gè)層次,并且每個(gè)維上有多個(gè)成員。例如,一個(gè)關(guān)于產(chǎn)品銷售數(shù)據(jù)的數(shù)據(jù)方體由以下6個(gè)維組成:
SalesRepGeography,它其中的一個(gè)層次(hierarchy)有以下層(level):Continents,Countries和States.QuartersYearsMeasures,包括Sales,PercentChange和BudgetedSalesProducts多維數(shù)據(jù)集合
在多維數(shù)據(jù)存儲(chǔ)中,數(shù)據(jù)是以n維方體中的數(shù)值點(diǎn)存在的,用戶可以指定一個(gè)查詢來(lái)訪問(wèn)多維數(shù)據(jù),用戶查詢對(duì)象可以是一個(gè)或多個(gè)方體,其結(jié)果集是一個(gè)p維的方體(p<=n),我們稱之為數(shù)據(jù)集合。數(shù)據(jù)集合封裝了多維查詢的結(jié)果集,它是執(zhí)行一個(gè)MDX語(yǔ)句的結(jié)果集。數(shù)據(jù)集合是由一組軸(axis)組成,軸上的點(diǎn)稱為坐標(biāo)點(diǎn)(coordinate)。每個(gè)軸上可以包含多個(gè)維。ForExample
例如,要對(duì)一個(gè)具有4個(gè)維的數(shù)據(jù)方體查詢:Geography,Products,Measures和Quarters,其中有兩個(gè)度量值:Sales和Cost?,F(xiàn)在用戶需要了解USA在每個(gè)季度每種產(chǎn)品的銷售情況,則應(yīng)該產(chǎn)生如下的結(jié)果數(shù)據(jù)集合:
SalesforUSAComputersExpansionCardsFloppyDriversQtr1462212452356Qtr23406925235847Qtr3394290585920Qtr45398443242908MDX的基本概念MDX語(yǔ)句必須包含下面的信息:1.查詢所涉及的數(shù)據(jù)方體2.產(chǎn)生的結(jié)果數(shù)據(jù)集合的軸的個(gè)數(shù)3.數(shù)據(jù)方體的維與結(jié)果數(shù)據(jù)集合中軸的對(duì)應(yīng)關(guān)系4.在每個(gè)維上的成員MDX的基本概念(續(xù))
一個(gè)典型的MDX語(yǔ)句具有下面的格式:
SELECT<axis_specification>[,<axis_specification>...] FROM<cube_specification> WHERE<slicer_specification>
在編寫MDX語(yǔ)句時(shí),通常把所查詢的數(shù)據(jù)方體的維集合劃分為兩個(gè)子集合:w
軸維(Axisdimensions),在該維上通常取多個(gè)成員;w切片維(Slicerdimensions),在該維上通常取一個(gè)成員;MDX的基本概念(續(xù))
軸維:
一個(gè)軸上可以對(duì)應(yīng)多個(gè)維,每個(gè)軸是由一組元組的集合構(gòu)成的,如果軸只對(duì)應(yīng)一個(gè)維,則其中的每個(gè)元組就是一個(gè)成員,如果軸對(duì)應(yīng)n個(gè)維,則每個(gè)元組由n個(gè)來(lái)自不同維的成員組成。
JackTomComputersFloppyDriversComputersFloppyDriversQtr14622235646222356Qtr23406923584734069235847Qtr3395920395920Qtr453984429085398442908MDX的基本概念(續(xù))
切片維:在該維上通常取一個(gè)成員;相當(dāng)于SQL中的where條件,如用戶需要了解USA在每個(gè)季度每種產(chǎn)品的銷售情況,則應(yīng)該產(chǎn)生如下的結(jié)果數(shù)據(jù)集合,在該例中,Quarter和Product維是軸維,Measure和Geography是切片維。
SalesforUSAComputersExpansionCardsFloppyDriversQtr1462212452356Qtr23406925235847Qtr3394290585920Qtr45398443242908MDX的基本概念(續(xù))指定一個(gè)軸的內(nèi)容可以按照以下的步驟:1.創(chuàng)建一個(gè)表達(dá)式來(lái)生成成員;2.獲得在每個(gè)軸的每個(gè)維的成員;3.對(duì)這些成員做笛卡氏集,生成每個(gè)軸的元組集合。
MDX的基本概念(續(xù))選擇一組成員有多種方法,例如:w
枚舉法,例如:{Venkatrao,Netz}w
集合表達(dá)式(setexpresion) 例如:表達(dá)式{USA.CHILDREN}生成下面的集合:{USA_North,USA_South},表達(dá)式{USA_North.CHILDREN,USA_South,Japan}生成集合:{Seattle,Boston,USA_South,Japan}MDX的基本概念(續(xù))
在一個(gè)數(shù)據(jù)集合中可以有多個(gè)軸,用戶為每個(gè)軸指定了元組集合后,還需要把這些元組集合投影到指定的軸上。這在MDX語(yǔ)句中<axis_specification>部分進(jìn)行說(shuō)明:
<axis_specification>::=<set>ON<axis_name><axis_name>::=COLUMNS|ROWS|PAGES|SECTIONS|CHAPTERS|AXIS(index)
前5個(gè)軸可以用COLUMNS,ROWS,PAGES,SECTIONS和CHAPTERS表示。OLEDBforOLAP要求至少支持3個(gè)或以上個(gè)軸。MDX的基本概念(續(xù))
指定切片維的值:
查詢的數(shù)據(jù)方體的維中,沒(méi)有在軸上的維都認(rèn)為是切片維。在MDX語(yǔ)句中,可以用下面的語(yǔ)句來(lái)表示切片條件:
WHERE(Sales,[1991],Products.[All])MDX的基本概念(續(xù))
例如:一個(gè)多維數(shù)據(jù)庫(kù)Sales由季度、年、地區(qū)、產(chǎn)品、銷售代表和銷售額六個(gè)維組成。其中銷售額是度量維。時(shí)間維上的層次為日,月,季,年,,地區(qū)維上的層次為州,地區(qū),國(guó)家。 現(xiàn)在:要查詢銷售代表Venkatrao和Netz在1991年的1月、2月、3月、第二季度、第三季度、10月、11月、12月分別在美國(guó)南部的各個(gè)州、美國(guó)北部及日本的銷售業(yè)績(jī)(用銷售額表示)。MDX的基本概念(續(xù))
Venkatrao
Netz
USAJapanUSAJapanUSA_NEUSA_SEUSA_NEUSA_SESeattleBostonSeattleBostonQtr1Jan0010203040506070Feb0111213141516171Mar0212223242526272Qtr20313233343536373Qtr30414243444546474Qtr4Oct0515253545556575Nov0616263646566676Dec0717273747576777MDX的基本概念(續(xù))該數(shù)據(jù)集合具有以下的特點(diǎn):
1.軸維(Axisdimensions):Quarters,SalesRep,Geography2.切片維(Slicerdimensions):Measures,Years,Products3.具有兩個(gè)軸:COLUMN,x-axis,oraxis0;ROW,y-axis,oraxis14.x-axis:SalesRep和Geographydimensions(后者嵌套在前者之中)5.y-axis:Quartersdimension6.切片條件:WHERE(Sales,[1991],Products.[All])MDX的基本概念(續(xù))生成數(shù)據(jù)集合的MDX語(yǔ)句表示如下:
SELECTCROSSJOIN({Venkatrao,Netz}, {USA_North.CHILDREN,USA_South,Japan})ONCOLUMNS,
{Qtr1.CHILDREN,Qtr2,Qtr3,Qtr4.CHILDREN}ONROWS FROMSalesCubeWHERE(Sales,[1991],Products.[All])MDX語(yǔ)法有關(guān)MDX語(yǔ)法格式:
請(qǐng)參照微軟MDX語(yǔ)言相關(guān)文檔:] ParaWare實(shí)現(xiàn)時(shí)對(duì)其進(jìn)行裁減,實(shí)現(xiàn)其基本功能。終端用戶的多維查詢請(qǐng)求可以直接表達(dá)成MDX語(yǔ)句的形式,也可以由OLAP系統(tǒng)的客戶端工具將用戶的鉆取、旋轉(zhuǎn)等多維操作轉(zhuǎn)換成相應(yīng)的MDX查詢語(yǔ)句。對(duì)MDX查詢語(yǔ)句的處理,有兩種方式。一種是將其轉(zhuǎn)變成SQL,然后采用RDBMS的查詢處理引擎來(lái)實(shí)現(xiàn)。另一種是直接對(duì)MDX語(yǔ)句進(jìn)行處理,對(duì)其作語(yǔ)法檢查、語(yǔ)義分析、查詢處理和優(yōu)化、執(zhí)行并最終得到查詢結(jié)果。第一種方法的好處是可以充分利用現(xiàn)有SQL的查詢處理和優(yōu)化技術(shù),但由于SQL并不是專為多維數(shù)據(jù)查詢?cè)O(shè)計(jì)的,存在一些固有的限制。因此,人們更看好第二種方法,但到目前為止,尚未有詳細(xì)的資料公開發(fā)表。在這里,介紹自行研制開發(fā)的并行數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)PARAWARE(ParallelDataWarehouse)中所采用的方法由于一個(gè)MDX查詢常常涉及一個(gè)維的多個(gè)層,例如在時(shí)間維上同時(shí)涉及月和季兩層,在地區(qū)維上同時(shí)涉及城市和國(guó)家兩層而數(shù)據(jù)是以不同維、層的組合所構(gòu)成的cuboid為單位存儲(chǔ)的。因此,在處理MDX查詢的時(shí)候,首先需要將一個(gè)MDX查詢按照查詢所涉及的維層的不同劃分成多個(gè)子查詢,每個(gè)子查詢對(duì)應(yīng)一個(gè)cuboid。并行數(shù)據(jù)倉(cāng)庫(kù)Paraware簡(jiǎn)介支持超大數(shù)據(jù)量存儲(chǔ)
支持MDX多維查詢語(yǔ)言
具有高查詢處理性能
PareWare的體系結(jié)構(gòu)Internet/IntranetMDX結(jié)果合成器緩存管理器查詢分析代價(jià)估計(jì)查詢優(yōu)化并行調(diào)度OLAP服務(wù)器CUBECHUNKCHUNKCHUNKOLAP-PBASE數(shù)據(jù)庫(kù)服務(wù)器1DWMetaDataOLAP-PBASE數(shù)據(jù)庫(kù)服務(wù)器nDWMetaData圖1。ParaWare的體系結(jié)構(gòu)MetaData...Internet/Intranet混合存儲(chǔ):將MOLAP和ROLAP兩種存儲(chǔ)方式相結(jié)合,充分利用二者的優(yōu)點(diǎn),克服其缺點(diǎn)。Paraware的多維存儲(chǔ)混合存儲(chǔ)特殊關(guān)系表及其索引機(jī)制特殊關(guān)系表與傳統(tǒng)關(guān)系表相比相同處:通過(guò)索引按數(shù)據(jù)內(nèi)容檢索數(shù)據(jù)不同處:特殊關(guān)系表只存儲(chǔ)度量值,不存維值兩極索引機(jī)制對(duì)數(shù)據(jù)塊的索引:在劃分維上建立對(duì)數(shù)據(jù)塊內(nèi)部數(shù)據(jù)的索引:在非劃分維上建立混合存儲(chǔ)的優(yōu)點(diǎn)節(jié)約存儲(chǔ)空間,根據(jù)數(shù)據(jù)稀疏程度的不同,不同的數(shù)據(jù)塊可以采用不同的數(shù)據(jù)存儲(chǔ)方式,提高了存儲(chǔ)效率;提高計(jì)算速度,經(jīng)過(guò)劃分以后數(shù)據(jù)分布在多個(gè)處理機(jī)上可以實(shí)現(xiàn)并行計(jì)算,而且可以設(shè)計(jì)高效的內(nèi)存算法,提高了計(jì)算速度;減少了數(shù)據(jù)訪問(wèn)時(shí)讀取磁盤的平均次數(shù)。Paraware查詢處理和優(yōu)化構(gòu)造MDX語(yǔ)句詞法、語(yǔ)法分析及語(yǔ)義檢查子查詢的劃分子查詢的執(zhí)行組裝查詢結(jié)果子查詢的劃分劃分原因不同的用戶所關(guān)心的維空間不同便于進(jìn)行并行存取數(shù)據(jù),提高查詢效率劃分依據(jù)不同維層的組合一個(gè)MDX查詢可以劃分成多個(gè)子查詢。每個(gè)子查詢也是由多個(gè)軸、每個(gè)軸由多個(gè)維、每個(gè)維由多個(gè)成員構(gòu)成,不同的是:在子查詢中,每個(gè)維上所取的成員必須屬于同一個(gè)維層。MDX查詢舉例Salesin1991
銷1銷1銷1銷2銷3銷3銷4北京上海北京北京上海北京
海淀朝陽(yáng)海淀朝陽(yáng)1月電器
電器洗衣機(jī)
電視
電冰箱
2月電器
電器洗衣機(jī)
電視
電冰箱
3月電器電視
一季度電器
銷1銷2銷3銷1銷3銷4上海北京上海北京北京北京
海淀朝陽(yáng)海淀朝陽(yáng)一季度電器
1月電器
2月電器
1月電器洗衣機(jī)
電視
電冰箱
2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化創(chuàng)意行業(yè)作品征集表格
- 《物質(zhì)的基本屬性與狀態(tài):九年級(jí)科學(xué)物理教案》
- 湖北省孝感市漢川市2024-2025學(xué)年七年級(jí)上學(xué)期期末生物學(xué)試題(含答案)
- 年度團(tuán)建活動(dòng)設(shè)計(jì)與執(zhí)行方案
- 自動(dòng)售貨機(jī)銷售合同協(xié)議
- 公司內(nèi)部事務(wù)處理指南
- 城市地鐵線路建設(shè)與運(yùn)營(yíng)合同
- 企業(yè)與政府合作的環(huán)保協(xié)議
- 煤炭國(guó)際貿(mào)易合同
- 新辦公大樓啟用儀式上的演講致辭
- 學(xué)校心理健康教育的目標(biāo)體系課件
- 控制加班改善對(duì)策培訓(xùn)課件
- 功能材料-智能材料
- 《信息科技》學(xué)科新課標(biāo)《義務(wù)教育信息科技課程標(biāo)準(zhǔn)(2022年版)》
- 合同智能審核與風(fēng)險(xiǎn)預(yù)警
- 保安服務(wù)公司設(shè)立申請(qǐng)表
- 出險(xiǎn)車輛維修確認(rèn)書范本
- 電子課件《幼兒園環(huán)境創(chuàng)設(shè)》A幼兒園戶外環(huán)境創(chuàng)設(shè)
- 學(xué)習(xí)英模事跡,傳承紅色基因
- 消防維保方案(消防維保服務(wù))(技術(shù)標(biāo))
- 衛(wèi)生類A級(jí)職稱英語(yǔ)閱讀理解
評(píng)論
0/150
提交評(píng)論