【IT168 技术】一、数据仓库联机分析技术之引 言
面对企业经营管理中存在的大量数据,如何有效地组织海量数据,维护数据的一致性,从中发现潜在的商机,这是企业管理者非常关心的问题。数据仓库技术可以为经营管理人员提供有效的使用信息,使他们能够使用数据仓库系统,对企业的经营管理做出正确的决策,从而为企业带来经济效益。要达到这个目的就要借助联机分析(OLAP)技术。
OLAP技术主要通过多维的方式来对数据进行分析、查询和生成报表,它不同于传统的联机事务处理(OLTP)应用。OLTP应用主要是用来完成用户的事务处理,如火车订票系统和银行的储蓄系统等,通常要进行大量的更新操作,同时对响应的时间要求比较高。而OLAP系统的应用主要是对用户当前及历史数据进行分析,辅助领导决策,其典型的应用是对银行信用卡风险的分析与预测和公司市场营销策略的制定等等。
二、数据仓库联机分析技术之联机分析工具及系统结构
OLTP应用需求推动数据库技术的发展,OLTP处理最迫切的技术要求就是快速响应。然而,随着应用需求的不断提高,OLTP已不能满足高级用户对数据库查询分析的需求,更多的是对决策支持系统的需求。支持决策的核心任务是进行数据、信息的分析并归纳出对企业有益的结论。
因此,联机数据分析处理(OLAP)技术就成为新的应用需求。目前常见的OLAP主要由基于多维数据库的MOLAP和基于关系数据库的ROLAP。在数据仓库应用中,OLAP一般是数据仓库应用的前端工具。同时,OLAP工具还可以与数据挖掘工具、统计分析工具配合使用,增强决策分析的功能。
1.联机分析特征
联机分析处理(OLAP)是一种软件技术,它使分析人员及管理人员通过对信息的多种观察角度进行快速、一致和交互的存取获碍对信息的深人理解。这些信息是从原始数据而来,反映了用户所能理解的企业的真实数据“维”。
OLAP特征可以分为以下几个方面:首先提供数据的多维概念视图,数据的多维视图使最终用户能从多角度、多层次和多侧面考察数据库中的数据,从而深入地理解包含在数据中的信息及其内涵;其次是快速响应用户的分析请求;第三是分析功能,这是指OLAP系统可以提供给用户强大的统计、分析和报表处理功能;第四是共享特性,这是指OLAP系统应有很高的安全性;第五是信息性,这是指OLAP系统分析所需的数据及导出的有用信息。
2.联机分析系统的体系结构
OLAP的结构应该是一种多用户的3层客户机/服务器结构。这种结构的优点在于将应用逻辑、GUI和DBMS严格区分开来。复杂的应用逻辑不是分布于网络上的众多PC上,而是集中存放在OLAP服务器上。有服务器提供高效的数据存储,安排后台处理以及报表预处理,它由数据源(数据仓库或OLAP数据库组成)、OLAP服务器、OLAP客户端和客户端应用软件组成。
三、数据仓库联机分析技术之OLAP中的关键技术探讨
1.多维数据模型
多维数据模型是数据仓库的基本数据结构。在多维数据模型中,一部分数据是数字测量值(如销售额、投资额、支出额等),它们是依赖于一组“维”,而所有“维”提供了全部测量值的上下文关系。例如销售额与城市、产品名称和销售的时间有关,这些相关的“维”惟一决定了销售额这个测量值。因此,多维数据视图就可以表示为在这样一些由不同层次的“维”构成的多维空间中存放的数字测量值。
2.多维数据模型的缺陷
多维数据模型为业务决策者提供了明显优于传统信息系统的好处,但并不是所有的数据仓库都能采用多维数据模型。多维数据模型的最大缺陷是多维空间的巨大浪费。与关系数据库中的记录不同,多维数据模型中无论是否含有数据,都会形成单元,结果,多维数据库中的很多单元都是空单元。
尽管多维数据模型为业务决策者提供了理想环境,但由于一定的局限性还是阻止它们在许多环境中的推广使用。多维分析的另一个解决方案是星型架构,星型架构的优势在于它可以以一种简单的结构方式来展示复杂的多维结构。星型架构实际上是关系环境下的多维模式。
3.星型架构
较多的数据仓库都采用“星型架构”来表示多维概念模型。数据库中至少包括一张“事实表”,“事实表”中的每条记录都包含有指向各个“维表”的外键和一些相应的测量数据,即数据值。对于每一维都有一张“维表”,“维表”中记录的是有关这一维的属性。
在星型架构中,将单维的维表与另一个维表连接,这样就构成了关系数据库中的多维分析空间,这个多维空间的核心就是事实表。维表关键字是事实表关键字的一个组成部分,数据仓库中的关键字应使用系统生成的代理关键字,而不是直接使用操作型数据库的关键字,这是由数据仓库的稳定性所决定的。
4.星型架构和多维数据模型的比较
星型架构中有两个基本的表类型:维表和事实表。维表的主关键字是事实表中的外部关键字。每一个表都很好地包括了前面提到的多维数据模型中的基本元素。维表是多维数据模型的维,是轴。事实表的数据值是多维数据模型中的单元。
通过提供关系数据库之类的多维分析空间,星型架构克服了多维数据库存在的不足。在相同的维数下,星型架构占据的空间明显少于多维数据模型占据的空间。多维数据模型不管是否有用,都将产生一个单元,而星型架构只在需要记录事实的时候才产生一个事实记录。如特定的月份,经销商并没有销售其经营的商品,则就不会产生相应的记录。
对业务决策者来说,星型架构中令人感兴趣的部分是事实表。这就是数据所处的区域。为了访问事实表中的数据值,必须通过确定维才能实现。多维数据模型和星型架构的维是进入点。当进行多维数据模型的处理时,通过详细说明维的数据(坐标)访问单元。
我们定义了事实表中令人感兴趣的一些字段,事实表记录业务的行为,而任何处理均从维开始。对于采用星型架构的业务决策者来说,在多维环境下工作的好处同样是存在的。在多维世界里,通过旋转多维空间体,改变观察方向,在星型架构中,通过改变事实表关键字的排列顺序,可以得出其某个数据值的相应排序。
四、数据仓库联机分析技术之选择OLAP工具
目前对OLAP工具的分类标准不太统一,大致上,可以分成多维数据库工具(MOLAP)、关系型数据库工具(ROLCP)和桌面型数据库工具。支持多维数据库工具的是多维数据库,而不是传统上的关系型数据库。由于多维数据库工具是一类新兴的工具,出现的时间还不是很长,所以到目前为止还没有统一的标准模型,没有统一的标准数据访问方法和应用编程接口。
1.关系型OLAP工具特征
市场上已经有很多厂商推出了功能比较完善的多维数据库产品,但是这些产品遵循的技术规范、体系结构等都有很大的差异,各有各自的开发环境。美国数据仓库工程研究所的Neil Raden博士曾经提出,只有同时满足以下5个条件的工具才能称为是一个关系型OLAP工具:
(1)有一个强有力的SQL生成器,能创建包含多重选择和相关子查询的复杂SQL查询程序,足以胜任各种分析计算。
(2)能根据目标数据库进行SQL优化,如果目标数据库支持SQL的扩展,能充分用其提供的这些扩展。
(3)提供通过元数据描述数据模型的机制,并实时使用这些元数据来创建查询。
(4)为系统管理人员提供监测系统性能的机制。
(5)能够根据把应用程序分布到客户机、服务器及中间层(应用服务器)等多个层次的需要,具有在各个应用部件上管理数据库访问的能力。
就目前市场上已有的产品而言,能够完全满足以上要求的产品为数不多,但许多产品基本符合这些要求。事实上,由于关系型数据库是目前数据库行业的主流产品,而OLAP又是一个迫切的用户需求,所以,许多厂家都在关系型数据库的基础上开发了配套的OLAP工具。
2.选择多维分析工具需要注意的问题
在数据仓库工程中如何选择合适的工具,是工程技术人员和经营管理人员经常面临的难题,在选择OLAP工具时,一般应从产品的功能、适用性、性能、可伸缩型和未来的发展趋势5个方面综合考虑。从总体上来说,这5个方面的重要性难分伯仲,但是应该注意以下几点:
(1)虽然功能是最引入注目和最显而易见的方面,但是由于产品和技术发展更新很快,某个版本的产品在功能上的领先往往是暂时的。
(2)在数据仓库工程实践中,客户的需求往往是不稳定的,会随着工程项目的进展而发生变化,因此,产品的适应能力非常重要。
(3)系统性能需要根据项目的实际需求和获得投入等条件权衡取舍,从这个角度上看,性能一定程度上取决于投入。
(4)从长远来看,适用性、可伸缩性和未来发展趋势是3个非常重要的因素。
(5)从功能方面来看,如果要选择的是多维数据库产品,则应该注意产品对维度数的限制、跨维度的处理能力、数据汇总计算能力和数据的读写处理能力等方面;如果选择关系型数据库产品,则要注意其提供多维数据视图的能力、多维分析能力、对数据量的限制和对并发访问用户数量的限制以及维度交换能力等方面。
如果应用的规模比较大,数据量很大,数据仓库工程覆盖整个企业数据范围,那么应该尽可能地考虑采用关系型OLAP产品工具。这是因为一方面关系型OLAP工具的技术比较成熟,另一方面关系型工具能与企业现有的关系型数据库结合得比较好。
要根据实际应用环境,充分考虑可伸缩性的要求,如果使用大型关系型数据库,一般都有比较好的可伸缩性。一旦选定了一种产品,在一定的时间内,就相对稳定地使用这种产品,否则,将严重影响到工程项目的效益和进展,所以对工具的选择要十分慎重地综合权衡。