時間:2022-12-20 14:30:02 | 來源:信息時代
時間:2022-12-20 14:30:02 來源:信息時代
多維數(shù)組 : 維和變量的組合表示,是多維數(shù)據(jù)模型的一種數(shù)據(jù)存儲形式。其中,變量是從現(xiàn)實系統(tǒng)中抽象出來的,用于描述數(shù)據(jù)的實際意義,即描述數(shù)據(jù)“是什么”(人數(shù)、單價、銷售額等)。變量都有一定的取值范圍,比如“人數(shù)”的取值范圍是“大于等于零的整數(shù)”。取值范圍實際上是具體問題對變量的約束。一個多維數(shù)組可以表示為:(維1,維2,…,維n,變量),比如: 商品銷售數(shù)據(jù)是按時間、地區(qū)和產(chǎn)品組織起來的三維立方體,加上變量“銷售額”,就組成了一個多維數(shù)組(時間,地區(qū),產(chǎn)品,銷售額)。
數(shù)據(jù)單元(單元格)是多維數(shù)組的取值。當(dāng)多維數(shù)組的各個維都選中一個維成員,這些維成員的組合就唯一確定了一個變量的值,比如: (2004年3月, 昆明, 筆記本電腦, 80000)。
在RDBMS中,數(shù)據(jù)總是以關(guān)系表的方式來組織。在多維數(shù)據(jù)模型中,數(shù)據(jù)將以多維方式來組織,并以多維數(shù)組方式來存儲。通過“維”,多維數(shù)組直觀地表達(dá)了客觀世界中的“一對多”、“多對多”的關(guān)系。比如,企業(yè)各個產(chǎn)品在各個地區(qū)銷售量的關(guān)系在多維表中能夠直觀地表現(xiàn)出來。
而在關(guān)系數(shù)據(jù)庫中,“多對多”的關(guān)系總是轉(zhuǎn)化成多個“一對多”的關(guān)系,這種轉(zhuǎn)化有利于數(shù)據(jù)的一致性和規(guī)范化,這符合事務(wù)處理系統(tǒng)的需求,但是這種方式并不能直觀地反映人們對事物的感知。
除了直觀上的差異,同多維數(shù)組相比,對于同樣的數(shù)據(jù),關(guān)系表需要更多的表項和存儲空間。對于需要處理大量數(shù)據(jù)的OLAP來說,應(yīng)當(dāng)選擇對存儲容量需求較小的方式——多維數(shù)組。
在OLAP中需要使用多種綜合層次的數(shù)據(jù),因此對數(shù)據(jù)進行聚合(求和)處理是非常普遍的,如果使用關(guān)系表求和,比如求所有產(chǎn)品在東北區(qū)的總銷量,需要首先選擇各種產(chǎn)品在東北區(qū)銷售的相關(guān)條目,然后求和,這樣大大增加了系統(tǒng)的響應(yīng)時間,對于大數(shù)據(jù)量的處理,這個問題將更加嚴(yán)重。
如果使用多維數(shù)組進行求和,由于多維數(shù)組本身就是按照維度組織的,因此只需將東北對應(yīng)的一列求和即可。同理,如果要統(tǒng)計各個產(chǎn)品的總銷售量,只需將多維表中的橫向條目相加即可。利用多維數(shù)組還可以進行多個層次的求和。如將冰箱的銷售總和同彩電的銷售總和相加,就可得到這兩個產(chǎn)品的總銷售量。至此,可以看出多維數(shù)組在進行多層次數(shù)據(jù)統(tǒng)計上的優(yōu)越性。
在實際OLAP系統(tǒng)中,可采用“空間換時間”的技術(shù)。
若對關(guān)系表也采用“空間換時間”技術(shù),即將決策分析人員所需的綜合數(shù)據(jù)都預(yù)先統(tǒng)計出來,存放在數(shù)據(jù)庫中。例如,可以在關(guān)系數(shù)據(jù)庫的表中加上一行總和的記錄。在這張關(guān)系表中,由于預(yù)先對產(chǎn)品在各地區(qū)的銷售量進行了求和(綜合),查詢時就不用再進行計算了。如果所求的所有總和都已經(jīng)被綜合的話,只要讀取單個記錄就可以回答按產(chǎn)品(或按地區(qū))求和的問題了。這樣處理似乎可以得到快速一致的查詢響應(yīng)。但事實上,“總和”項破壞了關(guān)系表中列定義的統(tǒng)一語義,例如地區(qū)列中的值表示的是地區(qū)名稱,而“總和”就成為一個例外。查詢時用戶必須了解這種約定。
綜上所述,多維數(shù)組的優(yōu)勢不僅在于多維概念表達(dá)清晰,占用存儲少,更重要的是它有著高速的綜合速度。在多維數(shù)組中,數(shù)據(jù)可以直接按行或列累加,并且由于多維數(shù)組中不像關(guān)系表那樣重復(fù)的出現(xiàn)產(chǎn)品和地區(qū)信息,因此其統(tǒng)計速度遠(yuǎn)遠(yuǎn)超過RDBMS,數(shù)據(jù)庫記錄數(shù)越多,其效果越明顯。
微信公眾號
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。