複製鏈接
請複製以下鏈接發送給好友

多維數據庫

鎖定
多維數據庫(Multi Dimensional Database,MDD)可以簡單地理解為:將數據存放在一個n維數組中,而不是像關係數據庫那樣以記錄的形式存放。因此它存在大量稀疏矩陣,人們可以通過多維視圖來觀察數據。多維數據庫增加了一個時間維,與關係數據庫相比,它的優勢在於可以提高數據處理速度,加快反應時間,提高查詢效率 [1] 
中文名
多維數據庫
外文名
Multidimensional database
英文簡稱
MDD
優    勢
提高數據處理的速度
種    類
ROLAP、MOLAP

多維數據庫相關定義

維(Dimension):是人們觀察數據的特定角度,是考慮問題時的一類屬性,屬性集合構成一個維(時間維、地理維等)。
維的層次(Level):人們觀察數據的某個特定角度(即某個維)還可以存在細節程度不同的各個描述方面(時間 維:日期、月份、季度、年)。
維的成員(Member):維的一個取值,是數據項在某維中位置的描述。(“某年某月某日”是在時間維上位置的描述)。
度量(Measure):多維數組的取值。(2000年1月,上海,筆記本電腦,0000)。
OLAP的基本多維分析操作有鑽取(Drill-up和Drill-down)、切片(Slice)和切塊(Dice)、以及旋轉(Pivot)等。
鑽取:是改變維的層次,變換分析的粒度。它包括向下鑽取(Drill-down)和向上鑽取(Drill-up)/上卷(Roll-up)。Drill-up是在某一維上將低層次的細節數據概括到高層次的彙總數據,或者減少維數;而Drill-down則相反,它從彙總數據深入到細節數據進行觀察或增加新維。
切片和切塊:是在一部分維上選定值後,關心度量數據在剩餘維上的分佈。如果剩餘的維只有兩個,則是切片;如果有三個或以上,則是切塊。
旋轉:是變換維的方向,即在表格中重新安排維的放置(例如行列互換) [2] 

多維數據庫特點

關係型數據庫的主要特徵是將多維處理和麪向對象技術結合到關係數據庫上。這種數據庫使用強大而靈活的對象技術,將經過處理的多維數據模型的速度和可調整性結合起來。由於它獨有的可兼容性,對於開發高性能的交換處理應用程序來説,後關係型數據庫非常理想.在後關係型數據庫管理系統中,採用了更現代化的多維模型,作為數據庫引擎。並且,這種以稀疏數組 為基礎的獨特的多維數據庫架構,是從已成為國際標準的數據庫語言基礎上繼承和發展的,是已積累了實踐經驗的先進而可靠的技術。
多維數據模型能使數據建模更加簡單,因為開發人員能夠方便地用它來描述出複雜的現實世界結構,而不必忽略現實世界的問題,或把問題強行表現成技術上能夠處理的形態,而且多維數據模型使執行復雜處理的時間大大縮短。例如開發一個服裝連鎖店信息管理系統時,如果用關係數據庫,就需要建立許多表,一張表用來説明每種款式所具有的顏色和尺寸,另一張表用來建立服裝和供應商之間的映射,並表示它是否已被賣出,此外還需要建一些表來表示價格變化、各店的庫存等等。每成交一筆生意,所有這些表都需要修改,很快這些關係數據庫就會變得笨重而緩慢。而在多維數據模型中,可以將這些數據看做是存在於一個“立方體”中,這個“立方體”有足夠多的“面”,以便對數據進行完全分類,如款式、顏色、價格、庫存等等都能夠立刻互相映射,獲取數據極其迅速,而且由於清除了冗餘的數據,多維數據庫非常簡單,不僅好用,而且更經濟 [3] 

多維數據庫產品

多維數據庫增加了一個時間維,與關係數據庫相比,它的優勢在於可以提高數據處理速度,加快反應時間,提高查詢效率。
有兩種MDD 的OLAP產品:基於多維數據庫的MOLAP和基於關係數據庫的ROLAP。ROLAP建立了一種新的體系,即星型結構。
MDD並沒有公認的多維模型,也沒有像關係模型那樣標準地取得數據的方法(如SQL、API等)。基於MDD的OLAP產品,依據決策支持的內容使用範圍也有很大的不同。
在低端,用户使用基於單用户或小型LAN的工具來觀察多維數據。這些工具的功能性和實用性可能相當不錯,但由於受到規模的限制,它們不具備OLAP的所有特性。這些工具使用超立方結構,將模型限制在n維形態。當模型足夠大且稀疏數據沒有控制好時,這種模型將會不堪一擊。這些工具使用數據庫的大小是以MB來計量的,而不是以GB計量的,因此只能進行只讀操作,且具備有限的複雜計算。
在高端,OLAP工具用4GL提供了完善的開發環境、統計分析、時間序列分析、財政報告、用户接口、多層體系結構、圖表等許多其他功能。儘管不同的OLAP工具都使用了它們自己的多維數據庫,但它們在不同程度上也利用了關係數據庫作為存儲媒體。因為關係數據庫和OLAP工具同時在高端服務器上處理,所以速度和效率仍然很快。
純多維數據庫引擎也被開發出來。儘管這些工具缺乏4GL及充分的開發環境,但卻有比高端MDD工具所使用的數據庫更為複雜的數據庫。這些工具也具有統計分析、財務分析和時間序列分析等功能,並有自己的API,允許其對前端的開發環境開放。
MDD能提供優良的查詢性能。存儲在MDD中的信息比在關係數據庫中的信息具有更詳細的索引,可以常駐內存。MDD的信息是以數組形式存放的,所以它可以在不影響索引的情況下更新數據。因此MDD非常適合於讀寫應用 [3] 

多維數據庫組織方式

各公司多維數據庫產品的數據組織不完全相同,Arbor公司的ESSbase多維數據庫是一種具有代表性的產品,下面以這種組織方式為例,説明從多維數據庫或關係數據庫中抽取出來、存放在多維數據庫的數據組織。
將用於分析的數據從關係數據庫或關係數據倉庫中抽取出來,存放到多維數據庫的超立方結構中。
有一組包含6個維的數據:
銷售方式 6成員
產品 1500成員
銷售地 100成員
時間 17成員
項目8成員
統計50成員
其中,一些維被稱為“稠密維”(dense dimensions),這些維構成了數據存儲的“多維體”,其他的維被稱為“稀疏維”(sparsedimensions)。
可以將這些“稀疏維”存儲在類數據庫表結構中,這個表中只記錄那些組合存在的數據,並有一個索引指向相應的“多維體”。
在例子中“時間”、“項目”和“統計”是“稠密維”,它們構成了“立方體”;其他的三維產品、銷售方式、銷售地區是“稀疏維”。
這種多維體是以多維數組方式記錄各測量值的,相應各維有一定的記錄維及維內層次的元數據結構。這種數據組織方式消除了大量數據庫表中由於空穴造成的空間浪費,以及在每個元組中存儲的外鍵信息,它由統一的維與數組的對應係數限定數據,大大減少了存儲空間。當使用多維數據庫作為數據倉庫的基本數據存儲形式時,其最主要的特點是:大大減少了以維為基本框架的存儲空間,針對多維數據組織的操作算法,極大地提高了多維分析操作的效率。

多維數據庫與關係數據庫不同

多維數據庫是在最近十年內發展起來,其目的是分析數據而不是完成在線事務。多維數據庫(MDA)對數據進行建模以作為事實、維度或者數值度量,這些都為做出決策而進行了大量數據的交互分析。這類數據庫常見的示例包括InterSystems Cache、ContourCube以及Cognoa PowerPlay。
關係數據庫常常需要SELECT……FROM以及其他類型的SQL查詢來提供信息,與此不同,多維數據庫允許用户以更為口語化的英語來詢問問題,例如,“How many type Z dog leashes have been sold in New Jersey so far this year?”為達到此目的可以使用一種在線分析處理(OLAP)的軟件,該軟件可以迅速地提供出複雜數據庫的查詢答案。OLAP軟件常常使用於銷售與市場業務報表、管理報表、趨勢分析等類似的領域中。訪問多維數據庫中數據的OLAP應用軟件稱為MOLAP(多維OLAP)應用軟件。
參考資料
  • 1.    美)Brian K.Williams,Stacey C.Swyer.信息技術教程:清華大學出版社,2009
  • 2.    高洪深.決策支持系統(DSS)理論·方法·案例:清華大學出版社,2005
  • 3.    楊成興,趙建保,周鳳珍.電力系統IT應用100句.:中國電力出版社,2010