OLAP的多維資料分析

2021-04-13 06:51:43 字數 4054 閱讀 1336

聯機分析處理(olap)的概念最早是由關聯式資料庫之父e.f.codd於2023年提出的。當時,codd認為聯機事務處理(oltp)已不能滿足終端使用者對資料庫查詢分析的需要,sql對大資料庫進行的簡單查詢也不能滿足使用者分析的需求。使用者的決策分析需要對關聯式資料庫進行大量計算才能得到結果,而查詢的結果並不能滿足決策者提出的需求。因此codd提出了多維資料庫和多維分析的概念,即olap。 

一、olap的概念

根據olap產品的實際應用情況和使用者對olap產品的需求,人們提出了一種對olap更簡單明確的定義,即共享多維資訊的快速分析。

(1)快速性

使用者對olap的快速反應能力有很高的要求。系統應能在5秒內對使用者的大部分分析要求做出反應。如果終端使用者在30秒內沒有得到系統響應就會變得不耐煩,因而可能失去分析主線索,影響分析質量。對於大量的資料分析要達到這個速度並不容,因此就更需要一些技術上的支援,如專門的資料儲存格式、大量的事先運算、特別的硬體設計等。

(2)可分析性

olap系統應能處理與應用有關的任何邏輯分析和統計分析。儘管系統需要事先程式設計 ,但並不意味著系統已定義好了所有的應用。使用者無需程式設計就可以定義新的專門計算,將其作為分析的一部分,並以使用者理想的方式給出報告。使用者可以在olap平台上進行資料分析,也可以連線到其他外部分析工具上,如時間序列分析工具、成本分配工具、意外報警、資料開採等。

(3)多維性

多維性是olap的關鍵屬性。系統必須提供對資料分析的多維檢視和分析,包括對層次維和多重層次維的完全支援。事實上,多維分析是分析企業資料最有效的方法,是olap的靈魂。

(4)資訊性

不論資料量有多大,也不管資料儲存在何處,olap系統應能及時獲得資訊,並且管理大容量資訊。這裡有許多因素需要考慮,如資料的可複製性、可利用的磁碟空間、olap產品的效能及與資料倉儲的結合度等。

二、olap的多維資料概念

多維結構是決策支援的支柱,也是olap的核心。olap展現在使用者面前的是一幅幅多維檢視。

1.維維有自己固有的屬性,如層次結構(對資料進行聚合分析時要用到)、排序(定義變數時要用到)、計算邏輯(是基於矩陣的演算法,可有效地指定規則)。這些屬性對進行決策支援是非常有用的。

2.多維性

olap通常將三維立方體的資料進行切片,顯示三維的某一平面。如乙個立方體有時間維、商品維、收入維,其圖形很容易在螢幕上顯示出來並進行切片。但是要加一維(如加入商店維),則圖形很難想象,也不容易在螢幕上畫出來。要突破三維的障礙,就必須理解邏輯維和物理維的差異。olap的多維分析檢視就是衝破了物理的三維概念,採用了旋轉、巢狀、切片、鑽取和高維視覺化技術,在螢幕上展示多維檢視的結構,使使用者直觀地理解、分析資料,進行決策支援。

三、olap的多維資料結構

資料在多維空間中的分布總是稀疏的、不均勻的。在事件發生的位置,資料聚合在一起,其密度很大。因此,olap系統的開發者要設法解決多維資料空間的資料稀疏和資料聚合問題。事實上,有許多方法可以構造多維資料。

1.超立方結構

超立方結構(hypercube)指用三維或更多的維數來描述乙個物件,每個維彼此垂直。資料的測量值發生在維的交叉點上,資料空間的各個部分都有相同的維屬性。

這種結構可應用在多維資料庫和面向關聯式資料庫的olap系統中,其主要特點是簡化終端使用者的操作。

2.多立方結構

在多立方結構(multicube)中,將大的資料結構分成多個多維結構。這些多維結構是大資料維數的子集,面向某一特定應用對維進行分割,即將超立方結構變為子立方結構。它具有很強的靈活性,提高了資料(特別是稀疏資料)的分析效率。

一般來說,多立方結構靈活性較大,但超立方結構更易於理解。終端使用者更容易接近超立方結構,它可以提供高水平的報告和多維檢視。但具有多維分析經驗的mis專家更喜歡多立方結構,因為它具有良好的檢視翻轉性和靈活性。多立方結構是儲存稀疏矩陣的乙個更有效方法,並能減少計算量。因此,複雜的系統及預先建立的通用應用傾向於使用多立方結構,以使資料結構能更好地得到調整,滿足常用的應用需求。

許多產品結合了上述兩種結構,它們的資料物理結構是多立方結構,但卻利用超立方結構來進行計算,結合了超立方結構的簡化性和多立方結構的旋轉儲存特性。

3. 活動資料的儲存

使用者對某個應用所提取的資料稱為活動資料,它的儲存有以下三種形式:

(1)關聯式資料庫

如果資料**於關聯式資料庫,則活動資料被儲存在關聯式資料庫中。在大部分情況下, 資料以星型結構或雪花結構進行儲存。

(2)多維資料庫

在這種情況下,活動資料被儲存在伺服器上的多維資料庫中,包括來自關聯式資料庫和終端使用者的資料。通常,資料庫儲存在硬碟上,但為了獲得更高的效能,某些產品允許多維資料結構儲存在ram上。有些資料被提前計算,計算結果以陣列形式進行儲存。

(3)基於客戶的檔案

在這種情況下,可以提取相對少的資料放在客戶機的檔案上。這些資料可預先建立, 如web檔案。與伺服器上的多維資料庫一樣,活動資料可放在磁碟或ram上。

這三種儲存形式有不同的效能,其中關聯式資料庫的處理速度大大低於其他兩種。

4.olap資料的處理方式

olap有三種資料處理方法。事實上,多維資料計算不需要在資料儲存位置上進行。

(1)關聯式資料庫

即使活動的olap資料儲存在關聯式資料庫中,採用在關聯式資料庫上完成複雜的多維計算也不是較好的選擇。因為sql的單語句並不具備完成多維計算的能力,要獲得哪怕是最普通的多維計算功能也需要多重sql。在許多情況下,一些olap工具用sql做一些計算,然後將計算結果作為多維引擎輸入。多維引擎在客戶機或中層伺服器上做大部分的計算工作 ,這樣就可以利用ram來儲存資料,提高響應速度。

(2)多維服務引擎

大部分olap應用在多維服務引擎上完成多維計算,並且具有良好的效能。因為這種方式可以同時優化引擎和資料庫,而伺服器上充分的記憶體為有效地計算大量陣列提供了保證。

(3)客戶機

在客戶機上進行計算,要求使用者具備效能良好的pc機,以此完成部分或大部分的多維計算。對於日益增多的瘦型客戶機,olap產品將把基於客戶機的處理移到新的web應用伺服器上。

四、多維資料庫

多維資料庫(multi-dimesional database,mdd)可以簡單地理解為:將資料存放在乙個n維陣列中,而不是像關聯式資料庫那樣以記錄的形式存放。因此它存在大量稀疏矩陣,人們可以通過多維檢視來觀察資料。多維資料庫增加了乙個時間維,與關聯式資料庫相比,它的優勢在於可以提高資料處理速度,加快反應時間,提高查詢效率。

目前有兩種mdd 的olap產品:基於多維資料庫的molap和基於關聯式資料庫的rolap。r olap建立了一種新的體系,即星型結構。

mdd並沒有公認的多維模型,也沒有像關係模型那樣標準地取得資料的方法(如sql、 api等)。基於mdd的olap產品,依據決策支援的內容使用範圍也有很大的不同。

在低端,使用者使用基於單使用者或小型lan的工具來觀察多維資料。這些工具的功能性和實用性可能相當不錯,但由於受到規模的限制,它們不具備olap的所有特性。這些工具使用超立方結構,將模型限制在n維形態。當模型足夠大且稀疏資料沒有控制好時,這種模型將會不堪一擊。這些工具使用資料庫的大小是以mb來計量的,而不是以gb計量的,因此只能進行唯讀操作,且具備有限的複雜計算。

在高階,olap工具用4gl提供了完善的開發環境、統計分析、時間序列分析、財政報告、使用者介面、多層體系結構、圖表等許多其他功能。儘管不同的olap工具都使用了它們自己的多維資料庫,但它們在不同程度上也利用了關聯式資料庫作為儲存**。因為關聯式資料庫和olap工具同時在高階伺服器上處理,所以速度和效率仍然很快。

純多維資料庫引擎也被開發出來。儘管這些工具缺乏4gl及充分的開發環境,但卻有比高階mdd工具所使用的資料庫更為複雜的資料庫。這些工具也具有統計分析、財務分析和時間序列分析等功能,並有自己的api,允許其對前端的開發環境開放。

mdd能提供優良的查詢效能。儲存在mdd中的資訊比在關聯式資料庫中的資訊具有更詳細的索引,可以常駐在記憶體中。mdd的資訊是以陣列形式存放的,所以它可以在不影響索引的情況下更新資料。因此mdd非常適合於讀寫應用。

五、oalp的多維資料分析

1. 切片和切塊

在多維資料結構中,按二維進行切片,按三維進行切塊,可得到所需要的資料。如在" 城市、產品、時間"三維立方體中進行切塊和切片,可得到各城市、各產品的銷售情況

2.鑽取

鑽取包含向下鑽取和向上鑽取操作, 鑽取的深度與維所劃分的層次相對應。

3.旋轉

通過旋轉可以得到不同視角的資料。

OLAP及其多維資料分析

聯機分析處理 olap 的概念最早是由關聯式資料庫之父e.f.codd於1993年提出的。當時,codd認為聯機事務處理 oltp 已不能滿足終端使用者對資料庫查詢分析的需要,sql對大資料庫進行的簡單查詢也不能滿足使用者分析的需求。使用者的決策分析需要對關聯式資料庫進行大量計算才能得到結果,而查詢...

多維資料分析基礎

多維資料分析是指按照多個維度 即多個角度 對資料進行觀察和分析,多維的分析操作是指通過對多維形式組織起來的資料進行切片 切塊 聚合 鑽取 旋轉等分析操作,以求剖析資料,使使用者能夠從多種維度 多個側面 多種資料綜合度檢視資料,從而深入地了解包含在資料中的資訊和規律。多維資料分析以資料倉儲為基礎,按照...

輕量級OLAP資料分析工具發布

分析工具詳細介紹 基本資訊 使用者的資料展示需求是多種多樣的,我們的分析工具不能100 的滿足所有的展示需求。但是我們希望通過我們的分析工具的20 的 來滿足使用者資料展示的80 的需求,同時我們對剩下20 的需求提供自定義介面,允許使用者進行自定義開發。我們的分析工具是一套輕量級基於統計資料的資料...