导航

OLAP查询分析工具

Posted on 2005-04-15 21:46  poleax81  阅读(1923)  评论(0编辑  收藏  举报

为了解决大型企业虽然拥有大量业务数据但难以及时有效的提取经营管理者所需要的信息这一问题,数据仓库技术应运而生。如何有效的组织大量数据,维护数据的一致性,方便用户访问,这只是数据仓库技术的一个方面。

数据仓库技术的另一个方面是如何为经营管理人员提供有效的使用信息,使他们能够使用数据仓库系统,对企业的经营管理作出正确的决策,从而为企业带来经济效益。要达到这个目的,就要借助OLAP技术。

OLAP技术主要通过多维的方式来对数据进行分析、查询和生成报表,它不同于传统的OLTP处理应用。OLTP应用主要是用来完成用户的事务处理,如民航订票系统和银行的储蓄系统等,通常要进行大量的更新操作,同时对响应的时间要求比较高。而OLAP系统的应用主要是对用户当前的及历史数据进行分析,扶助领导决策,其典型的应拥有对银行信用卡风险的分析与预测和公司市场营销策略的制定等,主要是进行大量的查询操作,对时间的要求不太严格。

目前常见的OLAP主要由基于多维数据库的MOLAP和基于关系数据库的ROLAP。在数据仓库应用中,OLAP一般是数据仓库应用的前端工具。同时,OLAP工具还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析的功能。

一、OLAP特征

OLAP是一种软件技术,它使分析人员、经理及管理人员通过对信息的多种可能的观察角度进行快速、一致和交互的存取获得对信息的深入理解。这些信息是从原始数据专员而来,放映了用户所能理解的企业的真实数据“维”。OLAP特征可以分为以下几个方面:

(1)提供数据的多维概念视图。数据的多维视图使最终用户能从多角度、多层次和多侧面考察数据库中的数据,从而深入的理解包含在数据中的信息及其内涵。

(2)快速响应用户的分析请求。

(3)分析功能。这是指OLAP系统可以提供给用户强大的统计、分析和报表处理功能。

(4)共享特性。这是指OLAP系统应有很高的安全性。例如,当多个用户同时向OLAP服务器写数据时,系统应能在适当的粒度级别商家更新锁。

(5)信息性。这是指OLAP系统分析所需的数据及导出的有用信息。

OLAP的这5个特征从另一个角度定义了OLAP应用系统的概念。OLAP的结构应该是一种多用户的3层客户机/服务器结构。这种结构的优点在于将应用逻辑、GUI和DBMS严格区分开来。复杂的应用逻辑不是分布于网络上的众多PC上,而是集中存放在OLAP服务器上。有服务器提供高效的数据存储,安排后台处理以及报表预处理,它由数据源(数据仓库或OLAP数据库组成)、OLAP服务器、OLAP客户端和客户端应用软件组成。

二、 选择OLAP工具

目前对OLAP工具的分类标准不太统一,大致上,可以分成多维数据库工具(MOLAP)、关系型数据库工具(ROLAP)和桌面型数据库工具。支持多维数据库工具的是多维数据库,而不是传统上的关系型数据库,也就是说,所谓数据库工具的核心是其数据存储不采用传统关系模型所使用的记录及表等方式,而采用矩阵(多维矩阵)方式来存储数据。由于多维数据库工具是一类新兴的工具,出现的时间还不是很长,所以到目前为止还没有统一的标准模型,没有统一的标准数据访问方法和应用编程接口。

市场上已经有很多厂商推出了功能比较晚上的多维数据库产品,但是这些产品质检所遵循的技术规范、体系结构等都有很大的差异,各家产品自成一家,各具特色,各有各自的开发环境。虽然每家产品都具有自己的多维数据库,但是否使用多维数据库几乎都是可选的,因为这些产品都可以使用关系型数据库来作为自己的数据存储机制,如果使用关系型数据库来存储数据,则需要作相应的数据转换工作,所以需要一定的额外的开销。由于现在UNIX服务器上的躬行能关心数据库服务器技术已经非常成熟,所以这种额外开销也就常常是无足轻重的。

对于ROLAP工具来说,使用关系型数据库来进行多维数据分析早在10年前就开始了,而且相关的技术和产品也发展得很快。由于许多厂商都看好这个市场,因而这类工具的产品比较丰富。美国数据仓库工程研究所的Neil  Raden 博士曾经提出,只有同时满足以下5个条件的工具才能称为是一个关系型OLAP工具。

(1)有一个强有力的SQL生成器,能创建包含多重选择和相关子查询的复杂SQL查询程序,足以胜任各种分析计算。
(2)能根据目标数据库进行SQL优化,如果目标数据库支持SQL的扩展,能充分用其提供的这些扩展。
(3)提供通过元数据描述数据模型的机制,并实时使用这些元数据来创建查询。
(4)为系统管理人员提供监测系统性能的机制。
(5)能够根据把应用程序分布到客户机、服务器及中间层(应用服务器)等多个层次的需要,具有在各个应用部件上管理数据库访问的能力。

就目前市场上已有的产品而言,能够完全满足以上5点要求的产品为数不多,但许多产品基本符合这些要求。事实上,由于关系型数据库是目前数据库业的主流产品,而OLAP又是一个迫切的用户需求,所以,许多厂家都在关系型数据库的基础上开发了配套的OLAP工具。

与多维数据库工具相比,关系型OLAP工具在数据库层次上有标准的关系模型和标准的数据访问方式及其编程接口,工具与数据库的互联性较好,而且,由于关系型数据库技术相对比较成熟,应用面很广,因此,在今后的一段时间内,关系型OLAP工具将作为OLAP工具的一个主流市场。目前许多主要的关系型数据库厂商通过并购等方式兼并了一些规模较小,但技术比较先进的小型OLAP工具厂商,其目的就是吸收这些小厂商的先进技术,在关系型数据库服务器引擎中增加多维分析的能力,全面推出技术先进的关系型OLAP工具。由此预见,在关系型OLAP工具方面,将会出现兼容并蓄,互相渗透的局面。

桌面型OLAP工具是指在微机环境下开发的支持简单多维分析的用户工具,这些工具没有自己的数据存储,而把用户提交的查询翻译成对数据源的查询,然后从数据源中提取结果数据,并将这些结果数据合成最终的结果返回给客户。没有自己的数据存储是这类工具与以上两种工具的最大区别。目前在市场上有一些比较简单的基于局域网的支持多维数据分析处理的工具,它们多是基于单用户,规模较小。这些工具的功能和可用性都比较好,但主要问题是所支持的应用规模有限,而不能完全支持OLAP的所有特性。这些产品都使用某种机制支持用户的多维数据视图,能与多个关系型数据库系统相连。但由于所有的查询都必须转换为向数据源的直接查询,因此制约了处理的数据规模,从而对数据模型的维度数目有一定的限制。这些工具基本上是供个人小规模使用的工具,不能适应大型企业数据分析的需要。

在数据仓库工程中如何选择合适的工具,使工程技术人员和经营管理人员经常面临的难题,在选择OLAP工具时,一般应从产品的功能、适用性、性能、可伸缩型和未来的发展趋势5个方面综合考虑。从总体来说,这5个方面的重要性难分伯仲,但是应该注意以下几点:

● 虽然功能是最引人注目和最显而易见的方面,但是由于产品和技术发展更新更快,某个版本的产品在功能上的领先往往是短期的;
● 在数据仓库工程实践中,客户的需求往往是不稳定的,会随着工程项目的进展而发生变化,因此,产品的适应能力非常重要;
● 性能需要根据项目的实际需求和能获得投入等条件权衡取舍。从这个角度上看,性能一定程度上取决于投入;
● 从长远来看,适用性、可伸缩性和未来发展趋势是3个非常重要的因素;
● 从功能方面来看,如果要选择的是多维数据库产品,则应该注意产品对维度数的限制、跨维度的处理能力、数据汇总计算能力和数据的读写处理能力等方面,如果选择关系型数据库产品,则要注意其提供多维数据视图的能力、多维分析能力、对数据量的限制和对并发访问用户数量的限制以及维度交换能力等方面。

一般说来,如果应用的规模比较大,数据量很大,数据仓库工程覆盖整个企业范围,那么应该尽可能的考虑采用关系型OLAP产品工具。这是因为一方面关系型OLAP工具的技术比较成熟,另一方面关系型工具能与企业现有的关系型生产数据库结合得比较好。

从适用性方面看,一个产品是否在一个企业中使用取决于一系列因素:

(1)工具的使用是否需要专门深入的培训是一个很重要的问题。特别是那些功能比较 完善,规模比较大的工具,企业能否为其成立一个专门小组,花比较长的时间和            精力学习使用工具,这是企业必须考虑的。

(2)考虑工具所支持的体系结构与企业目前的体系结构是否一致。
(3)考虑企业的网络是否能满足工具对网络负荷的要求。
(4)企业是否计划进一步发展Internet/Intranet,工具是否支持。
(5)工具所支持的应用连接方式是否与企业的内部标准一致,这关系到这些工具能否与企业其他应用系统有机集成。

在性能方面,一定要从数据仓库工程项目本身的需要出发考虑候选工具的性能,不能仅凭公共媒体的若干评测标准而轻易下结论,公共媒体的评测往往与工程项目的实际情况有一定的距离,不一定能适应实际工程需要,只能起到参考作用。在性能取舍上,要坚持可行性原则,量入为出,根据工程投入来确定性能需要,不能一味片面追求高目标。

要根据实际应用环境,充分考虑可伸缩性的要求,如果使用大型关系型数据库,一般都有比较好的可伸缩性,但是,要特别注意边界情况,即在什么情况下,系统的性能会急剧恶化。任何系统的可伸缩性都会有边界,边界并不可怕,但要充分论证工程项目的应用需求会不会落在候选工具的可伸缩性边界上,一定要避免这样的情况发生。

一旦选定了一种产品,在一定的时间内,就相对稳定的使用这种产品,否则,将严重影响到工程项目的效益和进展。同时,必须充分考虑产品的未来发展趋势,它在很大车高难度杀功能取决于生产厂商的前途。因此,要全面考察厂商的技术条件、产品战略、发展方向及市场前景等多个方面,产品的未来发展趋势是一个软指标,但是非常重要。

总之,对工具的选择要综合权衡,十分慎重。

数据仓库工具与关键技术探讨