2003-02-09
摘要:短短几年之内,数据仓库已经从理论变成了一种常规实践,在这爆炸式的增长过程中,围绕着数据仓库已形成了一系列的思想理论。 短短几年之内,数据仓库已经从理论变成了一种常规实践,在这爆炸式的增长过程中,围绕着数据仓库已形成了一系列的思想理论。数据仓库从最初就不是理论上的探讨,而总是与实际应用密切相关。但是,正如数据仓库的惊人增长是必然的一样,有组织的、完整的智能框架也必然要求在基础设施和理论两方面都不断得到发展和完善。 智能框架包含很多方面,其中对基础设施极为重要的一个方面是:数据仓库各组成环节的数据质量。的确,各种形式的质量是数据仓库的基石之一,要想把数据仓库变成企业智能的基础,就必须实现数据质量。在不正确、不完备的数据基础上进行重要的公司决策,这简直是不可想象的。因此,企业智能的一个先决条件就是贯穿数据仓库环境的数据质量。 构建高质量的数据仓库/DSS环境_1:企业的信息工厂 在讨论数据仓库/DSS(决策支持系统)环境的数据质量之前,有必要先了解一下数据仓库环境及其基础设施的结构。 数据仓库基于一个单独的数据库,与事务处理分开,在此基础上形成一个复杂结构,可称为“企业信息工厂”。(见图一) 图 一企业信息工厂 企业信息工厂的数据来源是应用程序环境,在此对各种明细数据进行收集、核查、处理和存贮。应用程序是为各种特定需求编写的,应用程序环境的核心是事务处理,通常执行速度很快,仅对少量数据进行操作。 数据收集到应用程序环境中后,接下来将通过一个程序层对其处理,这个程序层称为“整合转换”层,这些程序对应用程序数据进行整合和转换,使其变成符合企业需要的格式。一个企业的整合转换程序通常是该企业在构建数据仓库时开销最大、投入最多的地方。 数据通过整合转换层后,接下来的流动方向有两个:数据仓库或ODS(运作数据存贮点)。 数据仓库接收的数据或者来自整合转换层,或者来自ODS。数据仓库是DSS基础设施的心脏,企业的各种整合数据最终就是存贮在这里,其中包含了历史数据,根据公司业务的具体需要,有时甚至可以是长达十几年的数据。数据仓库是企业数据存贮的唯一“真实来源”,也是对企业数据可能产生的矛盾进行调和的最终依据。数据仓库中几乎总存贮着大量的数据,而且数据量还在以惊人的速度不断增长着。 数据从数据仓库向多个方向发散,数据集市就是通过从数据仓库中选出所需的基本数据而建立起来的。数据集市反映了企业的部门视图:根据自身需要选择并生成基本数据,因此,数据集市比数据仓库要小得多,从而可以充分利用专业技术(如多维技术、立体技术等)。 数据仓库的另一个扩展方向是探测仓库,这是为企业探测者服务的,通过为其单独建立这样的设施,可避免对数据仓库常规工作的干扰,探测仓库环境中采用与之相适应的专门技术来提供服务。 企业信息工厂中还有另一个重要构成部分:近线存贮。近线存贮用于存贮大量非常用数据,这使数据仓库成本得以大幅降低。通过向企业信息工厂中引入近线存贮,设计师可将数据仓库中的数据量控制在尽可能低的水平上。 构建高质量的数据仓库/DSS环境_1:质量问题 那么,什么问题在建立及运作企业信息工厂时将出现? 这三个环节是: 1、 在数据来源即应用程序环境中进行数据清理 2、 当数据离开应用程序进入整合转换层时进行数据清理 3、 在数据装入数据仓库后进行数据清理 图 二 数据仓库环境中的三个质量环节 构建高质量的数据仓库/DSS环境_1:应用程序级的数据清理 初看起来,好象保障数据质量的最佳环节应在应用程序中,数据最初就是从此进入企业信息工厂的。的确,入口处的数据越清洁,企业信息工厂的状况会越好。一种理论认为,如果数据在应用程序层次上完全清洁了,那么在其它地方就不需要再进行类似工作,不幸的是,事实并非如此。 有几个令人头痛的因素决定了应用程序不可能成为数据质量的万能药。 第一个困难是应用程序本身的状况。许多情况下,应用程序是陈旧而缺乏支持文档的,应用程序编制者一般都不愿去回顾旧的程序代码,也不愿进行任何修改,这是出于这样一种顾虑:一个问题也许能得到解决,但同时会出现另外的两个问题。解决一个问题可能会引发一系列其它的问题,结果导致应用程序比修改前更糟。 使应用程序开发者不愿回顾旧代码的第二个原因是他们认为这样做没什么好处,应用程序开发者关注的是即时需求,他们认为,没有必要为了解决其他人的问题而回顾旧代码并进行修改,这关系不大,因而也就没有积极性,最终这就导致到底什么才是重要的、什么是不重要的之类的争论。因此,在应用程序层次上尝试进行某些改变,这牵涉到积极性和组织性的问题。 但是,就算可以在应用程序级上随心所欲地做任何想做的事,也仍需在企业信息工厂的其它地方进行数据清理。 就算应用程序数据已经完善了,也必须在整合转换层进行数据清理,这是因为应用程序数据尚未被整合。对于单个的应用程序开发者或用户来说,数据或许已经很完美了,但是存在于应用程序中的数据必须在跨越整个企业信息工厂的范围内进行整合,清理应用程序数据与整合应用程序数据间有着巨大的差别,只有当数据从应用程序中出来后才有可能、有必要进行数据整合,数据整合的第一个时机就是当数据进入整合转换层时。 构建高质量的数据仓库/DSS环境_1:整合转换层的数据清理 众多的应用程序将数据送入整合转换层,每个应用程序都有着自己对数据的理解,这是最初由应用程序设计者决定的。关键字、属性、结构、编码规则等在众多的应用程序中各不相同,但为了在数据仓库中得到整合数据,必须将这些应用程序的结构和规则整合成一套单一的、综合的结构和规则,这就在整合转换处理过程的存储方面出现了一个复杂任务。 众多应用程序间,不仅关键字、结构、编码规则不同,而且在很多情况下,不同系统中的数据间关系,与交叉系统本身一样,是难以测知的。历史信息通常包含自由定义的文本字段(如姓名和地址)、注释字段以及其它数据字段,其意义和关系在原始系统中并未加以说明,因而显得飘浮不定、难以捉摸。由于原始系统没有提供将所有相关记录链接起来的关键结构,数据关系或许就此被隐藏;姓名、地址、组件描述和会计代码等出现的数据异常也须予以校正;元字段定义间的不一致;当应用系统日益成为组织运作必不可少的一环时,却随着时间的流逝而漏洞百出,比如商用姓名与私人姓名混为一谈、地址中包含错误或不完整、使用特殊字符(例如分号)以及非法值和缩写等。 这些在应用程序数据中可能存在的数据质量问题,当对多个应用程序进行整合时将会翻倍出现,使最终数据仓库所提供的企业智能有效性蒙受巨大风险。 进行繁琐而困难的整合转换处理,其目的是为了得到整合数据。将众多应用程序整合到一起的流程必然是某种形式的数据清理,值得注意的是,这种形式的数据清理只有当数据已经传送出应用程序后才可能进行,因此,除了在应用程序中进行数据清理之外,还存在另一个数据清理环节。 当数据装入数据仓库后,这就是解决数据质量问题的第三个环节。 构建高质量的数据仓库/DSS环境_1:数据仓库中的数据质量 假设已经建立了完善的应用程序和完善的整合转换程序,那么在数据仓库中是否还需要数据质量功能?答案是肯定的。 首先,当新的应用程序数据添加到数据仓库环境中时,必须再次审查所有的整合转换层问题,而且,数据仓库中的新数据也可能带来更为隐蔽的异常和关系。 此外还有另一个重要原因,即数据仓库中收集的是某一时间范围内的数据,有时这个范围可长达10年。相应的问题就是,数据本身会随着时间的变化而变化,有时这种变化是缓慢而细微的,而有时这种变化则是迅速而剧烈的,不管属于何种情况,数据将随着时间变化而变化是毫无疑问的。由于存在这种变化,则在数据已装入数据仓库后仍须对其不断进行整合。 图 三 数据仓库中,数据随着时间变化不断被装入 因此,就算数据在应用程序和整合转换程序中已经很完善了,也仍需在数据仓库中不断检查数据质量。 图四显示了随时间流逝而发生的一些常见变化。在这个例子中,直到1998年前使用的都是一种会计标准图表,到了1998年后,该公司开始采用SAP,使用了新的会计图表,如果利用数据仓库中1995到1998的会计数据来得到图表的话,其结果将非常容易造成误解,同时也是很不准确的。 另一个例子中,1998年之前的资金计量单位是本地货币,但到了1998年,资金计量单位变成了欧元,如果希望对1995到1998年进行现金分析的话,这是非常困难的,因为数据的潜在意义已经不同了。 图 四 随时间变化而引起数据的根本变化 因此,就算数据质量在其它地方已经完善了,由于数据年龄问题,在数据进入数据仓库后仍须再次进行数据清理。 未完待续 浏览:构建高质量的数据仓库/DSS环境(下)
|
信息化软件应用目录 OA 办公自动化系统
CRM 客户关系管理系统
PM 项目管理系统
SCM 供应链管理系统
CC 协同商务系统
BPM 业务流程管理
BI 商务智能
CMS 内容管理系统
KM/KBS 知识管理系统
电子商务系统
HRM 人力资源管理系统
ERP 企业资源计划
EAM 企业资产管理系统
|