📄 250.html
字号:
<STYLE type=text/css>
<!--
body,td { font-size:9pt;}
hr { color: #000000; height: 1px}
-->
</STYLE>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD><TITLE>精选文章 >> Oracle 专栏 >> OLAP及其多维数据分析</title>
</head>
<body >
<p><IMG SRC="../image/jsp001_middle_logo.gif" WIDTH="180" HEIGHT="60" BORDER=0 ALT=""></p>
<table width=100% bgcolor="#cccccc" align=center cellpadding="2" cellspacing="0" border=1 bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr bgcolor="#EFF8FF"><td>
<a href=http://www.jsp001.com/list_thread.php?int_attribute=2>精选文章</a>
>> <a href=http://www.jsp001.com/list_thread.php?forumid=20&int_attribute=2>Oracle 专栏</a>
>> OLAP及其多维数据分析 [<a href=http://www.jsp001.com/forum/showthread.php?goto=newpost&threadid=250>查看别人的评论</a>]<br>
<hr><p>由 webmaster 发布于: 2001-02-05 09:47</p><p><img src="images/icons/icon11.gif" alt="Red face" border=0> </p><p>国防科技大学系统工程与数学系 陈元 陈文伟 <br><br> 联机分析处理(OLAP)的概念最早是由关系数据库之父E.F.Codd于1993年提出的。当时,Codd认为联机事务处理(OLTP)已不能满足终端用户对数据库查询分析的需要,SQL对大数据库进行的简单查询也不能满足用户分析的需求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此Codd提出了多维数据库和多维分析的概念,即OLAP。 <br><br>一、OLAP的概念 <br> 根据OLAP产品的实际应用情况和用户对OLAP产品的需求,人们提出了一种对OLAP更简单明确的定义,即共享多维信息的快速分析。 <br><br>(1)快速性 <br><br> 用户对OLAP的快速反应能力有很高的要求。系统应能在5秒内对用户的大部分分析要求做出反应。如果终端用户在30秒内没有得到系统响应就会变得不耐烦,因而可能失去分析主线索,影响分析质量。对于大量的数据分析要达到这个速度并不容,因此就更需要一些技术上的支持,如专门的数据存储格式、大量的事先运算、特别的硬件设计等。 <br><br>(2)可分析性 <br><br> OLAP系统应能处理与应用有关的任何逻辑分析和统计分析。尽管系统需要事先编程,但并不意味着系统已定义好了所有的应用。用户无需编程就可以定义新的专门计算,将其作为分析的一部分,并以用户理想的方式给出报告。用户可以在OLAP平台上进行数据分析,也可以连接到其他外部分析工具上,如时间序列分析工具、成本分配工具、意外报警、数据开采等。 <br><br>(3)多维性 <br><br> 多维性是OLAP的关键属性。系统必须提供对数据分析的多维视图和分析,包括对层次维和多重层次维的完全支持。事实上,多维分析是分析企业数据最有效的方法,是OLAP的灵魂。 <br><br>(4)信息性 <br><br> 不论数据量有多大,也不管数据存储在何处,OLAP系统应能及时获得信息,并且管理大容量信息。这里有许多因素需要考虑,如数据的可复制性、可利用的磁盘空间、OLAP产品的性能及与数据仓库的结合度等。 <br><br>二、OLAP的多维数据概念 <br> 多维结构是决策支持的支柱,也是OLAP的核心。OLAP展现在用户面前的是一幅幅多维视图。 <br><br>1.维 <br> 假定某某是个百货零售商,有一些因素会影响他的销售业务,如商品、时间、商店或流通渠道,更具体一点,如品牌、月份、地区等。对某一给定的商品,也许他想知道该商品在哪个商店和哪段时间的销售情况。对某一商店,也许他想知道哪个商品在哪段时间的销售情况。在某一时间,也许他想知道哪个商店哪种产品的销售情况。因此,他需要决策支持来帮助制定销售政策。 <br><br> 这里,商店、时间和产品都是维。各个商店的集合是一维,时间的集合是一维,商品的集合是一维。维就是相同类数据的集合,也可以理解为变量。而每个商店、每段时间、每种商品都是某一维的一个成员。每个销售事实由一个特定的商店、特定的时间和特定的商品组成。 <br><br> 维有自己固有的属性,如层次结构(对数据进行聚合分析时要用到)、排序(定义变量时要用到)、计算逻辑(是基于矩阵的算法,可有效地指定规则)。这些属性对进行决策支持是非常有用的。 <br><br>2.多维性 <br> 人们很容易理解一个二维表(如通常的电子表格),对于三维立方体同样也容易理解。OLAP通常将三维立方体的数据进行切片,显示三维的某一平面。如一个立方体有时间维、商品维、收入维,其图形很容易在屏幕上显示出来并进行切片。但是要加一维(如加入商店维),则图形很难想象,也不容易在屏幕上画出来。要突破三维的障碍,就必须理解逻辑维和物理维的差异。OLAP的多维分析视图就是冲破了物理的三维概念,采用了旋转、嵌套、切片、钻取和高维可视化技术,在屏幕上展示多维视图的结构,使用户直观地理解、分析数据,进行决策支持。 <br><br>三、OLAP的多维数据结构 <br> 数据在多维空间中的分布总是稀疏的、不均匀的。在事件发生的位置,数据聚合在一起,其密度很大。因此,OLAP系统的开发者要设法解决多维数据空间的数据稀疏和数据聚合问题。事实上,有许多方法可以构造多维数据。 <br><br>1.超立方结构 <br><br> 超立方结构(Hypercube)指用三维或更多的维数来描述一个对象,每个维彼此垂直。数据的测量值发生在维的交叉点上,数据空间的各个部分都有相同的维属性。 <br><br> 这种结构可应用在多维数据库和面向关系数据库的OLAP系统中,其主要特点是简化终端用户的操作。 <br><br> 超立方结构有一种变形,即收缩超立方结构。这种结构的数据密度更大,数据的维数更少,并可加入额外的分析维。 <br><br>2.多立方结构 <br><br> 在多立方结构(Multicube)中,将大的数据结构分成多个多维结构。这些多维结构是大数据维数的子集,面向某一特定应用对维进行分割,即将超立方结构变为子立方结构。它具有很强的灵活性,提高了数据(特别是稀疏数据)的分析效率。 <br><br> 一般来说,多立方结构灵活性较大,但超立方结构更易于理解。终端用户更容易接近超立方结构,它可以提供高水平的报告和多维视图。但具有多维分析经验的MIS专家更喜欢多立方结构,因为它具有良好的视图翻转性和灵活性。多立方结构是存储稀疏矩阵的一个更有效方法,并能减少计算量。因此,复杂的系统及预先建立的通用应用倾向于使用多立方结构,以使数据结构能更好地得到调整,满足常用的应用需求。 <br><br> 许多产品结合了上述两种结构,它们的数据物理结构是多立方结构,但却利用超立方结构来进行计算,结合了超立方结构的简化性和多立方结构的旋转存储特性。 <br><br>3. 活动数据的存储 <br><br> 用户对某个应用所提取的数据称为活动数据,它的存储有以下三种形式: <br><br>(1)关系数据库 <br><br> 如果数据来源于关系数据库,则活动数据被存储在关系数据库中。在大部分情况下,数据以星型结构或雪花结构进行存储。 <br><br>(2)多维数据库 <br><br> 在这种情况下,活动数据被存储在服务器上的多维数据库中,包括来自关系数据库和终端用户的数据。通常,数据库存储在硬盘上,但为了获得更高的性能,某些产品允许多维数据结构存储在RAM上。有些数据被提前计算,计算结果以数组形式进行存储。 <br><br>(3)基于客户的文件 <br><br> 在这种情况下,可以提取相对少的数据放在客户机的文件上。这些数据可预先建立,如Web文件。与服务器上的多维数据库一样,活动数据可放在磁盘或RAM上。 <br><br> 这三种存储形式有不同的性能,其中关系数据库的处理速度大大低于其他两种。 <br><br>4.OLAP数据的处理方式 <br><br> OLAP有三种数据处理方法。事实上,多维数据计算不需要在数据存储位置上进行。 <br><br>(1)关系数据库 <br><br> 即使活动的OLAP数据存储在关系数据库中,采用在关系数据库上完成复杂的多维计算也不是较好的选择。因为SQL的单语句并不具备完成多维计算的能力,要获得哪怕是最普通的多维计算功能也需要多重SQL。在许多情况下,一些OLAP工具用SQL做一些计算,然后将计算结果作为多维引擎输入。多维引擎在客户机或中层服务器上做大部分的计算工作,这样就可以利用RAM来存储数据,提高响应速度。 <br><br>(2)多维服务引擎 <br><br> 大部分OLAP应用在多维服务引擎上完成多维计算,并且具有良好的性能。因为这种方式可以同时优化引擎和数据库,而服务器上充分的内存为有效地计算大量数组提供了保证。 <br><br>(3)客户机 <br><br> 在客户机上进行计算,要求用户具备性能良好的PC机,以此完成部分或大部分的多维计算。对于日益增多的瘦型客户机,OLAP产品将把基于客户机的处理移到新的Web应用服务器上。 <br><br>四、多维数据库 <br> 多维数据库(Multi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -