Database 版 (精华区)

发信人: rhine (有雨无风), 信区: Database
标  题: OLAP的多维数据分析 
发信站: 哈工大紫丁香 (2001年03月16日08:50:52 星期五), 站内信件

OLAP的多维数据分析 

 

国防科技大学系统工程与数学系 陈元 陈文伟 

 

------------------------------------------------------------------------
--------

 

____联机分析处理(OLAP)的概念最早是由关系数据库之父E.F.Codd于1993年提出的
。当时,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.旋转 

 

____通过旋转可以得到不同视角的数据。

 

--
           海纳百川,
                   有容乃大,
                           壁立千尺,
                                   无欲则刚。    

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: dip.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.959毫秒