APP下载

异构数据库集成中相似重复记录清洗方法

2014-05-10郭文龙

宜春学院学报 2014年3期
关键词:数据仓库异构规则

郭文龙

(福建江夏学院电子信息科学学院,福建 福州 350108)

在各类企事业单位中,由于开发时间不同,往往存在许多异构的运行于不同软硬件平台上的信息管理系统,由于采用不同的数据库开发技术,造成这些系统的数据库彼此独立,各个数据库系统之间无法融合与共享。随着互联网的不断发展与普及,企事业单位间信息交流的需求日益迫切,这就需要把不同数据源的异构数据库融合集成起来。[1]异构数据库集成技术是指把分布于不同数据库的数据在物理上或者逻辑上进行有机集中,从而为企事业单位提供数据共享的一种技术。异构数据库是独立存在的,每个独立的数据库都有专属于自己的数据库管理系统,各个组成部分完全自治,如果直接把不同数据库合并形成一个大型的共用库显然是行不通的,目前可以采用的方式有基于联邦式、基于中间件或数据仓库等,其中基于数据仓库的方式是应用比较多的一种方法。数据仓库从不同数据源抽取所需的数据避免重新建设共用库而投入大量的人力、物力和财力成本,然而集成后的数据仓库产生了大量的脏数据和相似重复数据,如何消除脏数据和清洗相似重复数据就成了一个亟需解决的问题。[2-4]

相似重复记录指同一个现实世界中的实体在数据库中拥有了多条记录,这些记录互为相似重复记录,相似重复记录清洗是指删除构成相似重复的记录,只保留一条记录的过程。相似重复记录最常见的情况有同音字构成、格式不一致构成、地址采用简写构成等。如表1所示,记录1的姓名字段和记录2的姓名字段构成同音字相似,地址字段由于简写构成相似,而出生日期则因格式不一样构成相似。对同音字构成相似重复记录的情况,李星毅等提出组成一个相似汉字表,供汉字比较时使用[5];文献 [6]研究了缩写造成的相似重复情况,也提出建立“相似汉字表”解决部分输入错误的问题;文献[7]通过制定中文地址编码规则,利用编码规则对中文地址进行编码,最后再对其译码达到对中文地址清洗的目的。而对格式不一致构成的相似重复记录则可以通过设置统一的格式,在数据进入数据仓库之前统一转化为规定的格式,再进行清洗记录。

表1 相似重复记录示例表

综上,构成相似重复记录的原因各异,在清洗前必须综合考虑各种情况,提出一种异构数据库集成中相似重复记录清洗方法,在异构数据库中首先对数据记录进行初次清洗;之后根据共享库的要求,将符合条件的记录抽取到临时数据库中,在临时数据库中按照设置的统一规范对数据格式进行转换;最后把临时数据库的数据导入数据仓库,在数据仓库中再次对数据记录进行清洗。

1 异构数据库相似重复记录清洗模型

异构数据库由于开发时间不同,各个数据库本身存在许多“脏数据”,故在集成前有必要先对自身数据库进行相似重复记录初次清洗,初次清洗不仅可以使源数据库减少冗余度,提高源数据库的数据质量,进而提高空间利用率、加快查询速度及提高决策支持能力等好处,还可以从源头上消除“脏数据”,为数据仓库中相似重复记录清洗减轻“负担”。集成时需将用于共享的数据从不同的系统迁移到新的共享数据仓库,迁移时不是原封不动的迁移,而是抽取有用的部分数据,由于数据来源于异构数据库,每个数据库的创建时间和所用技术不一,如果直接把迁移后的数据存放于集成的数据仓库,会造成数据仓库的数据混乱,甚至崩溃。所以数据抽取前必须根据数据仓库存放的软硬件情况和数据库技术协商制定数据格式等规则,在源数据库上抽取数据后,将抽取出来的数据放在一个临时数据库中,临时数据库的数据再按照设定的规则转化为统一的规范化的数据格式,最后迁移到数据仓库中。临时数据库可以设置在源数据库服务器上,也可以采用中间件技术进行搬迁转换。数据仓库中的数据来源于不同数据库,而不同数据库中可能存在同样的记录,所以最后再在共享的数据仓库中对相似重复记录进行二次清洗。异构数据库集成中相似重复记录清洗流程如图1所示。

图1 异构数据库相似重复记录清洗流程

各企业数据库先在自身数据库中进行相似重复记录清洗,然后将数据抽取到企业前置的临时数据库中,如果企业自身的服务器满足硬件要求,临时数据库可以直接架设在同一机子上,如果企业服务器无法满足硬件的要求,则可以在在企业服务器前端连接一台临时计算机用来存放临时数据库,再在前置的临时数据库中将数据按照数据仓库的格式要求进行统一转换,转换好符合要求的数据直接加载到数据仓库中,最后在数据仓库中对数据进行二次相似重复记录清洗。

如上所述,异构数据库集成过程中的相似重复记录清洗分两次进行,即企业内部数据库的清洗和集成后数据仓库中的清洗。企业内部数据库和数据仓库必须综合考虑数据量的多少、建库的方法等,然后选择一种或多种清洗方法。如果数据量庞大,可以采用机器自动清洗。如果数据量较小,也可以采用人工清洗。此外,还可以采用机器清洗和人工清洗相结合的方式进行。机器清洗和人工清洗相结合的清洗模型如图2所示。

图2 相似重复记录清洗模型

源数据库中的数据通过制定的清洗规则利用机器自动清洗,清洗规则包含相似重复记录识别、相似重复记录清洗、缺失数据补充[8]及异常数据处理等,异常数据的处理方式为将异常数据导出,利用人工方式清洗或通过制定的异常规则分别进行清洗。人工清洗方式主要应用在企业数据库中,在数据提交到临时数据库前,必须根据数据仓库的要求,将要抽取出来的记录中部分缺失的信息补全,所以企业数据库清洗时必须把这些记录过滤出来补充完整。此外企业数据库中的某些记录如果比较重要,也需要过滤出来,涉及到重复记录,必须导出人工进行清洗。

2 相似重复记录清洗步骤

相似重复记录清洗方法最常用的是基于“排序-合并”算法,其基本思想是利用设定的关键属性进行排序,排序后的记录两两进行比对匹配,如果构成相似重复记录,则将该记录对合并。然而对大数据量的数据库而言排序和两两比对的时间代价是极大的,为了提高效率,Hernandez等于1995提出 SNM(Sorted-Neighborhood Method,简称SNM)算法[9],该算法设置固定大小的滑动窗口,记录匹配操作只限定于窗口内,大大提高了匹配的效率。基于SNM算法,各种改进的算法纷纷被许多学者提出,张建中等[10]对记录的“脏数据”按照DC标准和相关规范进行清洗与去重,陈爽等[11]利用伸缩窗口和动态调整等级对SNM算法进行改进,这些方法均取得了较好的效果。在具体应用中,可以综合考虑数据库的实际情况分别采用不同的清洗算法。

根据异构数据库的特点,异构数据库集成中相似重复记录清洗的一般步骤如下:

第一步:根据实际情况进行需求分析,选择数据仓库技术,建立数据库模型,物理设计数据仓库;

第二步:制定清洗规则,采用机器清洗和人工清洗相结合的方式对源数据库进行清洗;

第三步:根据数据仓库的共享数据要求,提取所需数据,并将其存储于临时数据库中;

第四步:根据数据仓库的数据库规范及数据格式要求,对临时数据库中的数据记录进行转换,使之符合数据仓库的标准;

第五步:企业临时数据库的数据采用直接链接的方式,写入数据仓库;

第六步:制定清洗规则,采用机器清洗方式清洗数据仓库中的相似重复记录。

3 结束语

异构数据库集成是解决企事业单位间数据互联互通的有效方式,由于企事业单位自身数据库采用的技术及平台不一样,所以集成时不能直接链接,必须对数据进行转换,然后抽取有用的用于共享的数据,再对抽取出来的数据按照指定的规范进行转换。然而抽取出来的数据进入数据仓库时带来了许多相似重复数据,所以必须对其清洗,论文讨论了相似重复记录的类型,提出采用两次清洗的方式解决相似重复记录问题,即在源数据库上进行初次清洗和在数据仓库中进行二次清洗,为异构数据库集成中的相似重复记录清洗提供了一定的借鉴方案。

[1]徐启,孙全红.基于分布式数据仓库的电信信息共享平台的研究[J].计算机测量与控制,2012,20(4):1036-1038,1050

[2]姜传菊.企业数据仓库技术应用探讨[J].商业时代,2012,(23):106 -107

[3]Dimitri Theodoratos,Timos Sellis.Data Warehouse Configuration[C].Proceedings of the 23rd VLDB Conference,1997

[4]王世水,王元元,高应波,等.基于ETL的数据集成优化研究与实现[J].天津工业大学学报,2013,32(3):78-81

[5]李星毅,包从剑,施化吉,等.数据仓库中的相似重复记录检测方法[J].电子科技大学学报,2007,36(6):1273-1277

[6]程国达,苏杭丽.一种检测汉语相似重复记录的有效方法[J].计算机应用,2005,25(6):1362-1365

[7]郭文龙,卓琳.一种基于编码规则的中文地址清洗方法[J].闽江学院学报,2013,34(5):66-69

[8]邱爱保,吕爱清.数据分析预处理的MATLAB实现[J].宜春学院学报,2011,33(4):33 -34

[9]Hernandez M,Stolfo S.The Merge/Purge Problem for Large Databases.Proceedings of the ACM SIGMOD International Conference on Management of Data[C].San Jose,California,1995:127 -138

[10]张建中,方正,熊拥军,等.对基于SNM数据清洗算法的优化[J].中南大学学报(自然科学版),2010,41(6):2240-2245

[11]陈爽,刁兴春,宋金玉,等.基于伸缩窗口和等级调整的SNM改进方法[J].计算机应用研究,2013,30(9):2736-2739

猜你喜欢

数据仓库异构规则
试论同课异构之“同”与“异”
撑竿跳规则的制定
数独的规则和演变
基于数据仓库的数据倾斜解决方案研究
基于数据仓库的住房城乡建设信息系统整合研究
吴健:多元异构的数字敦煌
让规则不规则
异构醇醚在超浓缩洗衣液中的应用探索
TPP反腐败规则对我国的启示
探析电力系统调度中数据仓库技术的应用