数据仓库技术及应用

2011-04-07 14:42赵运红
黑龙江工业学院学报(综合版) 2011年10期
关键词:快照联机数据仓库

赵运红

数据挖掘技术的核心模块已经历了几年的发展,包括机器学习、人工智能、数理统计。现在,广泛的数据集成结合具有高性能的关系数据库引擎,加上这些成熟的技术,使数据挖掘技术进入实用阶段变得可能。如何建立数据仓库,并将其应用到实践是一个值得探讨的问题。

一 数据仓库概念

数据仓库的概念最早是由美国著名学者W.H.Inmon提出的。在作为标准参考书《Building the Data Warehouse》中,他给数据仓库下的定义是:“Subject-oriented,integrated,time - variant,nonvolatile collection of data to support management decision - making process”。[1]主题可以理解为数据仓库研究的对象,比如客户、经销商、商品和销售部门等,数据模型和对数据的分析是所要关注的对象。集成是为了确保命名约定、编码结构和属性度量的一致性。主要的技术有数据清理和数据集成等。要建立数据仓库,必须对数据进行加工和集成,这是在数据进入数据仓库之前的关键步骤,包括将初始数据中互相抵触的部分统一起来,将初始数据在结构上加以改变,以符合数据仓库中对象面向主题的要求。区别于维护数据库产生的日志数据,数据仓库中数据的特征是反映历史,对于进入数据仓库中的数据很少甚至根本不得修改,这是数据仓库稳定性的体现。数据仓库是不同时间的数据集合,要满足进行决策分析的需要,数据仓库中的数据就要有保存时限,此外,还要标明该数据的历史时期。

二 数据仓库创建

数据处理密集型的主要传统行业如保险、金融、电信等首先应用数据仓库。在一九九六至一九九七年国外许多大型的数据仓库开始建立。这样一来,哪些行业最需要建立数据仓库?哪些行业最有可能建立数据仓库?据研究统计,如果这个行业满足了下面2个基本条件:数据仓库存在的客观条件和提供建立数据仓库外在的动力。即该行业联机事务处理系统较为成熟;该行业面临市场竞争的压力较大。

1.不同数据类型的组织方式。

(1)一般的积累文件:以一天为单位,加工和优化从数据库中汲取的数据,不断堆积,分类存储最终形成的一类文件。

(2)快照文件:这一类文件与一般的积累文件非常相似,唯一的区别就是本类文件是相差一段周期的DB的快照,比如每相隔1周或者数月作一次。

(3)轮转综合文件:数据存储单位按时间分为天、星期、月和年等四个级别。首先,每天的数据都一一记录在日数据集中;以星期为单位7天以后,将数据进行分析归类编辑记录在称为周数据的周数据集中;第2个7天,每一天的日数据集又可以递归再次调用,以便用来存储接下来的数据。这样一来,如果周数据集的数据量堆积到4.4个(亦即一个月)后,又一次编辑分析归类记录到称为月数据的数据集中……。从以上形成过程看,轮转综合文件的组织结构是非常清晰的,数据量上面增加的并不太大。当然,在数据细节方面损失较大,时间越长,亏损越大。

(4)连续文件:两个或多个连续的简化直接文件可以生成一个新的文件,叫做连续文件。事实上,连续文件仍然还可以和新的简化直接文件进行归并再次生成新的连续文件。

2.数据的更新和追加。

数据仓库中的数据如果不进行更新或者没有新的数据追加,对数据挖掘来说是没有意义的。追加数据涉及到很多技术,一是数据源的问题,二是新旧数据区分的问题。数据源与联机事务处理的数据库有很大关系。区分数据的冗余技术主要有四种:

(1)添加更新时间标志的方法:新加入的数据根据时间可分为两类:含有时标的和没有的,对于前者在更新到数据库中的时候,分析存储组织数据时,同时将数据的更新时标进行更新。但是,对于没有时标的就不好办了,所以这种方法并不是总凑效。

(2)Δ(Delta)文件的方法:在数据挖掘的应用中会产生一种文件,它的作用是将应用更改的全部数据记录下来这个文件就是Δ(Delta)文件。使用Δ文件不用扫描整个数据库中的所有数据,所以在时间开销上要小很多,因而它的效率尤其高,不过,由于生成Δ文件的方法并不是非常普遍,所以相同的问题依然会出现。类似地,还有一种理论上可行的更改应用代码的技术,它的策略是在新数据生成的过程同时将应用代码自动记录下来。然而相关的数量非常庞大,而且修改代码又相当繁复,因此说这是一种理论可行现实不可操作的方法。

(3)快照文件比较的方法:这种方法的关键步骤是快照比较区分数据。具体来讲,在数据抽取过程中进行快照操作,生成前后两次快照,而后比较它们的差异和相同点,最后对数据进行确认。由于在资源和性能上的影响这种方法实际意义没有多大。

(4)日志文件:这大概是最可取的技术了,原因在于它是数据库的内在机制,对联机事务处理系统的性能是不会有影响的。而且,它还兼具Δ文件的良好性质,提取数据同样不用扫描整个数据库而只需读取局部日志文件即可。不过,原来日志文件包含的数据对于数据仓库而言也许有较多冗余,因为它的格式是依据数据库系统的要求来设定的。例如,如果一个记录经过重复多次的更新,日志文件会详细地记录每次的更新内容,但事实上这些又都是重复冗余的;对于数据库来说,这样的操作是没有必要的,也是对资源和性能的一种浪费。不过相比而言,日志文件还是最为可行的一种选择策略。

3.数据的提取。

数据进入仓库之前的工作是数据的抽取。数据仓库的数据抽取主要的技术有复制(replication)、互连(interconnection)、转换(conversion)、增量(incremental)、监控(monitoring)和调度(scheduling)等六个方面。数据仓库中的数据来源主要有OLTP、数据仓库以外的数据源和脱机数据介质存储的数据等,从以上数据源中应用数据抽取技术使数据仓库形成一个相对独立的数据环境。由于联机事务处理系统不需要与数据仓库的数据保持实时同步,所以数据抽取或定时进行或适时进行都是可取的,时间要求并不严格。但多个抽取操作的时间有效性则至关重要,例如抽取操作之间的顺序、抽取操作执行的时间长短和抽取操作成功与失败等等对数据仓库中的信息都会产生很大的影响。

数据抽取的技术日臻完善,基本都能够满足市场需求。对数据的抽取用户唯一需要做的事情是确立数据源和数据目标之间的对应关系,剩下的抽取工作像代码的生成系统会自动完成,极为方便。可是这些技术在整体集成度的融合上还是有缺陷的。各抽取技术之间的关系是松散的,有些技术之间还要通过有关程序进行协调。据调查统计,一些提供数据抽取工具和业务的供应商仅支持有限的数据类型,这部分与实际应用密切相关的工作有时候还不得不进行数据转换,甚至要加入嵌入式用户编程。正是这样的原因,数据抽取工具在实际实施过程中应用的并不广泛。而数据抽取过程能否因为具体工具的使用而投入有效的管理、调度和维护等则反而显得更为重要。

4.数据的管理和存储。

数据仓库和其他的传统数据库在组织方式与管理方式这两个特性上有很大区别。在一定程度上决定了它对外部数据表现形式。即建立数据仓库核心决定采用什么产品和技术,就得分析相应的数据仓库要具有什么样的技术手段。这充分证明了数据仓库中数据的管理和存储才是真正的关键部分是实质所在。

首先应用数据分割技术实现数据仓库对大量数据的存储和管理。比起传统数据库对事务处理,数据仓库中的数据量要大很多倍,而且具有很强的时间积累效应。对于数据处理能力的考虑,关系数据库系统采用的技术,以及应用相关技术开发的产品一直处于领跑的位置。在数据管理和数据存储技术上其它数据管理系统是望尘莫及的。目前数据分割技术已经在很多关系数据库系统中应用,这种应用的思想是分散数据库表,分别用不同的物理设备进行存储强化系统对数据量的管理能力。

其次数据仓库的并行处理能力提高了管理存储数据的效率。比较数据的处理方式很容易发现,容量短小访问密集,这是传统数据库用户访问数据的特征;数据仓库对数据的处理是多任务多处理机的,为满足大数据量的要求,必须均衡分割用户的请求操作,使它们力求合理这是关键所在。这就是高效的并发操作。数据量庞大访问频次低,这种数据仓库用户的操作使得单个单次查询变得纷繁。这样以来工作方式就有了很大的不同。所以,在数据仓库中并行处理技术比以往显得更为重要。

现在对数据仓库的TPC-D基准测试中,增加了一个称为“系统功力”(QPPD)的单用户环境的测试。通过观察QPPD的值的影响来判断系统的并行处理能力的强弱。目前,在并行处理方面像基于数据分割的并行、对查询语句的分解并行关系数据库系统都能做到,而对于支持多环境多处理机能力上也没有什么影响。

最后要分析数据仓库针对决策支持查询的优化问题。数据库系统的索引机制(indexing mechanism)、数据排序(data sorting)、连接策略(connection policy)、查询优化器(the query optimizer)和采样(sampling)等诸多技术部分是决策支持优化研究的重要内容。普通关系数据库对于sex、age和areas等具有大量重复值的field差不多没有效果,这是因为采用B-tree类的索引的结果。采用二进制位表示字段状态,变查询过程为筛选过程,引入位图索引机制,使单个计算机的基本操作具有可筛选多条记录的功能,这就是扩充的关系数据库。数据仓库中的数据量在数据表的分布是极不对称的,这容易导致普通查询优化器计算出的最佳查询路径往往不是最优的。所以,根据索引的使用特性,改进关系数据库的面向决策支持查询优化,增加多重索引扫描的能力非常必要。

三 数据仓库的应用原则

1.坚持原则。

对原始数据,必须坚持的原则是不局限在业务系统的现状。数据仓库本身独立于业务系统之外,要以管理层分析决策的需求为实施的主线和出发点,在设计中预留空间给不确定数据是可行的。采用各种途径加载数据,为收集数据设计专门的输入接口,比如客户个人资料的获取;在分析中标注单个数据的有效时间同时放宽数据的时效性;规范业务系统标识低质量的数据。这些都是处理数据的完整性和质量问题可以采取的有效方式。

2.抽取方式。

数据的抽取要坚持快捷、简便、易维护的原则。不要浪费时间在讨论单一抽取工具的选型上,因为为了适应原始数据的多样性,数据仓库系统常常同时存在很多种数据抽取方式。

3.数据展现。

数据仓库的使用,使企业管理人员以丰富而动态的联机分析和查询了解企业和市场的动态,逐渐脱离了对固定报表等的依赖。这是数据仓库在联机事务处理方面的优势,而在固定格式的报表重现上,数据仓库的分析工具有时还真不如专门定制的程序。

4.实施范围。

数据仓库的价值在于使用,解决好与选择具体产品相关的重要问题,如明确系统的使用范畴和客户的应用模式等,制订明确的计划和时间表,分阶段加入新的产品和技术,规避无休止的选型和测试等。这都是在定义实施计划之前要统筹好的。

[1]W.H.Inmon.Building the Data Warehouse[M].New York:John Wiley&Sons,1996.

[2]吴泽雄.数据仓库浅谈[D].海南:海南省通信学会学术年会论文集,2005.

[3]徐锐.数据仓库在商业银行财务分析体系中的应用[D].财政部财政科学研究所,2010.

[4]王珊.数据仓库技术与联机分析处理[M].北京:科学出版社,1998.

猜你喜欢
快照联机数据仓库
多联机安装施工技术探讨
EMC存储快照功能分析
基于数据仓库的住房城乡建设信息系统整合研究
一种基于Linux 标准分区的快照方法
创建磁盘组备份快照
分布式存储系统在液晶面板制造数据仓库中的设计
探析电力系统调度中数据仓库技术的应用
高温多联机空调系统的控制方式研究
CALIS联机合作编目中的授权影印书规范著录
基于数据仓库的数据分析探索与实践