数据仓库在企业的应用
无论是Wal-Mart式的锦上添花,还是Sears式的雪中送炭,信息技术毕竟是工具而已,成功还需要企业的管理者、员工协同努力以及良好的商业环境。不过,Wal-Mart和Sears应该都会承认这一点:数据仓库是很棒的工具,尤其对于那些积累了海量数据并且希望从数字矿山掘金的企业而言。
在Wal-Mart(沃尔玛)公司,销售数据、库存数据每天夜间从几千个商店通过卫星线路传到总部的数据仓库里。通过利用数据仓库对商品品种和库存进行分析,Wal-Mart可以研究顾客购买趋势、分析季节性购买模式、及时补充商品、确定促销商品。Wal-Mart的缔造者Sam Walton在他的自传《Made in America:My Story》对于数据仓库评价极高,可以说,数据仓库改变了Wal-Mart。
成立于1886年的美国Sears公司,上个世纪九十年代曾经濒临倒闭。而今,Sears却是美国第二大零售企业。力挽狂澜的过程中,数据仓库功不可没。Sears公司引入数据仓库以后,每天晚上从各种应用系统采集来各种数据,经条件分类后送入数据仓库中。Sears公司从数据仓库当中挖掘出几千万家庭的购买习惯,从而有的放矢地制定相应的销售、广告策略和促销计划。数字是最可靠的证据:借助数据仓库,Sears公司库存降低了60%。
诚然,无论是Wal-Mart式的锦上添花,还是Sears式的雪中送炭,信息技术毕竟是工具而已,成功还需要企业的管理者、员工协同努力以及良好的商业环境。不过,Wal-Mart和Sears都会承认这一点:数据仓库是很棒的工具,尤其对于那些积累了海量数据并且希望从数字矿山掘金的企业而言。
在某种程度上,引入数据仓库的企业还真像几百年前涌向美国西部的淘金者,他们渴望从庞大的矿山上找到闪闪发光的金块。但是,不是每个淘金者都能暴富,有的甚至到头来连致富都是“镜中花、水中月”。“知己知彼,百战不殆”,搞清楚数据仓库如何在企业应用以及自身企业的具体状况,是十分必要的。
您的企业适用吗?
当今世界,所有行业都面临激烈的竞争环境,及时做出正确决策是企业生存与发展的重要环节。随着竞争越来越激烈,利润的降低使得很多企业必须从粗放经营转变到集约经营。经营决策需要尽可能多的定量分析,而不是似是而非的定性分析;经营决策还需要尽可能快的速度,所有这些都需要技术上的支持。
ERP、CRM、OA等信息系统的广泛应用以及互联网的蓬勃发展,使得企业数据量激增,人们希望获得更高层次的数据分析能力。现在,大多数企业并不缺少数据,而是苦恼于海量数据以及数据的不一致性;随着数据量的增加,数据变得越来越难以访问、管理。如何把已有的海量数据转换成更有价值的商用信息,以便用于决策支持呢?数据仓库被广泛认为是最好的解决方案之一。
建立数据仓库的目的,是把企业的内部数据和外部数据进行有效集成,为企业众多的决策、分析人员所用。内部数据,是指通过企业业务系统收集到的数据,这些数据可能分布在不同的数据库和网络中,正在为不同的部门服务。比如对一个制造业用户来说,可能有财务数据、市场数据、销售数据、人事数据以及设备检修数据分布在不同的部门。如果这些数据是相对独立的,则不利于企业进行全面分析。外部数据,是指企业通过网络收集来的相关信息。数据仓库,就是要对这些数据进行结构重组,并且充分考虑今后的扩展性与外部数据的接口,使得企业数据资源实现更大的价值。
了解了数据仓库的用途,还要明白自身企业的状况,这才能称为“知己知彼”。你的企业是否可以引入数据仓库呢?对照一下,Sears公司数据仓库,存有几十亿条记录,其中包括几千个商店最近几年的销售数据和库存数据。Wal-Mart则存储了TB数量级的数据,这些数据包括各个商店前端设备(POS、扫描仪)采集来的销售数据和库存数据。数据仓库,需要足够庞大的历史数据积累,还要保证及时补充最新的业务数据。为此,你还要有一个性能良好的运算环境、存储环境以及网络环境做支持。当然,“足够庞大”这个词语对于不同规格的企业有不同的含义。谨慎规划,选择一个适当规模的数据仓库,不要设计出一个不切实际的庞然大物,那会成为你财政预算的黑洞。
数据仓库到底如何用?
金融、电信、保险、零售,这些都是数据仓库常见的应用行业。行业不同,具体应用形式差别也很大,这里我们只能探究其带有共性的部分。
借助数据仓库,企业能够从海量信息中探究寻数据与数据之间的关系。这种关系,一般显示数据组之间相似或相反的行为或变化。企业决策者,则有可能从这些发掘出来的关系得到启示;而这种启示又很可能使得决策者赢得竞争优势。例如,在开展促销活动的时候,电信运营商可以利用数据仓库找到需要特定服务的目标用户(例如有可能成为无线局域网用户的顾客),有针对性地对其进行宣传;这比传统方式采用的地毯式广告轰炸要高明得多。要知道,在午餐的时候收到一个不请自来的广告电话,宣传的却是跟自己毫无关系的服务,这会让很多人感到厌烦。
数据仓库的重要用途之一,就是生成报表。与传统的交互式数据库系统不同,数据仓库的使用者一般不可能更改数据,这使得利用数据仓库产生报表的时候可以“随心所欲”,不用担心破坏了数据的完整性。数据仓库还有一个明显的优势是,它的表都是为了快速响应而特别优化的。查询很多行的信息,往往也只是需要几分钟而已。如果你的职务要求你经常处理海量信息,数据仓库也许是你最好的报表工具。通过查询工具,你可以把数据仓库挖掘的信息导入到你的个人电脑中。数据本地化存储之后,你可以将其改造成你喜欢的格式。或者,你可以把查询结果导入到其它软件之中,例如Excel,以进行进一步加工。
针对不同层次的用户,数据仓库可以开发如下几种应用:
即席查询系统(Ad hoc query)
这是应用最普遍的一种查询,可以让用户随时获取所希望的数据。它能够提供从多个角度的灵活查询,适合于业务分析人员。
联机分析处理系统(OLAP)
能够提供灵活丰富的多维分析与查询环境,可以从不同角度去分析企业的运作情况,并对未来进行预测,主要适合企业中层领导以及业务分析人员。
领导信息系统(Executive Information System)
这是为那些不太熟悉计算机技术的领导人员设计的,需要以简单的图形界面来提供访问数据仓库能力。它能够提供易于定制的决策分析环境,主要适合企业高层决策者使用。
业务流程重整(Business Process Reengineering)
这是指利用数据仓库技术,改善企业业务流程中的某些工作,也是数据仓库的重要作用之一,著名的例子就是“尿布与啤酒”。
当然,一个完整的数据仓库系统,应该是综合了企业内部数据与外部数据,并可以提供以上诸多应用功能的系统。
回避常见陷阱
数据仓库这样的庞然大物,建设起来务必要小心。下面几个建议,涉及到建设数据仓库最常见的若干问题,也许可以助你一臂之力。
杀鸡别用宰牛刀
如果杀鸡用了宰牛刀,那不是宰牛刀的错误,只能怪罪操作者。Wal-Mart在数据仓库方面的成功毋庸置疑,但是,有几个企业具有Wal-Mart的规模呢?量力而行,这说起来简单,实际上却有很多人陷在了技术狂热之中。数据仓库是好技术,前提是你的企业引入的系统规模要合适。
建立一个数据仓库和成功建立一个数据仓库,还是有很大差距的。建立数据仓库时,有些项目规划者脑海里充斥着很多不切实际的目标,他们想要数据仓库实现的功能面面俱到,结果反而导致了失败。成功建立一个数据仓库,企业必须在规划时就充分地考虑到该数据仓库的规模、功能以及未来扩展情况。这些工作,有时不得不引入第三方的智力,比如有经验的咨询公司专业人员。
不要贪大求全
不要把所有能找到的数据都放到数据仓库中,凭借数据仓库,企业也并不能预知商务活动中所有的事情。不要把你能拿到的所有数据都一股脑扔入数据仓库。要保证关键信息的及时、准确,例如客户信息、产品信息、财政报表、人事信息,处理好这些信息比一味贪大求全要有意义。把无关紧要的数据都放到数据仓库中,很快就会导致过于庞大的数据库,响应缓慢、难于维护,这使得数据仓库华而不实,难以使用。
估计好数据量
“不要贪大求全”是定性分析,“估计好数据量”则更偏重定量分析。如果一个数据仓库刚刚投入使用就发现磁盘空间不够,那是会让人沮丧的。
与OLTP系统不同,数据仓库系统需要更大的临时空间用于排序操作和数据汇总;它也需要较大的缓存空间,用于驻留经常被访问的数据。估算数据量时要考虑如下因素:现有数据日、月、年的增长率;预计要保留多长时间的历史数据。一般情况下,数据空间=数据量估算×2,索引空间=数据量估算。
确保数据质量
估算了数据数量,我们再来关注一下数据质量。数据的抽取、转换和装载(ETL),是一项非常烦琐的工作,在系统实施过程中最好由专门小组或人员负责此项工作。不同业务系统的数据编码多半是不同的,统一编码常常是一项费时、费力的工作,要做好心理准备。此外,系统运行之后,必须制定一个行之有效的数据抽取时间和方式(前面提到的两家零售业巨头都是每天夜间为数据仓库补充各个零售店的业务数据),为系统不断补充合格的数据。
建设者、使用者共同参与
数据仓库并没有严格的数学理论基础,也没有成熟的基本模式,它更偏向于工程,具有强烈的工程性。因此,从立项那一天开始,就要树立这样的信念:这是一个建设者、使用者共同参与的项目。与电子邮件一类的系统不同,搭建数据仓库不是一个“水到渠成”的事情,“水到”之后还需要继续对“渠”进行改造。
表:oltp与olap的比较
oltp
olap
目标用户
操作人员、低层管理人员
决策人员、管理人员
常用功能
数据处理
分析决策
数据库设计方向
面向应用
面向主题
数据特征
当前的、最新的数据
历史的、聚集的数据
数据库存取模式
读/写数十条记录
读上百万条记录
数据库大小
100mb~gb
100gb~tb
构造数据仓库过程中,如果建设者、使用者之间没有良好配合,项目很难成功。搭建数据仓库是个反复的过程,这意味着项目难免犯错误。建设者与使用者良好合作,不一定能够减少错误的数目,但是一定可以减少错误的危害。一个典型的错误,就是把数据仓库交给一个项目组,数据仓库建立起来以后项目组就解散了。经验表明,项目完成后,还需要精心维护至少一年,根据使用者的反馈不断调整,这样才能获得较好效果。
发报表要有针对性
数据仓库的典型应用是生成报表,但是报表只有被真正利用起来,投资才会产生效益。如果为了表现信息系统多么有效,而定期给高层管理人员发厚厚一叠报表,这会使他们感到厌烦。更好的办法是了解他们的需求,在数据仓库中定义各种触发条件,有针对性地发报表。例如,当燃油价格上涨到一定高度以后,你也许可以给企业后勤部门领导一个报表;而医疗保险方面的变革则可以发给财务部门以及人事部门。
资料:OLTP与OLAP
企业常见的数据处理工作,大致可以分成两大类:OLTP(On-Line Transaction Processing,联机事务处理)和OLAP(On-Line Analytical Processing,联机分析处理)。
OLTP是传统关系型数据库的重要应用之一,主要是基本的、日常的事务处理,例如银行交易、电信计费。OLTP用短小和中等复杂程度的查询语句,读取或修改数据库中一个比较小的部分,数据访问方式是小的随机磁盘访问。在过去几十年中,OLTP主要是为生产自动化、办公自动化以及数据采集服务的。
OLAP的概念则是由关系数据库之父E.F.Codd于1993年提出的。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且可以提供直观易懂的查询结果。OLAP使得数据分析人员能够从多角度对数据进行快速、一致、交互地存取,从而获得对数据的更深入的了解。OLAP的目标是满足决策支持或者在多维环境下特定的查询和报表需求。