什么叫做数据库迁移是什么意思迁移,数据库迁移是什么意思清洗

新旧系统更替产生的数据迁移有关问题 - 研发管理当前位置:& &&&新旧系统更替产生的数据迁移有关问题新旧系统更替产生的数据迁移有关问题&&网友分享于:&&浏览:0次新旧系统更替产生的数据迁移问题
新旧系统更替产生的数据迁移问题
作者:西安项目组夏凯撰文时间:
在信息化建设过程中,随着技术的发展,原有的信息系统不断被功能更强大的新系统所取代。从两层结构到三层结构,从Client/Server到Browser/Server。在新旧系统的切换过程中,必然要面临一个数据迁移的问题。
数据迁移的概念
原有的旧系统从启用到被新系统取代,在其使用期间必然会积累大量珍贵的历史数据,其中许多历史数据都是新系统顺利启用所必须的。另外,这些历史数据也是进行决策分析的重要依据。数据迁移,就是将这些历史数据进行清洗、转换,并装载到新系统中的过程。数据迁移主要适用于一套旧系统切换到另一套新系统,或多套旧系统切换到同一套新系统时,需要将旧系统中的历史数据转换到新系统中的情况。税务、电信、工商、银行、保险以及销售等领域发生系统切换时,一般都需要进行数据迁移。对于多对一的情况,例如由于信息化建设的先后,造成有多个不同的系统同时运行,但相互间不能做到有效信息共享,所以就需要一套新系统包容几套旧系统的问题。
数据迁移对系统切换乃至新系统的运行有着十分重要的意义。数据迁移的质量不光是新系统成功上线的重要前提,同时也是新系统今后稳定运行的有力保障。如果数据迁移失败,新系统将不能正常启用;如果数据迁移的质量较差,没能屏蔽全部的垃圾数据,对新系统将会造成很大的隐患,新系统一旦访问这些垃圾数据,可能会由这些垃圾数据产生新的错误数据,严重时还会导致系统异常。
相反,成功的数据迁移可以有效地保障新系统的顺利运行,能够继承珍贵的历史数据。因为无论对于一个公司还是一个部门,历史数据无疑都是十分珍贵的一种资源。例如税务部门的纳税资料、公司的客户信息、银行的存款记录等。
数据迁移的特点
系统切换时的数据迁移不同于从生产系统OLTP (On-line Transaction Processing),到数据仓库DW(Data Warehouse)的数据抽取。后者主要将生产系统在上次抽取后所发生的数据变化同步到数据仓库,这种同步在每个抽取周期都进行,一般以天为单位。而数据迁移是将需要的历史数据一次或几次转换到新的生产系统,其最主要的特点是需要在短时间内完成大批量数据的抽取、清洗和装载。
数据迁移的内容是整个数据迁移的基础,需要从信息系统规划的角度统一考虑。划分内容时,可以从横向的时间和纵向的模块两个角度去考虑。
以产生数据的时间为划分依据,需要考虑比较久远的历史数据如何迁移的问题。由于信息技术的发展,以及我们对计算机依赖性的增强,新系统每天往往需要比旧系统存储更多的信息,同时为了解决数据量高增长带来的性能瓶颈,新系统一般只保留一定时期的数据,比如1年,而把超过保存周期的数据,即1年以前的数据转移到数据仓库中,以便用于决策分析(需建立决策支持系统)DSS系统。对于这种新系统的数据迁移,主要迁移1年以内的数据,1年以前的历史数据需要另外考虑。
以处理数据的功能模块为划分依据,需要考虑在新系统中没有被包含的功能模块,其所涉及数据的处理问题。这类数据由于无法建立映射关系,一般不需要迁移到新系统中。但对于模块间偶合度比较紧密的旧系统,在纵向划分时需要注意数据的完整性。对于这次的数据迁移,旧系统的各个功能模块可以和新系统建立一定的映射关系,因此本次的迁移基本是针对模块做的工作。
数据迁移的方法
数据迁移可以采取不同的方法进行,归纳起来主要有四种方法,即系统切换前通过ETL工具迁移、编写后台数据库程序、系统切换前采用手工录入和系统切换后通过新系统生成。
系统切换前通过工具迁移
在系统切换前,利用ETL(Extract Transform Load)工具把旧系统中的历史数据抽取、转换,并装载到新系统中去。其中ETL工具可以购买成熟的产品(如Infomatic、Business Objects公司的Data Integrator Designer),也可以是自主开发的程序。这种方法是数据迁移最主要,也是最快捷的方法。其实施的前提是,历史数据可用并且能够映射到新系统中。
编写后台数据库程序
在系统切换前,将旧系统涉及到的迁移数据,在新系统中建立相应的数据库表结构,并将旧数据导入相应的表中,然后在新系统中编写后台程序,将历史数据迁移到新系统中。本次我们的迁移是建立一个和正式系统一模一样的数据迁移数据库,将旧系统的迁移数据imp到此迁移数据库中,所有的编码和调试也都在此环境中进行,这样就可以将导入到新系统的数据可能产生的问题,如:字典表数据的转化、外键约束等等,在迁移数据库中全部处理掉,这样得到的数据便可顺利的导入新系统。
系统切换前采用手工录入
在系统切换前,组织相关人员把需要的数据手工录入到新系统中。这种方法消耗的人力、物力比较大,同时出错率也比较高。主要是一些无法转换到新系统中的数据,和新系统启用时必需要而旧系统无法提供的数据采用这种方法,可作为第一种方法的有益补充。
系统切换后通过新系统生成
在系统切换后,通过新系统的相关功能,或为此专门开发的配套程序生成所需要的数据。通常根据已经迁移到新系统中的数据来生成所需的信息。其实施的前提是,这些数据能够通过其它数据产生。
数据迁移的策略
数据迁移的策略是指采用什么方式进行数据的迁移。结合不同的迁移方法,主要有一次迁移、分次迁移、先录后迁、先迁后补等几种方式可供选择。
一次迁移是通过数据迁移工具或迁移程序,将需要的历史数据一次性全部迁移到新系统中。一次迁移的优点是迁移实施的过程短,相对分次迁移,迁移时涉及的问题少,风险相对比较低。其缺点工作强度比较大,由于实施迁移的人员需要一直监控迁移的过程,如果迁移所需的时间比较长,工作人员会很疲劳。一次迁移的前提是新旧系统数据库差异不大,允许的宕机时间内可以完成所有数据量的迁移。
分次迁移是通过数据迁移工具或迁移程序,将需要的历史数据分几次迁移到新系统中。分次迁移可以将任务分开,有效地解决了数据量大和宕机时间短之间的矛盾。但是分次切换导致数据多次合并,增加了出错的概率,同时为了保持整体数据的一致性,分次迁移时需要对先切换的数据进行同步,增加了迁移的复杂度。分次迁移一般在系统切换前先迁移静态数据和变化不频繁的数据,例如代码、用户信息等,然后在系统切换时迁移动态数据,例如交易信息,对于静态数据迁移之后发生的数据变更,可以每天同步到新系统中,也可以在系统切换时通过增量的方式一次同步到新系统中。本次就采用了分次迁移的策略,即按分局分次迁移;对于某些信息也采用了定时更新的手段,以保证数据的正确性。
先录后迁是在系统切换前,先通过手工把一些数据录入到新系统中,系统切换时再迁移其它的历史数据。先录后迁主要针对新旧系统数据结构存在特定差异的情况,即对于新系统启用时必需的期初数据,无法从现有的历史数据中得到。对于这部分初期数据,就可以在系统切换前通过手工录入。比如这次的核定信息、征管鉴定信息、减免税审批结果、发票领购申请/审批等等,就是采用的先录后迁的方式。
先迁后补是指在系统切换前通过数据迁移工具或迁移程序,将原始数据迁移到新系统中,然后通过新系统的相关功能,或为此专门编写的配套程序,根据已经迁移到新系统中的原始数据,生成所需要的结果数据。先迁后补可以减少迁移的数据量。
数据迁移的技术准备
数据转换与迁移通常包括多项工作:旧系统数据字典整理、旧系统数据质量分析、新系统数据字典整理、新旧系统数据差异分析、建立新旧系统数据之间的映射关系、开发部署数据转换与迁移程序、制定数据转换与迁移过程中的应急方案、实施旧系统数据到新系统的转换与迁移工作、检查转换与迁移后数据的完整性与正确性。
数据转换与迁移程序,即ETL的过程大致可以分为抽取、转换、装载三个步骤。数据抽取、转换是根据新旧系统数据库的映射关系进行的,而数据差异分析是建立映射关系的前提,这其中还包括对代码数据的差异分析。转换步骤一般还要包含数据清洗的过程,数据清洗主要是针对源数据库中,对出现二义性、重复、不完整、违反业务或逻辑规则等问题的数据进行相应的清洗操作,在清洗之前需要进行数据质量分析,以找出存在问题的数据,否则数据清洗将无从谈起。数据装载是通过装载工具或自行编写的SQL程序将抽取、转换后的结果数据加载到目标数据库中。
数据迁移的实现
数据迁移的实现可以分为三个阶段:数据迁移前的准备、数据迁移的实施和数据迁移后的校验。
由于数据迁移的特点,大量的工作都需要在准备阶段完成,充分而周到的准备工作是完成数据迁移的主要基础。具体而言,要进行待迁移数据源的详细说明,包括数据的存放方式、数据量、数据的时间跨度,建立新旧系统数据库的数据字典,就是我们常说的参照表;对旧系统的历史数据进行质量分析,新旧系统数据结构的差异分析;新旧系统代码数据的差异分析;建立新老系统数据库表的映射关系,对无法映射字段的处理方法,开发、部属ETL工具,编写数据转换的测试计划和校验程序,制定数据转换的应急措施。我们对于部分由于时间太久而无法对应的数据字典数据,采用建特殊代码并对新系统禁用的方式,以保证迁移的完整性,此部分数据可在今后通过于客户协商采用更好的方式进行修正。
其中,数据迁移的实施是实现数据迁移的三个阶段中最重要的环节。它要求制定数据转换的详细实施步骤流程;准备数据迁移环境;业务上的准备,结束未处理完的业务事项,或将其告一段落;对数据迁移涉及的技术都得到测试;最后实施数据迁移。
数据迁移后的校验是对迁移工作的检查,数据校验的结果是判断新系统能否正式启用的重要依据。可以通过质量检查工具或编写检查程序进行数据校验,通过试运行新系统的功能模块,特别是查询、报表功能,检查数据的准确性。
对数据的检查
数据长度检查:检查数据的有效长度。对于char类型的字段转换到varchar类型中,需要特别关注。
区间范围检查:检查数据是否包含在定义的最大值和最小值的区间中;例如年龄为300,或录入日期在。
空值、默认值检查:检查新旧系统定义的空值、默认值是否相同,不同数据库系统对空值的定义可能不同,需要特别关注。
完整性检查:检查数据的关联完整性。如记录引用的代码值是否存在,特别需要注意的是有些系统在使用一段时间后,为了提高效率而去掉了外键约束。
一致性检查:检查逻辑上是否存在违反一致性的数据,特别是存在分别提交操作的系统。
数据迁移后的校验
在数据迁移完成后,需要对迁移后的数据进行校验。数据迁移后的校验是对迁移质量的检查,同时数据校验的结果也是判断新系统能否正式启用的重要依据。可以通过两种方式对迁移后的数据进行校验。
对迁移后的数据进行质量分析,可以通过数据质量检查工具,或编写有针对性的检查程序进行。对迁移后数据的校验有别于迁移前历史数据的质量分析,主要是检查指标的不同。迁移后数据校验的指标主要包括五方面:完整性检查,引用的外键是否存在;一致性检查,相同含义的数据在不同位置的值是否一致;总分平衡检查,例如欠税指标的总和与分部门、分户不同粒度的合计对比;记录条数检查,检查新旧数据库对应的记录条数是否一致;特殊样本数据的检查,检查同一样本在新旧数据库中是否一致。
新旧系统查询数据对比检查,通过新旧系统各自的查询工具,对相同指标的数据进行查询,并比较最终的查询结果;先将新系统的数据恢复到旧系统迁移前一天的状态,然后将最后一天发生在旧系统上的业务全部补录到新系统,检查有无异常,并和旧系统比较最终产生的结果。
此次迁移的数据检查采用了检查新旧系统的记录数据是否一致,按照行业、按纳税户、按级次、按转化条件等等得到的数据与在旧系统按同样的方式查询是否一致。
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有湖南省工商行政管理局机关数据迁移过程中数据清洗项目公开招标公告_湖南省工商局网站
湖南省工商行政管理局 湖南工商红盾信息网
无障碍浏览(  )
机构频道:
                                  最新信息:
微信hnaicgov
&&企业注册登记进度查询
您现在的位置:首页 &&
&&详细内容
湖南省工商行政管理局机关数据迁移过程中数据清洗项目公开招标公告
&&&&&&&&受湖南省工商行政管理局机关的委托,湖南省省直机关政府采购中心对湖南省工商行政管理局机关数据迁移过程中数据清洗项目公开招标项目进行采购,现将采购事项公告如下:&
&&&一、采购项目信息
&&&&&&项目名称:湖南省工商行政管理局机关数据迁移过程中数据清洗项目公开招标&
&&&&&&项目编号:政府采购编号:湘财采计[号&
&&&&&&&&&&&&&&&&&&&&&&&&&&省直代理编号:HNSZZFCG-&
&&&&&&采购方式:公开招标&
&&&&&&采购预算:600000元&
&&&&&&采购项目内容与数量:&
数据迁移过程中数据清洗项目
&&&注:本项目整体投标,整体定标,只接受投标供应商唯一方案报价&
&&&二、供应商资质要求
&&&&&&2.1、供应商基本资格条件:&
&&&&&&&&&1、投标人法人营业执照副本复印件。&
&&&&&&&&&2、法定代表人授权委托书原件及双方身份证复印件。&
&&&&&&&&&3、投标人税务登记证(国税或地税)复印件。&
&&&&&&&&&4、投标人社会保险登记证或缴纳社会保险的凭证复印件。&
&&&&&&&&&5、参加政府采购活动前三年内在经营活动中没有重大违法记录的书面声明。&
&&&&&&2.2、供应商特定资格要求:&
&&&&&&&&&1、投标时需提供投标人2014年度经会计事务所审核盖章的财务审计报告(投标文件中只需提供上述报告中的审计结论意见书及资产负债表、损益利润分配表复印件,新成立的公司提供最近月份的财务报表)原件备查。&
三、招标文件提供时间、方式与投标报名确认
&&&&&&日起,湖南省省直机关政府采购中心正式启用政府采购电子操作平台,请投标商按照电子操作平台的流程规范及时完成下载招标文件、网上投标报名、保证金操作等相关事宜。&
&&&&&&3.1&招标文件下载:从即日起至标书下载截止时间(日17时00分)&,请登录湖南省政府采购管理平台www.ccgp-或湖南省省直机关政府采购中心电子操作平台门户网站www.进行电子标书下载。&
&&&&&&*&政府采购中心不再提供纸质招标文件。&
&&&&&&3.2&投标报名确认:供应商在投标报名确认截止时间(日17时00分)前必须登录政府采购中心门户网站www.进行&投标报名确认&操作,逾期将无法确认。&
&&&&&&*&未进行&投标报名确认&的投标商将视为无效投标,无法进入评标程序。&
&&&&&&3.3&数字证书使用:湖南省政府采购管理平台www.ccgp-、湖南省省直机关政府采购中心电子操作平台www.均需使用数字证书登陆进行操作,尚未办理数字证书的供应商请及时登录www.查询数字证书有关业务流程。&
&&&&&&供应商认为采购文件存在歧视性条款的,应在采购文件发布之日起7个工作日内以书面形式向本代理机构提出。&
四、开标时间与地点
&&&&&&4.1&开标时间(递交投标文件截止时间):日09时30分&
&&&&&&4.2&开标地点(递交投标文件地点):&
&&长沙市雨花区万家丽路二段29号(天际岭隧道南湖南省价格信息中心,详见当天电子显示屏)。&
&&&&&&4.3&逾期送达或者不按招标文件要求密封或者不按招标文件的要求提供保证金的投标文件,集中采购机构将拒绝接收。&
五、采购人联系方式
&&&&&&名&&称:湖南省工商行政管理局机关&&&&&&&&&&&&地&&址:长沙市芙蓉南路二段118号&
&&&&&&联系人:李华&&&&&&&&&&&&联系电话:5&
六、集中采购机构联系方式
&&&&&&名&&称:湖南省省直机关政府采购中心&
&&&&&&地&&点:长沙市雨花区万家丽路二段29号(天际岭隧道南湖南省价格信息中心,详见当天电子显示屏)&
&&&&&&联系人:杨娟&&&&&&&&&&&&联系电话(传真):4&
&&&&&&E-mail:&&
&&&&&&投标报名:长沙市雨花区万家丽路二段29号(天际岭隧道南湖南省价格信息中心)&
&&&&&&联系电话:&
湖南省省直机关政府采购中心
没有附件!
&&&&【浏览1566次&|&】
版权所有 
 作者:傅兴汉 QQ: 
备案号 湘ICP备号 建议使用IE6.0以上,分辨率浏览本站
地址:湖南省长沙市芙蓉南路二段118号 邮 编:410004数据迁移与整理_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数据迁移与整理
||文档简介
炼数成金用新兴的社交网站的形式,把各应用...|
总评分0.0|
&&炼数成金《大数据管理》
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩46页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢数据清洗_百度百科
数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和等。与问卷审核不同,录入后的数据清理一般是由计算机而不是人工完成。
数据清洗基本概念
数据清洗(Data cleaning)– 对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。[1]
数据清洗从名字上也看的出就是把“脏”的“洗掉”,指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等。因为中的数据是面向某一主题的数据的集合,这些数据从多个业务系统中抽取而来而且包含历史数据,这样就避免不了有的数据是错误数据、有的数据相互之间有冲突,这些错误的或有冲突的数据显然是我们不想要的,称为“”。我们要按照一定的规则把“脏数据”“洗掉”,这就是数据清洗。而数据清洗的任务是过滤那些不符合要求的数据,将过滤的结果交给业务主管部门,确认是否过滤掉还是由业务单位修正之后再进行抽取。不符合要求的数据主要是有不完整的数据、错误的数据、重复的数据三大类。数据清洗是与问卷审核不同,录入后的数据清理一般是由而不是人工完成。
数据清洗主要类型
数据清洗残缺数据
这一类数据主要是一些应该有的信息缺失,如的名称、的名称、客户的区域信息缺失、业务系统中主表与明细表不能匹配等。对于这一类数据过滤出来,按缺失的内容分别写入不同Excel文件向客户提交,要求在规定的时间内补全。补全后才写入。
数据清洗错误数据
这一类错误产生的原因是业务系统不够健全,在接收输入后没有进行判断直接写入造成的,比如数值数据输成全角数字、字符串数据后面有一个回车操作、日期格式不正确、日期越界等。这一类数据也要分类,对于类似于、数据前后有不可见字符的问题,只能通过写语句的方式找出来,然后要求客户在业务系统修正之后抽取。日期格式不正确的或者是日期越界的这一类错误会导致ETL运行失败,这一类错误需要去业务用的方式挑出来,交给业务主管部门要求限期修正,修正之后再抽取。
数据清洗重复数据
对于这一类数据——特别是维表中会出现这种情况——将重复数据记录的所有字段导出来,让客户确认并整理。
数据清洗是一个反复的过程,不可能在几天内完成,只有不断的发现问题,解决问题。对于是否过滤,是否修正一般要求客户确认,对于过滤掉的数据,写入文件或者将过滤数据写入数据表,在ETL开发的初期可以每天向业务单位发送过滤数据的邮件,促使他们尽快地修正错误,同时也可以做为将来验证数据的依据。数据清洗需要注意的是不要将有用的数据过滤掉,对于每个过滤规则认真进行验证,并要用户确认。
.人人都聊互联网[引用日期]博客访问: 48288
博文数量: 24
博客积分: 1400
博客等级: 上尉
技术积分: 260
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 数据库开发技术
数据清洗:问题和当前的途经Erhard Rahm(埃哈德•兰姆) hong hai do(洪海渡)莱比锡大学(德国) 翻译:概念我们将数据质量问题分类为对数据清洗的概述和提供对主要解决途径的总揽。在集成异构数据源时,数据清洗尤其需要。并且应该和计划-关系数据转换一起来演讲。在数据仓库中,数据清洗是一个被称为ETL过程的主要部分。我们同样将讨论当前用来进行数据清洗的工具。1 介绍数据清洗,同时也被称为data cleansing或者scrubbing,是为了改进数据质量而执行从数据中探测并驱除错误和矛盾的过程。数据质量问题出现在单个数据集合中,如文件和数据库,比如由于在数据输入少拼写,丢失信息或有非法数据。当多个数据源需要被集合起来,数据清洗的需求就显著增加了。比如,在数据仓库中,联合数据系统(federated database systems)或者基于网络的全球信息系统。为了提供精确稳定的数据访问,不同数据形式的合并与消除重复信息狴犴得很需要。数据仓库要求并且也提供了对数据清洗的扩展支持。它们装载并且不断从大量不同的源更新数据,所以某些源包含脏数据的可能性是很高的。进一步说,数据仓库是用来辅助决策的,因此数据正确性对避免错误结论是至关重要的。比如,重复或者丢失信息将产生错误和误导状态(无用输入,无用输出)。归咎于广泛排列可能数据不一致性和纯粹数据体积,数据清洗被认为在数据仓库中最大的问题之一。在ETL过程(图1), 处理计划/数据翻译和集成的深层数据转换,通过过滤和合并数据来在数据仓库中执行存储。如图所示,在装载被转换的数据进入数据仓库前,所有数据清洗典型地完成于在一个独立的数据输入分段。大量有分类功能的工具能完成这些任务,但经常地,一个重要的清洗转换的工作将被手工或者低水平程序完成,因为这些工作很难写和维护。联机数据库和网基信息系统数据转换的过程和数据仓库的类似,特别的,通常有为提取数据源做的包装和为集成作的一个调停。目前为止这些系统只能为数据清洗提供有限的帮助,他们主要关注于为计划转化和集成做的数据传输。数据需要从多个数据源提取出来而不是如同在数据仓库中那样预先集成,在查询进行时被转换和联合。这些通信联系和处理过程的迟缓所造成的影响是无法在可以接受的响应时间内完成。在提取和集成过程中需要作的数据清洗工作的努力,将进一步增加响应时间,但这是为完成有效的查询结果所强制的。一个数据清洗途径应该满足及个需求。首先,它应该探测和消除所有主要的错误和不一致,无论单个还是在集成多个数据源时。该途径应该被工具支持来限制手工查找和编程努力,并且可以方便地覆盖增加的源。此外,数据清洗不应该孤立地完成,而应该和基于可理解的原数据的计划-关系数据转换协同。为数据清洗和其他数据转换作的映射功能应该通过一个被声明的方法指定并且在其他数据源查询处理时也可以重用。特别地对数据仓库来说,一个工作流的基础构造应该有支持处理所有多源数据和大数据集合转换过程的稳定有效的方法当大量的对模式转化和整合的处理研究存在时,数据清理仅得到研究机构的很少注意.有些作家关注于重复的鉴定和消除,有些研究组织注意于不仅和数据清洗有关的通用问题,比如特殊数据挖掘,基于计划比较的数据转换。最近,一些研究努力建议和调查使覆盖多个转换状态的数据清洗更易于理解和统一处理,特别算子和它们的执行。在这篇文章中,我们提供一个对这问题在数据清洗和解决方法上的全局阐述。在下一章节我们提供一个对这些问题的分类。第三章讨论用工具进行的主要清洗方法和研究文献。第四章总览包括ETL在内的商业上的数据清洗公爵,第五章是总结。2.数据清洗问题这章分类了用数据清洗和数据转换来解决的主要数据质量问题。如我们所知道的那样,问题都是相互关联而且由此就可以以同一种方式来处理。对于在结构,表达形式或者数据内容上任何的改变数据转换都需要提供支持。这些转换在很多情况下变得很有必要,比如模式演化的处理,遗传系统到一个新的信息系统的迁移,或者当多个数据源需要集成时。如图2所示,我们粗略地在一源和多源之间模式和实例相关问题之间进行分类模式。模式水平问题自然又实例反映出来;他们可以在改进的模式设计,模式转换和模式集成中讲述清楚。实例级别的问题,从另一个方面来说,和在实际数据内容上的错误和不一致相关,这些是无法在模式级别上可以解决的。它们是数据清洗基本关注的东西。图2同样显示了对于很多例子来说较为典型的问题。尽管没有在图2上表示,和某些多源问题一样。一源的问题发生在多源的实例中。2.1单源问题一个源的数据质量很大程度上取决于它是否用模式和集成约束控制容许的数据值来管理。对于没有模式的源,比如一个文件,几乎没有对什么数据可以被输入和存储有限制,将带来很大错误和不一致性的可能性。数据库系统,从另一方面说,加强一个特定的数据模式的约束(比如,the relational approach requires simple attribute values ,referential integrity, etc)正如特定集成约束的应用一样。模式相关数据质量问题常因为适当的模式指定的缺乏或者应用集成约束的缺乏,比如由于数据模式的有限性或者较差的模式设计,或者因为只有横扫较好的集成约束被定义去限制超过集成控制的过高构架。实例方面的问题和无法在模式级别预先消除的错误和不一致性相关。(比如,拼写缺漏)。对于模式和实例级别两者的问题来说,我们可以区分不同问题的范围:属性(类别),记录,记录类型和源;这些事例的范例在table1和2中都有展示。记住在模式级别的唯一约束并不能避免重复实例,比如,如果真实世界的相同信息用两种不同的属性输入(看表2的例子)。得到干净的数据源是一个昂贵的过程,避免脏数据被输入显然是减少清洗问题的一个重要的步骤。这就要求一个合适的对数据库的模式和集成于数的设计,数据输入应用也是一样的。同样,在仓库设计时的数据清洗规则的发现能改进约束,这是通过已有的模式做到的。2.2 Mulit-source problems这个在单源中出现的问题在多源需要集成时表现得严重得多。每一个源可能包含脏数据而且这些源中的数据表现形式也可能不同,交叉或者抵触。这是因为这些源是为了不同的需求开发,配置,维护。这导致大量的关于数据库管理系统的异构,数据模式,模式设计和实际数据。在模式级别,数据模式和模式设计的不同处可以通过模式转换和集成来得到解决。和模式设计相关的主要问题三命名和结构冲突。命名冲突是当相同的名字被用在不同的对象(同名异物)或者不同的名字用在相同的对象上(同物异名)时产生的。结构冲突发生在很多变量和对不同源的同一对象的不同陈述的引用中,例如,属性与表的表达方式,不同组件结构,不同数据类型,不同集成约束等等。另外,对于模式级别的冲突来说,很多冲突只在实例级别显示(数据冲突)。所有的单源问题能够在不同源中以不同的表现形式发生(例如,重复记录,矛盾的记录。。。)更多的是,即使有相同属性名和数据类型,也有可多个有不同的值表达式(比如对于婚姻状况)或者跨越不同源的不同的值的传达(比如,美元和欧元的计量单位)。更多时候,在这些源中的信息可能被不同的合并级别表达(比如,当前销售时来自昨天的源1和上周的源2)。一个多源数据清洗的主要问题是确认相互交迭的数据,即相关联的同一现实世界实体的特定匹配记录。这个问题有时被称为对象身份问题,重复消除或者融合/净化问题。经常地,信息只是部分的冗余,同时源可能通过提供增加关于实体的信息完成对数据的处理。因此,重复信息可能被净化并且完成信息处理的过程应该为到达对真实世界尸体的持续的观察被整理融合。在图3例子中的两个源都三有理数形式但展示的模式和数据冲突。在模式级别上,有命名冲突(同物不同名,客户/顾客,Cid/Cno, Sex/Gender)和结构冲突(不同的名称和地址表达式)在实例级别上,我们注意到有不同的性别表达方式(“0”/“1”vs.“F’/”M”)和可以假定的重复记录(Kristen Smith).稍后的发现同样展示当Cid/Cno都是源指定的身份,他们的内容是不能在两个源中进行比较的;不同的数字(11/493)可能关联到相同的人。但不同的人可能拥有相同的数字.解决这些问题需要模式整合与数据清洗;第三个表显示了一个可能的解决方法.注意模式冲突应该第一个被解决,这是为了数据清洗能在基于一个统一的命名和地址表达式上探测重复,匹配gender/sex的值通常,数据清洗涉及到几个方面• 数据分析:为了探测三何种错误和不一致性需要被消除,需要一个针对细节的数据分析.另外对数据或者数据样本的手工探测,分析程序也要可以收集关于数据的属性的元数据和探测数据质量问题.• 转换工作流和映射规则的定义:取决于数据源的种类,数据源的异质程度和它们的数据"肮脏"程度,可能不得不执行大量的数据转换和清洗步骤.有时候,一个模式转换可能被用于将源映射到一个普通数据模型;对于数据仓库来说,关系表达式典型的被用到.前期的数据清晰步骤可能改正单源实例问题并且准备开始数据集成.稍后的步骤处理模式/数据集成和清洗多源实例的问题,例如,重复.针对数据仓库,为这些转换和清洗步骤作的控制和数据流应该用定义ETL过程的数据流规定(图1). 为能够自动化生成转换数据代码,模式相关数据转换和清洗步骤,需要尽可能的用一种公布的查询和映射语言来规定.另外,在一个数据转化工作流中调用用户编写的清洗代码和特定目的工具也应该是可以的.转换步骤也可能因为用户没有建立清洗逻辑而要求用户对数据实例反馈.• 确认:一个转换工作流和转换定义的改正和效果应该被测试和评估,比如,在一个样本或者复制品中,为了可能的需要而改进定义.分析,涉及和确认步骤的多个反复可能是必须的,比如,因为一些错误在应用一些转换后仅仅变得表面化.• 转换:执行转换的步骤既可能通过装载和刷新数据仓库ETL工作流也可能通过回答多源上的查询.• 清洁数据的回流:在(单源)错误消除后,为了给后续应用以改进的数据和避免未来数据提取重复做清洗工作,清洁数据应该替代源中的肮脏数据。对于数据仓库,清洁数据是可以从分段运输区域利用的。(图1)转换过程很显然要求大量元数据,比如模式,实例级别数据特征,转换映射,工作流程定义,等等。对一致性来说,机动性和重用的便利性,这个元数据应该在基于DBMS的库中可以维护。为保证元数据质量,关于数据转换过程的细节信息要在库和实例中被记录,这些信息包括关于源数据和系列信息的完整性和更新度的特定信息,而系列信息是关于转换对象的最早状态和应用到它们的改变。例如,在图3中,导出的表Customers包含了允许最终原记录的CID和Cno的属性,接下来,我们描述更多用于数据分析的详细的方法(冲突探测),转换定义和冲突决定。对于模式转换的方法和模式转换的集成,我们在这篇著作中涉及到他们的问题已经广泛的被研究和描述了。命名冲突可以通过重命名来解决;结构性冲突要求局部重构和对输入模式的融合。3.1数据分析在模式中反映的元数据显然没有充分估计到源的数据质量,尤其如果只有少量集成约束存在。这样的话分析获得真实元数据特征或者特别的值模式的实例是很重要的。元数据帮助找到数据质量问题。更多地,它对确认源模式的关联属性用重要作用,基于这些属性才能得到自动化数据转换。有数据压型和数据挖掘两种用于数据分析的方法。数据压型关注于单独属性的实例分析。通过它能得到比如数据类型,长度,值的范围,离散值和频率,变量,唯一性,空值的发生,典型string式样(例如:电话号码)等信息,提供一个能对各种质量方面属性的额外的察看。表3展示了元数据如何能辅助探测到数据质量问题的范例。数据挖掘有助于在大型数据中发现特殊数据模式,比如,多个属性所拥有的关系。这是被称为描述性的数据挖掘模式的关注点,它包括聚类,摘要,联合发现和排列发现。如[28]所示,在属性中的集成约束如功能依赖或者专门应用中的“商业规则”都能实现,它们可以用来完成丢失的值,改正非法数据和从数据源中确认重复的记录。例如,一个高可信度的联合规则能在实例违背规则时暗示出现了数据质量问题。所以一个可信度达99%对于规则”total=quantity*unit price”显示1%的记录不符合比功能且要求更细的诊断。3.2 定义数据转换数据转换一般处理多个步骤的组成,这些步骤每一步都可能执行模式相关转换(映射)和实例相关转换(映射)。要允许某个数据转换和清洗系统产生转换代码并且那样还要减少自编译的数量,用合适的语言来指定被要求的信息是必要的,比如GUI支持的。很多ETL工具(看第四章)通过支持专门规则语言来提供这样的功能。一个更普遍和可行的方法三用标准查询语言SQL来完成数据转换和利用专门应用语言来扩展,比如在SQL:99中支持的[13]14]特殊用户定义函数(UDFs)。UDFs能在SQL中实现也能在通用程序语言中用嵌入SQL语句来实现。他们允许大范围内实现数据转换和支持对不同转换和查询任务的简单重用。更进一步,由DBMS对他们的执行能减少数据访问成本并且这样的话题胜利性能。最后UDFs是SQL:99标准的一部分而且应该(最终)方便地跨越多个平台和DBMSs。图4展示了一个SQL:99的转换步骤,这个例子与图3有关,并且覆盖了将要应用到第一个源的必要的数据转换。该转换定义了能完成深度映射的view. 该转换完成了一个模式的调整,这是通过分离源中的名称与地址来获得view中增加的属性。UDFs完成被要求的数据的抽取。UDF的处理能够包括清洗逻辑,比如,消除拼错的城市名称或者提供丢失的zip代码。UDFs可能仍然意味着一个潜在的实现方式而且不支持所有必要的模式转换。特别地,不能经常支持如属性分离或者融合这样简单常用的函数,而要经常在专门应用的变量中重新处理(见图4中的特殊提取函数)。更多的复杂模式重建(比如,折叠和打开属性)并被完全支持。为大量支持模式相关转换,语言扩展如SchemaSQL的建议就被提出来了。在实例级别上的数据清洗也能从特殊语言扩展中受益,比如一个支持“相似连接”的匹配操作数(见下面)。对这样强大的操作数的系统支持能大大地简化数据转换中的编译工作同时提高性能。目前致力于数据清洗的一些研究还在调查这样的查询语言扩展的有效性和实现[11][25]。3.3 冲突仲裁必须制定和执行一套转换步骤来解决大量的模式与实例级别的数据质量问题,这些问题常常在数据源附近反映出来。一些类型的转换要在单独数据源上完成,这是为了处理单源问题和准备和其他源的集成。另外对一个可能需要的模式转换,有些预备步骤一般包括:•从自由格式属性中提取值(属性分离):自由格式属性经常占有多个单独的值,这些应该被提取出来产生一个更精确的表达同时支持更多的清洗步骤比如实例匹配和重复的消除。典型的样本三明治和地址领域(表2,图3,图4)。在这个步骤中的所需求的转换是在一个区域内重新排列值,这个区域是处理文字传输和为属性分离作的值提取。• 确认和改正:该步骤将车每一个圆实例是否有数据输入错误同时试图尽可能自动修改它们。基于字典搜索的拼写检查对鉴别和改正拼写错误是很有用的。并且,邮编和地理名称字典有助于改正地址错误。属性依赖(birthdate-age,total price-unit price/quantity,city-phone area code,…)能被利用区探测错误和替代丢失的值和改正错误值。• 标准化:为促使实例匹配和集成,属性的值应该被转换成一个统一的格式。比如,日期和时间输入应该是一种专门的格式;名称和其他string类型数据应该转换到或者高或者低的格等等。文本数据应该通过处理词干,移去前缀和后缀停止字符来被精简和统一格式。此外,缩写和编码模式应该可以通过咨询的特殊同名字典或者应用预定义转换规则来解决。处理多源问题要重建模式来完成一个模式的集成,包括分离,融合,折叠,打开属性和表等步骤。在实例级别上,冲突的表达式需要解决,交迭数据需要处理。消除重复的任务一般要在多数其他转换和清洗步骤之后,尤其三在完成清洗单源和冲突表达式后。既可以同一时间在两个清洗过的源完成,或者一个源已经集成到数据集里的时候。消除错误需要:首先,确认也i就是匹配相同记录是否关联着相同实体。然后,相同数据被融合到一个包含相同实体的记录中去。此外,多于记录被净化。接下来我们讨论实例匹配对关键问题。更多这方面细节在其他地方提供[22]。在最简单的例子里,每个记录里都有一个确认属性或者属性联合,它能用来匹配记录,比如,如果不同源里共有一个主键或者由其他通用唯一属性。不同源中的实例匹配在那时间通过在确认属性上的一个标准的相同联合来完成。在一个单源集合的例子中,匹配能被排列确认属性和检查相同记录是否匹配来决定。两个例子中,既是对大型数据集高效完成都是可以实现的。不幸的是,对于没有普通键的属性或者脏数据这样直接迅速地方法常常是有限制的。为测定大多数或者全部匹配,根据匹配规则找到相似记录,一个模糊匹配(相似联合)变得越来越需要。例如,被特别声明或者被用户定义函数实现[14][11]。举例:这样一个规则能够声明人的记录很可能符合如果名称和地址部分匹配的话。两条记录的相似程度经常由一个在0到1之间的小数来衡量,经常取决于应用的特征。例如,不同的属性在一个匹配规则下可能体现出不同程度的相似度。对于string组件来说(比如,客户姓名,公司名称,。。。)精确匹配和模糊方法,基于通配符,字符频率,编辑距离,键盘距离和语音相似度等的,都是有用的[11][15][19]。很多复杂的string匹配方法也考虑到缩写[23]。一个对匹配string和text的通用方法是使用普通信息修补公制。WHIRL代表一个可信的日志表达方式,它使用向量空间模型的组成距离来决定文档之间的相似程度。用这样一种方法决定匹配的实例对于大型数据集合来说显然是一个花费极大的操作。推断数值的相似程度对于任何两条记录来都意味着在笛卡儿产品输入上进行匹配的评估。此外在相似值上的排列对于对于决定匹配包含重复信息的记录是很重要的。所有针对相似值的记录超过一个极限能被认为三匹配,或者是作为由顾客确定的匹配的候选。在[15]中一个多通道方法被建议用在实例匹配中来减少overhead。这是基于匹配来自不同属性的记录。和结合不同匹配结果。假设一个单独的输入文件,每一个匹配传输排列在一个特别属性上的记录并且仅用某个确定的窗口测试邻近记录,无论他们是否满足一个预定义的匹配规则。与笛卡尔产品方法相比,这大大减少了匹配规则的运算数量。 每一个通过和关闭的匹配对的集合占有了种的匹配集合。4 Tool support可以在市场上找到大量工具来完成数据转换和数据清洗任务,尤其是数据仓库。有些工具集中处理某些领域,想清洗名称和地址,或特别的清洗方面,比如数据分析或者重复消除。由于它们被局限在某些领域,专业化的工具一般能很好地完成任务但必须用其他工具来解决广泛的转换和清洗问题。其他工具,比如,ETL 工具,提供了易于理解的转换和工作流容量来覆盖达赖能够的数据转换和清洗过程。ETL工具的一个普遍问题是他们有限的协作能力,这是因为私有的程序应用接口(API)和私有元数据格式是的它很难联合其他几种工具的功能[8]。我们首先讨论数据分析和数据重建的工具,它们处理实例数据来确认数据错误和不一致性,并且得到相关联的清洗转换。我们然后展示专门的清洗工具和ETL工具。4.1 数据分析和重建工具根据我们在3.1中的分类,数据分析工具能被分为数据压型工具和数据瓦据工具。MIGRATION ARCHITECT(Evoke Software)是少量商业数据压型工具之一。对每一个属性来说,它决定了以下真实元数据:数据类型,长度,基数性,离散值和他们的百分比,最小和最大值,丢失的的值和唯一性。MIGRATION ARCHITECT也帮助了针对数据迁移的目标模式的开发。数据挖掘工具,如WIZRULE(WizSoft)和DATAMINGSUITE(InformationDiscovery),显示检验过的列的数目来推断属性们和他们的值和计算可信度的关系。特别地,WIZRULE能显示三种规则:数学公式,if-then规则,和基于拼写的规则显示漏拼的名称,比如“value Edinburgh appears 52times in field C2 case(s) contain similar value(s)”,WIZRULE也能自动指到偏差位置如果从发现规则集合中发现了可疑的错误。数据重建工具,比如,INTEGRITY(Vality),利用发现的模式和规则来指定和完成清洗转换。4.2 专业清洗工具专业清洗工具一般来说是针对专门领域,基本上是名称和地址数据,或者专注在消除重复。转换是由预先定义的规则库或者和用户交互来完成的。二者择一地,数据转换可以象[21]中描述的那样从模式匹配工具中导出。•特殊领域清洗:名称和地址由多个源记录同时有高的集的势。比如,对于用户关系管理,找到客户是很重要的。某些商业工具,比如IDCENTRIC(FirstLogic),PUREINTEGRATE(Oracle),QUICKADDRESS(QASSytem),UM(TrillliumSoftware),就是清晰这样的数据的。他们提供了象提取和转换名称地址信息到个人标准,规范街道名称,城市和邮编等技术,这些是和用基于清洗过的数据衍生的匹配功能的联合来实现的。他们与大量的预定义规则协同来处理一般在处理数据中发现的问题。比如TRILLUM的提取工具和匹配工具模式包含了超过200,000的商业规则。这些工具同时也提供了客户化或者扩展用户为专门用途定义的规则库的功能。•重复消除:用来确认重复和消除的工具,比如DATACLeaner(EDD),MERGE/PURGELIBRARY(Sagent/QMSoftware),MATCHIT(HelpITSystems),和(MASTERMERGE(PitneyBowes).通常,他们要求要匹配的数据源已经被清洗。一些用来匹配属性值的方法已经被支持;象DATACLEANSER和MERGE/PURGELIBERARY也允许用户指定匹配规则的集成。
阅读(2097) | 评论(0) | 转发(0) |
上一篇:没有了
相关热门文章
给主人留下些什么吧!~~
请登录后评论。

我要回帖

更多关于 什么叫做数据库窗体 的文章

 

随机推荐