基本介紹
- 中文名:多維資料庫
- 外文名:Multidimensional database
- 英文簡稱:MDD
- 優勢:提高數據處理的速度
- 種類:ROLAP、MOLAP
概述,相關定義,特點,產品,組織方式,與關係資料庫不同,
概述
多維資料庫是指將數據存放在一個n維數組中,而不是像關係資料庫那樣以記錄的形式存放。因此它存在大量稀疏矩陣,人們可以通過多維視圖來觀察數據。多維資料庫增加了一個時間維,與關係資料庫相比,它的優勢在於可以提高數據處理速度,加快反應時間,提高查詢效率。
相關定義
維(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則相反,它從匯總數據深入到細節數據進行觀察或增加新維。
切片和切塊:是在一部分維上選定值後,關心度量數據在剩餘維上的分布。如果剩餘的維只有兩個,則是切片;如果有三個或以上,則是切塊。
旋轉:是變換維的方向,即在表格中重新安排維的放置(例如行列互換)。
維的層次(Level):人們觀察數據的某個特定角度(即某個維)還可以存在細節程度不同的各個描述方面(時間 維:日期、月份、季度、年)。
維的成員(Member):維的一個取值,是數據項在某維中位置的描述。(“某年某月某日”是在時間維上位置的描述)。
度量(Measure):多維數組的取值。(2000年1月,上海,筆記本電腦,0000)。
OLAP的基本多維分析操作有鑽取(Drill-up和Drill-down)、切片(Slice)和切塊(Dice)、以及旋轉(Pivot)等。
鑽取:是改變維的層次,變換分析的粒度。它包括向下鑽取(Drill-down)和向上鑽取(Drill-up)/上卷(Roll-up)。Drill-up是在某一維上將低層次的細節數據概括到高層次的匯總數據,或者減少維數;而Drill-down則相反,它從匯總數據深入到細節數據進行觀察或增加新維。
切片和切塊:是在一部分維上選定值後,關心度量數據在剩餘維上的分布。如果剩餘的維只有兩個,則是切片;如果有三個或以上,則是切塊。
旋轉:是變換維的方向,即在表格中重新安排維的放置(例如行列互換)。
特點
後關係型資料庫的主要特徵是將多維處理和面向對象技術結合到關係資料庫上。這種資料庫使用強大而靈活的對象技術,將經過處理的多維數據模型的速度和可調整性結合起來。由於它獨有的可兼容性,對於開發高性能的交換處理應用程式來說,後關係型資料庫非常理想.在後關係型資料庫管理系統中,採用了更現代化的多維模型,作為資料庫引擎。並且,這種以稀疏數組 為基礎的獨特的多維資料庫架構,是從已成為國際標準的資料庫語言基礎上繼承和發展的,是已積累了實踐經驗的先進而可靠的技術。
多維數據模型能使數據建模更加簡單,因為開發人員能夠方便地用它來描述出複雜的現實世界結構,而不必忽略現實世界的問題,或把問題強行表現成技術上能夠處理的形態,而且多維數據模型使執行複雜處理的時間大大縮短。例如開發一個服裝連鎖店信息管理系統時,如果用關係資料庫,就需要建立許多表,一張表用來說明每種款式所具有的顏色和尺寸,另一張表用來建立服裝和供應商之間的映射,並表示它是否已被賣出,此外還需要建一些表來表示價格變化、各店的庫存等等。每成交一筆生意,所有這些表都需要修改,很快這些關係資料庫就會變得笨重而緩慢。而在多維數據模型中,可以將這些數據看做是存在於一個“立方體”中,這個“立方體”有足夠多的“面”,以便對數據進行完全分類,如款式、顏色、價格、庫存等等都能夠立刻互相映射,獲取數據極其迅速,而且由於清除了冗餘的數據,多維資料庫非常簡單,不僅好用,而且更經濟。
多維數據模型能使數據建模更加簡單,因為開發人員能夠方便地用它來描述出複雜的現實世界結構,而不必忽略現實世界的問題,或把問題強行表現成技術上能夠處理的形態,而且多維數據模型使執行複雜處理的時間大大縮短。例如開發一個服裝連鎖店信息管理系統時,如果用關係資料庫,就需要建立許多表,一張表用來說明每種款式所具有的顏色和尺寸,另一張表用來建立服裝和供應商之間的映射,並表示它是否已被賣出,此外還需要建一些表來表示價格變化、各店的庫存等等。每成交一筆生意,所有這些表都需要修改,很快這些關係資料庫就會變得笨重而緩慢。而在多維數據模型中,可以將這些數據看做是存在於一個“立方體”中,這個“立方體”有足夠多的“面”,以便對數據進行完全分類,如款式、顏色、價格、庫存等等都能夠立刻互相映射,獲取數據極其迅速,而且由於清除了冗餘的數據,多維資料庫非常簡單,不僅好用,而且更經濟。
產品
多維資料庫增加了一個時間維,與關係資料庫相比,它的優勢在於可以提高數據處理速度,加快反應時間,提高查詢效率。
MDD並沒有公認的多維模型,也沒有像關係模型那樣標準地取得數據的方法(如SQL、API等)。基於MDD的OLAP產品,依據決策支持的內容使用範圍也有很大的不同。
在低端,用戶使用基於單用戶或小型LAN的工具來觀察多維數據。這些工具的功能性和實用性可能相當不錯,但由於受到規模的限制,它們不具備OLAP的所有特性。這些工具使用超立方結構,將模型限制在n維形態。當模型足夠大且稀疏數據沒有控制好時,這種模型將會不堪一擊。這些工具使用資料庫的大小是以MB來計量的,而不是以GB計量的,因此只能進行唯讀操作,且具備有限的複雜計算。
在高端,OLAP工具用4GL提供了完善的開發環境、統計分析、時間序列分析、財政報告、用戶接口、多層體系結構、圖表等許多其他功能。儘管不同的OLAP工具都使用了它們自己的多維資料庫,但它們在不同程度上也利用了關係資料庫作為存儲媒體。因為關係資料庫和OLAP工具同時在高端伺服器上處理,所以速度和效率仍然很快。
純多維資料庫引擎也被開發出來。儘管這些工具缺乏4GL及充分的開發環境,但卻有比高端MDD工具所使用的資料庫更為複雜的資料庫。這些工具也具有統計分析、財務分析和時間序列分析等功能,並有自己的API,允許其對前端的開發環境開放。
MDD能提供優良的查詢性能。存儲在MDD中的信息比在關係資料庫中的信息具有更詳細的索引,可以常駐記憶體。MDD的信息是以數組形式存放的,所以它可以在不影響索引的情況下更新數據。因此MDD非常適合於讀寫套用。
組織方式
各公司多維資料庫產品的數據組織不完全相同,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)套用軟體。