为何需要资料仓储?
以往企业所使用的电脑系统,大多是以操作者为导向所设计的,很少考虑到主管的决策需要,例如系统中可能会有订单维护程式、订单列印程式、订单汇总表...等等,但是如果业务主管需要知道「这三年来台北市最畅销的五种产品为何?又各分店销售的占比是多少?」,系统可能无法立即提供这样的资讯,而需要找个程式设计师,花个3、5天才能产出这份报表。等下个需求出来时又要重新来一次,这种现象对MIS人员的资源非常浪费,对企业营运的决策又可能丧失先机。比尔盖兹在「数位神经系统」中提到企业在八十年代所著重的是品质,九十年代是企业再造,而在二千年之后则是速度,所以,电脑系统对于企业的决策支援,速度已经是个基本的要求。
有些企业的电脑化已经行之有年,在不同的时间、不同的地点,依照不同的需求开发出不同的系统,这些系统之间的整合也是MIS人员的梦魇,您可能为了一个临时的需求需要从Mainframe、Informix、Oracle、Dbase、COBAL Files这些不同的地方将资料找出来,然后整合在一张报表上,这种情况下做苦功不说,所取得资料的准确度也值得怀疑。所以企业极需要一个解决方案,能够解决资料整合与过滤的问题,并且能在最节省成本的情况下,以最快的方式取得所需的资讯,如果您也有这样的需求,资料仓储是目前唯一的选择。
资料仓储是什么?
先看看资料库之父Bill Inmon对于资料仓储的定义:「资料仓储是一个整合的、特定对象导向的资料库,专门设计来做决策支援系统(DSS),其资料与时间的关系特别地重要」﹔而资料仓储大师Ralph Kimball的定义是:「资料仓储是复制一些特定的资料,经过特别的设计后提供查询及分析使用」。所以,我们可以简单的说,资料仓储是将不同的资料来源经由复制、整理、转换、过滤后整合在一起,以利查询与分析统计。而建置资料仓储的目标是为了让用户能更快且更方便的取得他们所要的资讯,所以资料仓储只不过是为了达成目标的一个过程罢了。
资料仓储的应用
资料仓储的应用领域很广,除了可以用在各行各业的决策支援分析外,它也是顾客关系管理(CRM)中非常重要的一环;对于「关系行销」、「资料库行销」、「一对一行销」等行销分析也有很大的帮助;另外,在电子商务的领域上资料仓储对于个性化网页,个人行销也可发挥很大的功能。
(图一)是资料仓储架构的简图,企业内部的资料来自不同的平台,这些资料需要复制、整理、转换、过滤后整合在一起,这个动作可以透过ETL工具来完成,整合后的资料将储存在资料仓储之中,该资料仓储则必须能快速地处理大量的资料,并能允许大量的使用者查询,最后可以透过线上分析工具来即时地分析资料仓储中的资料。
跨异质平台转换利器
市场的快速变迁,经常迫使决策者必须即时作出关键性的决策,而这些决策仰赖于企业内许多相关的重要资料。但往往需要的资料被操作系统及外部资料库锁住,不易取得;或是需要太长的时间来撷取及分析。当务之急便是寻找一个单一资料仓储解决方案,从撷取到转换,自动简化困难和费时的程序,同时确保结果正确无误。
企业层级的资料仓储牵涉到资料的来源不同、容量庞大、复杂度高,而在整个资料撷取、转换、下载的过程中,常因为跨平台异质资料库而产生许多问题,因此在选择适当的工具和解决方案是非常重要的,基本上有几个程序及步骤。
1.撷取(Extraction)
需要从作业资料库、档案和外部资料来源(只要是适当的格式)获得资料仓储所需的资料,快速在短时间内撷取资料,可以是经由直接查询作业系统或镜射资料、报表、档案下载、交易记录、档案磁带、客户程式,以及诸如此类减少线上资料库可用度降低的方式。
2.转换(Transformation)
将来源资料,如作业系统和档案资料转换成一种适合分析和支援决策的型式。举例来说,等级性(levels)的作业资讯(如库存数)能被转换成事件(event)资讯(如收到数量及传送数量),该流程需要密码、解码、附加说明、并使粗细度(granularity)在相同等级(日/月/年和区域号码/乡镇/县市)等。当作业系统移到目标仓储,它能被聚合,创造储存价值给经常使用者使用的资讯。接着,使用者会经常要求附加的资料,您能轻易加上新储存的聚合,让使用者询问的结果快而有效率的呈现。
3.清除(Cleansing)
作业资料时常会出现垃圾或不正确的资料,例如:负面价值、会计平衡、拼字错误、旧的历史资料等。必需清除资料并重新整理以利分析,并先过滤无效的资料,修正错误,建立一贯性。即使中间资料已被检查,在必要情况下,该资料亦可被转换成以图形显示在仓储资料表上,或将栏位转换成相同资料型式。
4.整合(Integration)
当来源资料被清除或定义好之后,协助将资料对应到仓储目标资料库概要(schema)中,从数个资料库中整合重要资讯。例如:一个资料库建有客户的名称和地址,另一个资料库建该客户的存货数量,协助将这些栏位整合并连结到您的资料库中。这是整合阶段的成功及特殊之处。
5.载入(Load)
本项步骤必须将撷取、转换、清理及整合过之资料正确的、快速的载入资料仓储中,但需注意载入及更新目的端资料库方式,如先清除资料表(Table)再输入资料、只输入资料不清除、完全取代目前的资料或只更新目前的资料。
一般企业用户在建制资料仓储时均会选购此类产品或工具,来减少在建制或开发资料仓储时所花费的人力与时间的成本,根据Data Warehouse Institute 所作的统计调查,在资料仓储化的过程中约百分之八十的工作在datastaging(注)这个步骤,定义转换规则、开发转换程式、定期的排程、每日的维护工作。可是企业用户常常忽略这个步骤而导制资料仓储专案花费太多人力及开发时间过长,促使最终使用者反而得不到资料仓储的好处,最后导致资料仓储专案的失败。 Datastaging最主要的工作就是把最正确、最完整的资料用最迅速的方式喂到资料仓储中心,以利使用者容易且方便的取得资讯,协助做重要的商业决策。因此,ETL Tool在资料仓储中扮演后勤补给的角色,必须随时补充正确且足够的物资(data)至补给中心或粮草大本营(Enterprise Data Warehouse),前线的战士(end-user)才能利用物资(Information )作战(Business Decision)。兵书云「大军未动,粮草先行」,故要作资料仓储,先准备ETL Tool(图二)吧!
![《图二 ETL Tool在数据仓储中扮演后勤补给角色》](/art/2000/10/011129199546/IS2-P2.JPG)
《图二 ETL Tool在数据仓储中扮演后勤补给角色》 |
|
强而有力的资料仓储引擎
传统资料库注重交易的完整性,每一笔明细资料都很重要,以写入资料的观点来看,传统资料库必须有完整的交易控制能力(Transaction)、容错能力,而为了能在最短的时间内完成写入动作,在设计档案时会以ER-Model的方法,将档案的重复性减到最小,即所谓的Normalize,如此一来,资料库无论是在新增,修改或删除都能得到较好的效率。若从读取的观点来看,传统资料库必须能在最短的时间内(数秒内),找到使用者所需的资料,而且查询都比较单纯。传统的资料库为了能快速的新增、修改、删除及查询资料,它不会保存所有的历史资料,而是只储存有一定时限的资料。
资料仓储由于是用来做决策分析,它会有不同于传统资料库的特性,因为决策支援所需的查询往往较为复杂,而且必须从大量的资料中去归纳分析,所以一般会舍弃ER-Model的设计方式,而改用Star-Schema的方式来减少档案的Join数量;而由于常常需要提供决策者趋势的分析,资料仓储中必定储存大量的资料,所以,它必须有处理大量资料的能力。
结论
近年来,许多资料仓储厂商推出套装的「资料仓储(data warehouse)解决方案」、「资料超市(data mart)解决方案」,这是一个结合多种工具和技术的全功能端对端解决方案。虽然这些解决方案通常提供快速的配置和迅速的投资报酬(ROI)能力,但它们都欠缺了一项极为重要的特质,即弹性。造成此种缺憾的原因在于资料仓储乃是一个持续不断进展的流程,而非一个静态的专案计画。在企业分析师和决策者存取资料仓储以收集更多资讯的同时,整体企业的需求亦持续演变并发展得更为复杂。而这终究需要一个能以内建的弹性来迅速适应变动之需求的决策支援环境,这是企业选择资料仓储方案时必须考量的要点。