OLAP产品毁了商业智能

gaoguoren

贡献于2011-08-28

字数:0 关键词: 数据挖掘

OLAP 工具毁了商业智能 以下文章,是我从 98 年开始研究并从事 BI 项目以来 10 年的心得,仅供参考!!! 什么是 OLAP (Online Analytical Processing): 关系数据库(RDB)之父 E.F.Codd 博士于 1993 年提出了 OLAP 的概念,用来处理在 RDB 中用 SQL 语句无法解决的问题。 它被定义为在多维模型的基础上(多维分析)上,企业活动所需的高效高速的数据分析处 理。 z 企业活动所需的数据分析往往是具备以下特点 ・ 商品销售趋势是・・・ ・ 预算的实际使用情况・・・ ・ 与去年相比较・・・ ・与地区和季节的相关性・・・ z 做分析工作的人(最终用户)往往是数据库外行管理者、市场营销部、销售部、财务部等 OLAP 是在多维模型里运用三种分析方法进行多方面分析的一种处理。多维模型有三个 分析轴的情况下,形成骰子(Cube)的形状。掷骰子(dice)的话,骰子的表面内容会变 化。再把骰子切片(slice),就能看见横断面。进而对某个行或列的内容进行细化(drilldown)。 OLAP 相关的基本用语 数据仓库(DWH) 它是从业务系统数据库独立出来的信息处理应用程序专用数据库。它的特点是可支持原 始数据、多年历史数据、应用程序中立数据模型,(大多数情况下)支持多个主题。 数据集市(DM) 用于某种特殊目的上,面向信息处理应用程序的数据库。 可操作数据存储 (ODS) 辅助数据仓库用的业务交易存储数据库。及时性高,但其历史数据是最少的。 商业智能(BI) 这是最终用户为主导的分析应用程序。包括 OLAP (多维分析) 、EIS (经营者信息系统)、 传统 DSS (决策支持) 应用程序等。 OLAP (联机分析处理) 提供多维数据分析(对多维模型上的数据进行统计)。虽然是 BI 的重要组成因素,但 BI 和 OLAP 不是相同的意思。 数据挖掘(Data Mining) 以计算方法为主导的分析应用程序。他被称作 Knowledge discovery (知识发现),分为 以数据为对象的数据挖掘和以文本为对象的文本挖掘。 ETL (Extract, Transformation and Load) 从业务系统的数据源收集数据,在应用层进行转换或整合后加载到数据仓库的一种处 理。 目前 OLAP 工具实施 BI 项目的最大困惑 用户期望 OLAP 产品达到如下效果:减轻 IT 部门的负担,能以最终用户为主体,持续、 发展地进行信息的灵活运用。 但是非常可惜的是,目前业内流行 OLAP 工具在实现 BI 的时候是以 IT 部门过重的负担 为代价来为最终用户提供方案的。而现代企业的经营要求往往给 IT 部门带来新的滞后因素, 那么它将无法走到最终的成功: z 无法全部满足最终用户的需求。 z 如果无法为最终用户提供充分的所需数据,OLAP 工具将失去它存在的意义。 因此 OLAP 工具的期望在于企业信息的运用,需要 IT 部门和最终用户这两个车轮子转 动才能前进。 为什么说目前的 OLAP 产品毁了 BI 项目 企业为了确定经营战略和市场战略所进行的经营活动,在分析决策过程(BI 项目)中, 需要基于多种报告和报表进行分析。理想的市场活动展开,大多需要各个营业点的销售报表, 每种商品按季节销售的业绩图表等,这就势必需要大量准确的并且易于判断的数据。这些数 据所形成数据表和图表就是我们所说的报表,在 业中更是需要有效利用这样的报表进行分 析决策活动。 然而,对于作为使用者的一般员工或者 IT 部门员工来说,是一个很大的工作量负担。 因为数据的分析需要先获得必要的数据信息,这就必须预先知道数据采集和数据加工计算的 方法。当然,还有必要掌握数据库构成和数据存取语言的一些专门的知识。 因此这些工作 以前全都是经由 IT 部门人员用 OLAP 产品来完成的。信息管理部门要根据用户的要求把报 表格式设计好,然后根据用户的目的开发出应用程序以及建立数据库等来完成这项工作。 OLAP 报表工具是指什么? 在报表市场上,有一个奇特的现象:IT 部门的技术人员是企业所有部门中最不熟悉使用 报表工具的部门人员,但报表的数据来源来自 IT 部门,IT 部门往往利用 OLAP 的概念建设 数据模型,根据数据模型来制作报表,因此对 IT 部门而言,报表工具是指 OLAP 工具中的 报表展现部分,比如 Crystal Report 等等。 而在使用报表操作的业务人员眼里,报表工具是代表报表本身功能((排版,计算,统计, 图形等)的产品,这种产品目前只有一个产品来代表了,就是 EXCEL!! 目前 OLAP 报表产品最大的难点在哪里? 其实一张报表的制作,首先需要获得必要的数据信息,这就必须预先知道数据采集和数据 加工计算的方法,就是数据模型。当然,还有必要掌握数据库构成和数据存取语言的一些专 门的知识。 而这些工作以前全都是经由 IT 部门的技术人员来完成的。IT 部门要根据业务 部门的要求把报表格式设计好,然后根据业务部门的目的来制作报表以及建立数据模型等来 完成这项工作。 因此,目前报表工具最大的难点不在于报表的样式(如斜线等),样式虽较繁琐但并非本 质困难。最根本的难点在于业务部门知道报表代表的真正含义,却不知道报表的数据统计模 型模型;而 IT 部门通过理解业务部门的描述,在数据库端进行设置数据统计模型,却对报 表本身所代表的价值很难理解。 这样的现状,导致目前报表工具无法两者兼顾,OLAP 报表工具产品一直在数据模型设 计层面(OLAP 层面)和报表本身功能(排版,计算,统计,图形等)做出平衡。 目前 OLAP 报表产品制作复杂报表一般会有什么症状? 首先由于 IT 部门创建的数据统计模型不完全适应,导致经常报表制作需要编写代码准备 数据(如几十甚至上百行的 SQL 或存储过程),而且动辄就要进行繁琐的子表拼接,即使这 样仍有许多报表无法完成而需与用户商量改变,而且运算性能很差; 其次由于 IT 部门根据业务部门进行报表制作时,对报表样式理解不专业,大部分报表采 用拖拽式编辑,使报表样式绘制麻烦。 最后,业务部门报表的变化很频繁,导致 IT 部门模型设计和报表制作的滞后,业务部门 工作受限且浪费。 因此,在目前 OLAP 产品的设计下,BI 项目要么变成日常统计系统,因此业务模型来 自于咨询专家,企业发展过程中业务模型的变化因为 OLAP 工具的原因无法快速实现,使 企业目前对 BI 的信心丢失,可以毫不夸奖的说,目前 OLAP 的产品正在毁掉 BI。 OLAP 错了还是用户错了? 这是一个困惑,!!其实我们再从 E.F.Codd 博士定义的 OLAP 概念找一找这个困惑的答 案,OLAP 是由关系数据库之父 E.F.Codd 于 1993 年提出的一种数据动态分析模型,它允 许以一种称为多维数据集的多维结构访问来自商业数据源的经过聚合和组织整理的数据。以 此为标准,OLAP 作为单独的一类产品同联机事务处理(OLTP)得以明显区分。 有点深奥是不是?其实并不复杂,OLAP 最基本的概念其实只有三个:多维观察、数据 钻取、CUBE 运算。 多维角度 我们在平时工作中,会遇到各种问题,在分析问题的时候,同样的现象,我们会从多个 角度去分析考虑,并且有时候我们还会从几个角度综合起来进行分析。这就是 OLAP 分析 最基本的概念:从多个观察角度的灵活组合来观察数据,从而发现数据内在规律。 OLAP 将数据分为两种特征,一种为表现特征,比如一个销售分析模型中的销售额、毛 利等;还有一种为角度特征,比如销售分析中的时间周期、产品类型、销售模式、销售区域 等。前者是被观察的对象,OLAP 术语称之为“度量数据”,后者为观察视角,OLAP 术语称 之为“维数据”。 如果建立这样一个模型,我们就可以根据业务需求,从产品类型角度去观察各个销售地 区的销售额数据(以产品类型和销售地区为维、以销售额为度量);或者我们还可以从销售 模式的角度去观察各个销售地区的销售额数据(以销售模式和销售地区为维、以销售额为度 量)。 数据钻取 在分析过程中,我们可能需要在现有数据基础上,将数据进一步细化,以获得更为精确 的认识。这就是 OLAP 中数据钻取的概念。 比如,在销售分析中,当我们以产品类型和销售地区为维、以销售额为度量进行分析的 时候,可能希望进一步观察某类产品的不同销售模式在各个销售地区的表现,这时我们就可 以在产品大类这个数据维下面,再加上一个销售模式维,从而获得相应的信息。 CUBE 运算 我们可以想像, OLAP 分析所需的原始数据量是非常庞大的。一个分析模型,往往会 涉及数百万条、数千万条、甚至更多;而分析模型中包含多个维数据,这些维又可以由浏览 者作任意的提取组合。这样的结果就是大量的实时运算导致的时间延滞。我们可以设想,一 个对于 1000 万条记录的分析模型,如果一次提取 4 个维度进行组合分析,那么实际的运算 次数将达到 4 的 1000 次方的数量:这样的运算量将导致数十分钟乃至更长的等待时间。如 果用户对维组合次序进行调整,或者增加减少某些维度的话,又将是一个重新的计算过程。 从上面分析,我们可以得出结论,如果不能解决 OLAP 运算效率问题的话,OLAP 将 是一个毫无实用价值的概念。那么,作为一个成熟产品是如何解决这个问题的呢?这就是 OLAP 中一个非常重要的技术:数据 CUBE 预运算。 一个OLAP 模型中,度量数据和维数据我们应该实现确定,一旦两者确定下来,那么 我们可以对数据进行预先的处理,在正式发布之前,将数据根据维进行最大限度的聚类运算, 运算中会考虑到各种维组合情况,运算结果将生成一个数据 CUBE,并保存在服务器上。这 样,当最终用户在调阅这个分析模型的时候,就可以直接使用这个 CUBE,在此基础上根据 用户的维选择和维组合进行复运算,从而达到实时响应的这么一个效果。 从以上 OLAP 三点基本概念,我们可以在实践中发现问题的所在,OLAP 概念没有错, 用户也没有错!!错在目前业内的 OLAP 产品的设计思路上,从目前的 OLAP 产品来看,由 于“多维角度”变化的由来是来自于用户部门,而 IT 部门采用的 OLAP 产品使“多维角度” 转化成数据库设计了,但是为了实现“CUBE 运算”,使“度量数据”和“维数据”需要提 前固化,这样限制了业务部门对“多维角度”快速变化的要求。这样使 BI 项目变成了日常 统计报表项目,使 OLAP 分析变得无法实现。 OLAP 产品需要改变---新一代 OLAP 工具 那么,我认为理想的 OLAP 产品就是提供合适的解决方案,既能减轻 IT 部门的负担, 也能让最终用户灵活运用信息。 新一代 OLAP 工具设计的思想,不应该关注报表工具本身功能(排版、统计、图形、 计算等等),应该是 IT 部门不要来制作报表,仅关注 OLAP 的功能,不需要做 OLAP 的报 表展现,报表完全由业务部门来实现!!!主要基于以下 2 点: 1, 从桌面报表的使用能力和使用量来描述,业务部门的人员已经远远超过 IT 部门 的人员,因此,IT 部门目前不太可能提供出一个报表工具来取代业务部门使用 的桌面报表工具。 2, 报表本身的含义需要业务部门的精湛的业务知识来诠释,而如果报表由 IT 部门 来制作的话,会出现知识传递过程中的误差,因此,这是目前 OLAP 实施中最 大的问题。 基于以上 2 点,新一代 OLAP 工具设计思想就是如何使 OLAP 工具和 Excel 报表工具能够无 缝交流,应该有一个“分析角度”的技术来实现业务部门和 IT 部门对“多维角度”的各自 表述。让业务部门自己来做“分析角度”,自己来做报表,让 IT 部门利用 OLAP 概念来设 计基础数据。 新一代 OLAP 工具与传统 OLAP 工具的比较 新一代 OLAP 工具 传统 OLAP 工具 高效制作各种报表 业务部门快速制作报表,并转入 Excel IT 部门制作 自由设定分析视角 5W1H 的分析角度技术(分析角度自由 设计到数据列),由业务部门自由设 计。 很多工具都没有,唯一 有一家公司利用语意层 实现(分析角度只能到 数据行),一定需要 IT 部门设计。 与 Excel 等 OA 报表无 缝连接 强 一般 强大的时间序列处理 时间模板型(系统提供,并用户自定 义) 无 库存型、流动型数据的 处理 强 一般(需要手工合并) 钻取与切片 是 是 数据分析能力 强 强 内存计算(SQL 语句不以 JOIN 为连接 的统计) SQL 语句基本以 JOIN 为 连接 支持数据库高性能的 统计 支持 64 位平台 支持 64 位平台 业务部门关注点 自由制作报表样式,自主定义分析角 度 定期关注报表结果 IT 部门关注点 企业分析角度和基础数据的关系 时刻更新业务部门对报 表样式和分析角度变化 带来的系统变化 关于报表工具和新一代 OLAP 工具的差异 新一代 OLAP 工具 报表工具 报表对企业的重要性认识 强 强 报表应该谁制作 业务部门 IT 部门 报表应该谁使用 业务部门 业务部门 业务部门使用的报表工具选 择 EXCEL 报表工具本身 IT 部门使用的报表工具选择 无(IT 部门不制作报表,就 不用选择) 报表工具本身 对 OLAP 工具的能力 强 弱 对报表工具功能的能力 Excel 的功能 与 Excel 工具比较

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 20 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档

相关文档