数据仓库能为你当前数据库体系的不足做些什么?(2) 联机分析处理(OLAP)将DSS带入更高的层次。OLAP是一个分析处理技术,它从企业的数据集合中收集信息,并运用了数学运算和数据处理技术。这些信息,可以灵活、交互式地提供统计、趋势分析和预测情况。OLAP用户希望OLAP(如企业数据系统)在保持原有优势,如快速访问、并发性和一致性的同时,还能具有DSS分析的强大功能,目标是怎样快速有效地获得企业数据。虽然OLAP很可能与OLTP处理共享数据来源,但OLAP在本质上与OLTP和DSS系统都不相同。你努力建立一个数据仓库,并按照需求,从中获取和选择(或挖掘)数据。也就是说,数据必须是可访问的,按照灵活的模式组织,并且可以修改(替换)。这些方面不是偶然出现的,它要求全企业人员的大量努力和合作。对大型公司来讲,正在进行的最复杂的工作,可能要算是对数据仓库体系的设计和应用了。用户们新的关注焦点是:他们想显示系统中的信息,而不仅仅是访问数据。虽然有些人可能仍旧把数据仓库看作与运行数据库基本相同,但数据仓库在设计过程中,一直贯穿着访问、分析和报表的思想。因此,数据仓库在用户检索时,比DSS系统更易于优化。这样,将产品与仓库中的数据分开。但这些只能到此为止,它必须保持灵活性。这一类信息,可通过下述工具得到:Business Objects公司的Business Objects Brio Technology的BrioQuery和Cognos的PowerPlay,等等;此外,Sybase的S-Designer 6.0将具备数据仓库设计的功能。多维数据库OLAP系统必须是灵活的、能按非预定的方式访问数据,还必须交互地创建报表。问题的关键是如何表达以下内容:复杂数据查询、寻找(发掘)趋势、总结、评价和关系。"假如"查询,就象在使用电子表格软件时常常见到的,是一项基本技术。其它如"为什么"或"怎样"等,也同等重要。这些查询通常与另一些变量一同使用,用于限定信息的上下文。查询的例子,可以与产品类型、时间段或地点有关。由于使用了这些分析变量,就给数据带来了多维性。在分析时,这些变量的不同取值,会产生出相关的不同对比信息。预测也是处理的一部分。在分析生成之后,用户可以向下挖掘,查看更为详细的信息,它们是整体的子集,向上移动,则可以显示分析的上一个层次。数据仓库数据仓库是由一个或多个应用,和一个用于分析和报表的数据库组成的系统。此数据库从其它数据源中得到数据。通常先有一个对数据库数据的载入工作,然后定期地进行数据快照或逐步更新。数据仓库创建的数据,面向主题,完全一致,将为重要的商业决策提供所需信息。数据仓库服务器提供了对其中数据的访问。用于分析和生成报表的应用,可以定制编写,也可以购买(我推荐使用Cognos Impromptu和PowerPlay)。数据收集和积累工具也有现成产品,且这一市场将不断扩展。构筑数据仓库构筑数据仓库所需的开发小组成员,要求既有技术知识又有商业知识,这样就可以同时具有自上而下和自下而上的全面了解。数据仓库涉及到的方面有:数据集(包括历史)、设计(数据模型)、文档和数据库维护。数据仓库还要求定义系统的元数据(在下节中讲述),以及考虑数据分布(开发应用及购买工具。)如果有多个数据源,那么数据集合的维护工作将会极为困难。每个数据源,都可能有不同的格式、平台、标准、含义、历史影响和标志。在不同数据源,甚至在一个源中,也可能出现同一对象的多个实例。数据经常是不完整的,或是经过编程修补的。你必须了解并记录下所有细节。建立数据仓库的努力,通常会是一个持续数月的大工程,甚至可能几年。当你的目标还不十分清楚的时候,你最好先猜测一个方案,按照它建立模型数据仓库,然后在这个模型上运行各种工具,以检查最初的要求是否正确。对模型的测试,应既有一般情况,又有特殊情况,通过这一步骤,你就可以发现各个工作都是什么,以及在企业中它们是如何起作用的。你要访查用户,特别是那些真正了解数据及数据源的人。最终的系统,可能要求创建报表、某些特殊工具,甚至可能开发新的应用。但在任何情况下,你的职责都是为用户提供数据和工具。从本质上讲,对数据仓库的访问,应主要是只读操作,有时也可能将某些分析存放在数据仓库中。它必须按时更新,以反应用户的要求及数据源数据的变化。因此,出现了新的维护问题:检查、重新生成和删除分析记录。生产数据需要在数据仓库中不断更新,而仓库中的数据,也需要向业务方面或部门复制。首先,你必须定义最初数据仓库系统的范围,从理解得最好的部分开始,一定要有一个分析人员作助手。许多分析人员在部门数据库上发展数据仓库。这些数据库已被透彻理解,重新建立模型的时机也已成熟。