多維資料庫
出自 MBA智库百科(https://wiki.mbalib.com/)
多維資料庫(Multi-Dimensional Database,MDD)
目錄 |
什麼是多維資料庫[1]
多維資料庫是指將數據存放在一個門維數組中,而不是像關係資料庫那樣以記錄的形式存放。因此它存在大量稀疏矩陣,人們可以通過多維視圖來觀察數據。多維資料庫增加了一個時間維,與關係資料庫相比,它的優勢在於可以提高數據處理速度,加快反應時間,提高查詢效率。
多維資料庫的產品[1]
目前有兩種MDD的OLAP產品:基於多維資料庫的MOLAP和基於關係資料庫的ROLAP。ROLAP建立了一種新的體系,即星型結構。
MDD並沒有公認的多維模型,也沒有像關係模型那樣標準地取得數據的方法(如SOL、API等)。基於MDD的OLAP產品,依據決策支持的內容使用範圍也有很大的不同。
在低端,用戶使用基於單用戶或小型LAN的工具來觀察多維數據。這些工具的功能性和實用性可能相當不錯,但由於受到規模的限制,它們不具備OLAP的所有特性。這些工具使用超立方結構,將模型限制在行維形態。當模型足夠大且稀疏數據沒有控制好時,這種模型將會不堪一擊。這些工具使用資料庫的大小是以MB來計量的,而不是以GB計量的,因此只能進行只讀操作,且具備有限的複雜計算。
在高端,OLAP工具用4GL提供了完善的開發環境、統計分析、時間序列分析、財政報告、用戶介面、多層體繫結構、圖表等許多其他功能。儘管不同的OLAP工具都使用了它們自己的多維資料庫,但它們在不同程度上也利用了關係資料庫作為存儲媒體。因為關係資料庫和OLAP工具同時在高端伺服器上處理,所以速度和效率仍然很快。
純多維資料庫引擎也被開發出來。儘管這些工具缺乏4GL及充分的開發環境,但卻有比高端MDD工具所使用的資料庫更為複雜的資料庫。這些工具也具有統計分析、財務分析和時間序列分析等功能,並有自己的API,允許其對前端的開發環境開放。
MDD能提供優良的查詢性能。存儲在MDD中的信息比在關係資料庫中的信息具有更詳細的索引,可以常駐記憶體。MDD的信息是以數組形式存放的,所以它可以在不影響索引的情況下更新數據。因此MDD非常適合於讀寫應用。
多維資料庫的組織方式[2]
各公司多維資料庫產品的數據組織不完全相同,Arbor公司的ESSbase多維資料庫是一種具有代表性的產品,下麵以這種組織方式為例,說明從多維資料庫或關係資料庫中抽取出來、存放在多維資料庫的數據組織。
將用於分析的數據從關係資料庫或關係數據倉庫中抽取出來,存放到多維資料庫的超立方結構中。首先,設計一個例子來說明這種組織結構(如圖1所示)。
有一組包含6個維的數據:
銷售方式 6成員
產品 1500成員
銷售地 100成員
時間 17成員
項目 8成員
統計 50成員
其中,一些維被稱為“稠密維”(dense dimensions),這些維構成了數據存儲的“多維體”,其他的維被稱為“稀疏維”(sparsedimensions)。
可以將這些“稀疏維”存儲在類資料庫表結構中,這個表中只記錄那些組合存在的數據,並有一個索引指向相應的“多維體”。
在例子中“時間”、“項目”和“統計”是“稠密維”,如圖2所示,它們構成了“立方體”;其他的三維產品、銷售方式、銷售地區是“稀疏維”,如圖3所示。
- 圖 稠密維示意圖
這種多維體是以多維數組方式記錄各測量值的,相應各維有一定的記錄維及維內層次的元數據結構。
這種數據組織方式消除了大量資料庫表中由於空穴造成的空間浪費,以及在每個元組中存儲的外鍵信息,它由統一的維與數組的對應繫數限定數據,大大減少了存儲空間。
當使用多維資料庫作為數據倉庫的基本數據存儲形式時,其最主要的特點是:大大減少了以維為基本框架的存儲空間,針對多維數據組織的操作演算法,極大地提高了多維分析操作的效率。
多維資料庫與關係資料庫不同[3]
多維資料庫是在最近十年內發展起來,其目的是分析數據而不是完成線上事務。多維資料庫(MDA)對數據進行建模以作為事實、維度或者數值度量,這些都為做出決策而進行了大量數據的交互分析。這類資料庫常見的示例包括InterSystems Cache、ContourCube以及Cognoa PowerPlay。多維資料庫使用立方體的概念來代表用戶可用數據的維度,並且使用了4個維度(參見圖4)。例如,“銷售”可以看作是如下幾個維度:(1)產品模型;(2)地理位置:(3)時間;(4)其他附加的維度。在上述情況下,“銷售”可以看作是數據立方體的主要屬性(或者度量),而其他維度則可以看作是“特性”屬性。
關係資料庫常常需要SELECT……FROM以及其他類型的SQL查詢來提供信息,與此不同,多維資料庫允許用戶以更為口語化的英語來詢問問題,例如,“How many type Z dog leashes have been sold in New Jersey so far this year?”為達到此目的可以使用一種線上分析處理(OLAP)的軟體,該軟體可以迅速地提供出複雜資料庫的查詢答案。OLAP軟體常常使用於銷售與市場業務報表、管理報表、趨勢分析等類似的領域中。訪問多維資料庫中數據的OLAP應用軟體稱為MOLAP(多維OLAP)應用軟體。