多維資料模型與OLAP實現

2021-05-02 13:25:21 字數 3179 閱讀 4831

一、多維資料模型及相關概念

資料模型一般有兩個層次:概念層(邏輯層)和物理層。邏輯資料模型是從概念角度抽象出現實世界的內在規律,如業務流程、資料架構等;物理資料模型則側重於特定環境下的具體實現,如效率、安全性等.

多維資料模型是乙個邏輯概念,該模型主要解決如何對大量資料進行快速查詢和多角度展示,以便得出有利於管理決策的資訊和知識。多維資料模型的應用領域主要有資料倉儲、olap和資料探勘三個方面。其中,多維結構是olap的核心。

多維資料模型通過引入維、維分層和度量等概念,將資訊在概念上視為乙個立方體。

1、立方體:用三維或更多的維數描述乙個物件,每個維彼此垂直。資料的度量值發生在維的交叉點上,資料空間的各個部分都有相同的維屬性。

2、維:是人們觀察資料的特定角度,是考慮問題時的一類屬性。屬性的集合構成乙個維(如時間維、機構維等)。

3、維分層:同一維度還可以存在細節程度不同的各個描述方面(如時間維可包括年、季度、月份、旬和日期等)。

4、維屬性:維的乙個取值,是資料項在某維中位置的描述(例如「某年某月某日」是在時間維上位置的描述)。

5、度量:立方體中的單元格,用以存放資料。

olap的基本多維分析操作有鑽取(roll up,drill down)、切片(slice)、切塊(dice)及旋轉(pivot)等。

鑽取包含向下鑽取和向上鑽取。上捲操作,鑽取的深度與維所劃分的層次相對應。上捲操作通過維規約,在資料立方體上進行聚集。下鑽操作是上捲操作的逆操作,由不太詳細的資料到更詳細的資料。

切片和切塊是在一部分維上選定值後,度量資料在剩餘維上的分布。在多維資料結構中,按照二維、三維進行切塊可得到所需資料。如在「機構、產品、時間」三維立方體中進行切塊和切片,可得到各城市、各產品的銷售情況。

旋轉**軸)是變換維的方向,即在**中重新安排維的放置(如行列互換),通過旋轉得到不同視角的資料。

二、多維資料模型的物理實現

olap多維資料模型的實現有多種途徑,其中主要有採用陣列的多維資料庫、關係型資料庫以及兩者相結合的方式,人們通常稱之為molap、rolap和holap。

1、多維聯機分析處理(多維資料庫管理系統)

多維聯機分析處理(molap)嚴格遵照庫德的定義,自行建立多維資料庫來存放聯機分析系統的資料,它以多維資料組織方式為核心,也就是說,多維聯機分析處理使用多維陣列儲存資料。

當利用多維資料庫儲存olap資料時,不需要將多維資料模型中的維度、層劃分和立方體等概念轉換成其他的物理模型,因為多維陣列(矩陣)能很好地體現多維資料模型特點。

利用陣列實現多維資料模型的優點,在於對資料的快速訪問,但同時也會帶來儲存空間的冗餘,即稀疏矩陣問題,進而導致對儲存空間的極大需求。

為了解決稀疏矩陣問題,某些產品提出了稀疏維(sparse)和密度維(dense)策略。由稀疏維產生索引塊,由密度維形成資料塊。只有當稀疏維的組合在交易事件初次發生時才建立索引塊,進而建立資料塊。稀疏維和密度維的引入在一定程度上降低了立方體的儲存冗餘問題。此外,通過資料壓縮技術可降低資料塊的儲存空間。

2、關係聯機分析處理(關聯式資料庫管理系統)

rolap以關聯式資料庫為核心 以關係型結構進行多維資料的表示和儲存,將多維資料庫的多維結構劃分為兩類表:一類是事實表,用來儲存資料和維關鍵字;另一類是維表,對每個維至少使用乙個表來存放維的層次、成員類別等維的描述資訊。維表和事實表通過主關鍵字和外關鍵字聯絡在一起,形成「星型模式」。對於層次複雜的維,為避免冗餘資料占用過大的儲存空間,可以使用多個表描述,這種星型模式的擴充套件稱為「雪花模式」。這種多維資料的表示方式能夠讓使用者以較簡單的方式了解這些資料,增加查詢效率,並對海量資料儲存空間有較少要求。

在星型架構架構中有乙個事實表和未經正規化的維表。

事實表有如下特性:

①大量的資料列,儲存容量可達到tbt;

②主要是數值資訊,只有少數的文字或者多**資訊;

③有和維表連線的外關鍵字;

④靜態資料和聚集資料。

維表中的資訊是對事實表的相應說明,它主要有以下特性:

①記錄數較少,可能只有上千或者上萬個記錄;

②大多為文字資料;

③資訊具有層次結構;

④只有乙個主鍵(primary key或dimension key);

⑤資訊可修改。

雪花架構是對星型架構的變形,它將星型架構下的維**經過正規化處理,使其能表現更豐富的資訊,也使得資訊處理更加靈活。

3、混合聯機分析處理

混合聯機分析處理(holap)利用多維聯機分析處理技術儲存上層彙總資料,利用關係聯機分析處理儲存細節資料,即低層是關係型的,高層是多維矩陣型的。這種方式具有更好的靈活性。

還有其他一些實現olap的方法,如提供乙個專用的sql server,對某些儲存模式(如星型、雪花型)提供對sql查詢的特殊支援。

三、儲存模式的比較和選擇

多維聯機分析處理的優勢不僅在於能清晰地表達多維概念,更重要的是它有著極高的綜合速度。在關聯式資料庫管理系統中,如果要得到某一地區的銷售總量,只能逐條記錄檢索,找到滿足條件的記錄後將資料相加。而在多維資料庫中,資料可以直接按行或列累加,其統計速度遠遠超過關聯式資料庫管理系統。資料庫中的記錄數越多,其效果越明顯。但是對多維聯機分析處理來說,隨著維度和維成員的增加,其儲存空間可能出現組合**。

關係聯機分析處理的儲存空間沒有大小限制,現有的關聯式資料庫的技術可以沿用,可以通過sql實現詳細資料與概要資料的儲存,現有關係型資料庫已經對olap做了很多優化,包括並行儲存、並行查詢、並行資料管理、基於成本的查詢優化、位圖索引、sql的olap擴充套件等,大大提高了關係聯機分析處理的訪問效率。相比較而言,關係聯機分析處理技術具有更大的可伸縮性。

在專案實施過程中,對olap產品和儲存模式的選擇應考慮企業資料量的大小、資料處理過程、訪問效率和價效比等多個方面。由於多維聯機分析處理訪問具有高效性,可以將企業應用的大部分聚集層資料以molap形式儲存;對有大量細節資料的應用,為防止立方體儲存空間過於膨脹,可考慮對於聚集資料以molap方式儲存;而對於原子資料可以以rolap方式儲存。molap儲存依靠多維資料集聚合的設計和百分比,提供快速的查詢響應能力。一般來說,molap比較適合於需要頻繁使用和快速查詢響應的多維資料集。rolap查詢響應通常比使用molap或holap的查詢響應要慢。rolap一般用於不經常查詢的大型資料集,如年份較早的歷史資料等。

對訪問彙總資料的查詢,holap與molap功能相同。對訪問基本資料的查詢,必須從關聯式資料庫中檢索資料,其速度不如將基本資料儲存在molap結構中快。用holap儲存的多維資料集比同等的molap多維資料集要小,而對於使用彙總資料的查詢,其響應比rolap多維資料集快。holap儲存一般適用於對基於大量基本資料的彙總進行查詢時,需要快速響應的多維資料集。

多維資料模型

在做biee的資料探勘之前必須了解一下的這些概念,前車之鑑,望各位志同道合之兄共勉之!所有的本人遇到的感覺重要的名詞解釋都使用使用紅色標記了。1.基本概念 資料倉儲和資料倉儲技術是基於多維資料模型的。這個模型把資料看做是資料立方體形式。多維資料模型圍繞中心主題組織。該主題用事實表表示,事實是數值度量...

資料倉儲的多維資料模型介紹

多維資料模型的定義和作用 為了滿足使用者從多角度多層次進行資料查詢和分析的需要而建立起來的基於事實和維的資料庫模型。其基本的應用是為了實現olap online analytical processing 通過多維資料模型的資料展示 查詢和獲取就是其作用的展現,但其真的作用的實現在於,通過資料倉儲可...

OLTP與OLAP 關係型資料與多維資料

oltp 聯機事務。是對關係型資料庫進行聯機查詢,簡單來說就是select語句,對多個關係表進行連線查詢直接得出報表。oltp對處理的都是二維的關係型資料庫表,用聯機事務把所需要的資料展示到報表上。olap 聯機分析。是對多維資料庫進行聯機分析處理。與oltp不同的是,oltp是整個資料中心的某個部...