您现在的位置是:首页 > IT基础架构 > 软件与服务 >
数据仓库中联机分析处理技术的研究与开发
2009-11-10 18:27:00作者:邵玉祥 陈青来源:
摘要数据仓库是数据库技术的最新发展,联机分析处理(OLAP)是数据仓库的关健技术之一。本文讨论了数据仓库中联机分析处理技术,及其在雷达杂波数据仓库解决方案中的应用,并运用OLAP工具实现了快速、准确、有效的多维数据查询和灵活的多维报表愉出。 ...
一、引 言
数据仓库是近几年来信息领域中的技术热点,人们普遍认为它将是数据库技术的重要发展方向。由于传统的数据库应用系统是面向事务设计的,在查找业务的具体数据上非常有效,但在为决策者提供总结性数据时则显得力不从心。这就需要联机分析处理(OLAP)技术。OLAP是一项给数据分析人员以灵活、可用和及时的方式构造、处理和表示综合数据的技术。
二、联机分析处理(OLAP)
(一)基本概念
数据仓库是面向主题的、集成的、稳定的、随时间变化的数据集合。建立数据仓库的目的是为了满足企业信息分析与决策需求,更好的支持决策的制定。
联机分析处理(OLAP)与数据仓库有着密切的联系,它是数据仓库的验证型分析工具。它将分析决策所需的大量数据从传统的操作环境中分离出来,清理、转换成集成的、统一的信息,帮助决策者进行及时有效的分析、判断和预测,获取更多效益。
OLAP是建立在多维视图的基础之上,强调执行效率和对用户命令的及时响应,而且其直接数据源一般是数据仓库。它是一种软件技术,使分析人员、管理人员通过对信息的多角度、多侧面、多层次的观察,支持决策的制定。
(二)技术特点
1. Fast(快速性) 以相当固定的速度向用户提交信息。大多数查询可在5秒或更短时间内提交给用户。
2. Analysis(可分析性) OLAP系统能够处理与应用有关的任何逻辑分析和统计分析。用户无需过多编程就可以定义新的专门计算,将其作为分析的一部分,并以用户理想的方式给出报告。
3. Shared(共享性) 在大量用户之间实现潜在地共享秘密数据所必需的安全性需求。
4. Multidimensional(多维性) 多维性是OLAP的关键属性。系统必须提供对数据的多维视图和分析,包括对层次维和多重层次维的完全支持。事实上,多维分析是分析企业数据最有效的方法,是OLAP的灵魂。
5. Information(信息性) 不论数据量有多大,也不管数据存储在那里,OLAP系统均能及时获得信息,并且管理大容量信息。
(三)功能结构
OLAP的功能结构由数据存储服务、OLAP应用服务、用户描述服务组成的三层客户/服务器结构(如图1所示),复杂的应用逻辑集中存放在应用服务器上,由服务器提供高效的数据存储,安排后台处理及报表的预处理。OLAP服务器能加强和规范决策支持的服务工作,集中和简化原客户端和DW 服务器的部分工作,降低系统数据传输量,因此工作效率更高。OLAP服务器设计的重点在于如何组织数据仓库中的综合数据,如何满足前端用户的多维分析。
图1 OLAP的三层客户/服务器结构图
三、OLAP的多维数据结构
多维数据结构是数据仓库的一种存储结构类型。它是为了提高数据库的查询能力而设计的,其内部包含了等待分析的数据,并使用了数据维来分类数据。这种结构也可以称为立方体数据结构。多维结构里的数据资源既可以按星型结构分布,也可以按雪花型结构排列。
(一)维
一个立方体数据结构(Cube)是由很多数据维(Dimension,简称“维”)组成,每一维都表示某一类的数据。维就是相同类数据的集合。数据维里的数据都限制在某一问题所界定的领域之内。在Microsoft OLAP Service里的立方体数据结构可以包含1-64个数据维。在立方体结构(Cube)里至少要包含一个数据维,在一个数据维(Dimension)里又至少包含一个层次(Hierarchy),而一个层次又至少要包含一个级别(Level)。在每一个级别里,可以拥有多个成员(Member)。在事实表关键字与数据维成员交叉的地方,每一个成员至少有一个数据值出现在该位置上。
(二)度量
事实表成员的值被称为“度量”(Measure),它是进行数值分析时所要寻找的数量信息。度量应是具有数值性和可加性的。
从数据库的数据维表里直接获取的成员被称为输入成员(Inputm ember);从包含其他成员的表达式里得到的成员被称为导出成员(Calculated member)。后者是在运行中计算得到的,并且只有那些计算成员的表达式被存储在多维数据库里。一个导出成员既可以作为数据维成员(Dimension member),也可以作为度量成员(Measure member)。在系统中根据用户需求设计导出成员,能够有效提高系统的分析能力,完善系统功能。
(三)虚拟维
虚拟数据维不需要存储在计算机的硬件设备中。虚拟维在立方体中可以提供更多的维分析,因此,虚拟维的设计会减少立方体存储空间,但也会增加查询时间。虚拟维的设计使用户可以灵活地使用实际维的多重属性来减少维的多重显示。
多个立方体结构可以组合在一起,形成一个虚拟立方体结构供用户查询信息。在数据仓库里使用虚拟立方体结构,可以允许用户在多个结构里交叉访问信息,而用户无须建立数据仓库并把这些立方体结构存储到该数据仓库里。使用虚拟立方体数据结构既可以为用户提供所需信息,也可以节省磁盘空间。另外,虚拟立方体数据结构也可以用来提供一定级别的保密能力。
四、OLAP的实体存储策略
为了提高OLAP的执行成效(Performance),通常会事先产生一些集合(Aggregations)使得信息在存取时,经由这些事先产出的Aggregations,可获得较好的执行成效;而这些Aggregations的实体储存策略,对整体执行成效也有着很大的关联。通常可分为三种方式,分述如下:
(一)MOLAP即多维性(Multidimensional)的OLAP。MOLAP采取了对查询性能和存储空间进行优化的多维结构方式,来存储立方体结构里的数据和结构集合(Aggregations)。在这种模式下,NULL值不被存储,并且由于执行了存储空间的优化,数据在存储时都进行了压缩。因此,该模式的优点为反应时间较快,缺点为存储空间需求大,适合应用在使用频率高、量小且反应时间要求快的情况。可以用于离线状态,如LOCAL CUBE。
(二)ROLAP即关联性(Relational)的CLAP。使用数据仓库中的表格来存储集合(Aggregations),从相关的结构中收集数据。对立方体数据结构的存储,使用了标准的相关技术。该模式的优点是不需额外的存储空间存放信息,利用既存的资料仓储空间即可,缺点为反应时间较慢,较适合应用在不常使用且量大的情况,如历史性资料。
(三)HOLAP即混合性(Hybrid)的OLAP。在进行数据结构存储时采用了MOLAP和ROLAP的混合型架构。Aggregations储存于MOLAP架构中,数据则留在原数据仓库中,以相关结构存储。适用于在大量资料下,仍要求快速反应的情况。但不易用于离线状态。
五、雷达杂波数据仓库中OLAP设计方案
(一)需求分析
随着尖端电子技术的发展,用雷达系统所获取的杂波数据量越来越大,数据中隐含的信息越来越丰富,而且它的潜在价值更为重要;用普通的数据库技术来处理这些杂波数据已显得力不从心,无法快速、准确的提取所需信息。为此在雷达杂波原始数据的基础上,采取构建雷达杂波数据仓库的技术,设计并实现了基于雷达杂波数据仓库的OLAP系统。
(二)概念结构设计
概念结构是各种数据模型的共同基础,它比数据模型更独立于计算机,更抽象,从而更加稳定。描述概念结构的有力工具是E-R模型。雷达杂波数据仓库的E-R图(如图2所示)。
图2 雷达杂波数据仓库系统E-R图
(三)逻辑结构设计
雷达杂波数据仓库的关系图(如图3所示)。
图3 雷达杂波数据仓库关系图
(四)OLAP系统设计
为了对雷达杂波数据仓库中的数据进行有效的数据查询和应用,在已建成的雷达杂波数据仓库的基础上,我们设计并实现了其OLAP系统,这为实现客户端的数据访问、数据报表和分析功能奠定了坚实基础。实验研究表明,该OLAP系统性能优良,具有可扩充性和可维护性。雷达杂波数据仓库的OLAP系统设计了六个维数,分别为“采集地点”、“雷达型号”、“对象”、“概率分布”、“谱宽”、“雷达种类”,其中“雷达型号”维具有两个层次。同时还设计了三个共享维,即“采集时间”、“采集地点”、“雷达状态”,其中“采集时间”和“采集地点”采用星型模式,具有一个层次;雷达状态采用雪花模式,具有两个层次。
每个数据维表示某一类数据,它相当于一个平面,平面之间交叉形成切片。在OLAP系统中存在多个数据维,可以生成多个切片,能够从多个不同角度来体现立方体结构的事实表信息和分析数据。
度量为均值、方差、去自相关T、去互相关T、谱宽、谱偏度及谱峰度。为了可按概率分布进行统计,设计了度量维“概率分布统计”,可以实现度量值的计算,例如:MAX、MIN、SUM、COUNT。本系统的实体存储模式是HOLAP。
(五)客户端应用程序设计与实现
雷达杂波OLAP系统根据应用需要共设计了三个功能,分别为:数据浏览、数据查询、OLAP报表。三个功能相互独立,分别使用不同的控件,为设计雷达杂波OLAP系统奠定了基础。
1. 数据浏览使用了ADO和ADOM D对象模型进行服务器、数据仓库和立方体结构的连接。使用Visual Basic 6.0最新增加的控件CubeBrowers,利用该控件进行立方体数据的浏览。用户可以对维数及度量进行任意组合和选择。
2. 数据查询数据查询是浏览OLAP数据的另一个功能实现,运用多个MDX查询函数,从立方体数据结构(Cube)或虚拟立方体数据结构(Virtual cube)中访问所需数据。一旦得到了所需数据,接口程序就将这些有用的数据呈现给用户,以使用户更容易提取所需数据信息。数据遍历采用了MDX提供的一系列函数,如DrillUpMember ()、DrillDownMember (),这些函数可以通过其成员或级别上遍历或下遍历到指定的集。
3. OLAP报表该功能是根据雷达杂波OLAP系统中的数据实现数据报表。报表的行坐标、列坐标及数据区由用户自由选择、任意组合。该报表灵活、实用、方便、快速,且为多维报表,充分体现了OLAP系统的功能。该功能的实现采用了OLAP@Report控件,该控件是OLAP@Work系列工具中的一个实用工具。
六、结束语
OLAP是以多维数据为基础,可与用户进行交互和快速响应,用户积极参与分析过程,动态地提出分析要求、选择分析算法,对数据进行由浅及深的验证型分析工具。本文对数据仓库中OLAP,从理论、方法、实现等技术层面进行了较系统深人的研究,并且针对雷达杂波数据仓库进行了OLAP系统的开发,对以后数据仓库中数据的应用具有一定的指导意义。
(本文不涉密)
责任编辑:
上一篇:企业混搭:工具构建数据集成