【技术实现步骤摘要】
本专利技术涉及数据复制(replication),并且尤其涉及在数据库管理系统中采用的方法和系统,用于将源数据库结构中含有的数据与在目标数据库中复制的对应于源数据库表的数据进行比较,并且识别任何差异。
技术介绍
数据复制是企业通过数据冗余保证连续数据复制的惯常做法。从技术的角度出发,有基于磁盘复制方法和基于中间层软件复制方法。根据复制协议,有同步复制和异步复制。在异步复制中,做了导致数据变化的事务后,复制数据;因此,不影响源站点事务性能。为了证实数据是否100%准确复制,特别是当应用异步复制时,通常使用数据比较应用。对于数据库,进行比较以在每个关键值和每个记录列的记录数量方面保证源中的和(复制)目标的数据项一致(匹配)。当数据库表变得非常大,并且两个数据库在物理上相距远(例如,某个距离)时,这种比较非常昂贵,因为从表提取数据,并且将一个数据库中的行发送到另一个进行比较的成本。为了减少传递的数据量,可以传递一个或者多个记录的校验和,代替记录本身。仅当校验和比较不匹配时,才采用行比较。此外,为了改善性能,能够采用并行比较,并且为了确认有效而比较数据块的校验和。然而,并行比较仅改善比较的历时,而不减少工作量,并且因此,I/O和网络仍紧张并且占用CPU。对于许多客户,非常希望降低进行表差异比较的成本。这样既包含比较成本又包含比较花费的时间。此外,数据量可以极高。在这种情况下,比较必须使得当进行该比较时资源不崩溃。
技术实现思路
本
存在以某个准确性级别,而非基于逐行检查方式(例如,利
用行数据或者校验和)提供轻量比较的需要。本
还存在提供 ...
【技术保护点】
一种表数据比较的方法,包括:识别包括源数据库表的数据的行的子集的块和包括第二数据库表的数据的行的子集的相应块;获得与包含在所述源表的识别块中的数据关联的统计结果值,并且获得包含在目标表块的所述相应块中的数据的又一个统计结果值;比较统计结果值,以确定匹配结果;以及基于所述比较的结果,确定每个源数据库表和目标数据库表的块是否一致,其中编程处理器设备执行所述识别、获得、比较以及确定操作。
【技术特征摘要】
2015.03.20 US 14/663,8191.一种表数据比较的方法,包括:识别包括源数据库表的数据的行的子集的块和包括第二数据库表的数据的行的子集的相应块;获得与包含在所述源表的识别块中的数据关联的统计结果值,并且获得包含在目标表块的所述相应块中的数据的又一个统计结果值;比较统计结果值,以确定匹配结果;以及基于所述比较的结果,确定每个源数据库表和目标数据库表的块是否一致,其中编程处理器设备执行所述识别、获得、比较以及确定操作。2.根据权利要求1所述的方法,还包括:在确定了不匹配比较结果时,提取每个所述识别的且相应的块,并且还对所述识别块和相应块中的行的逐行比较累计数据进行比较,以进行一致性确定;或者在确定匹配比较结果时,避免为了对所述识别的且相应的块执行逐行比较从所述块所述提取所述数据。3.根据权利要求2所述的方法,其中所述源数据库表和所述目标数据库表包括多个块,并且在确定匹配比较结果时,从所述源数据库表和目标数据库表识别又一个块,并且对所述又一个块重复所述获得、比较和一致性确定,以及对多个块重复所述识别、获得、比较和一致性确定。4.根据权利要求3所述的方法,其中所述识别块包括识别物化查询表图,所述物化查询表图定义形成在先应用用户数据库查询操作的结果的行的子集。5.根据权利要求3所述的方法,其中所述识别块包括识别通过抽样操作选择的所述源数据库表的行。6.根据权利要求5所述的方法,其中所述抽样操作采用随机选择函数。7.根据权利要求3所述的方法,其中所述获得统计结果值包括如下中的一个或者多个:采用处理收集统计结果,统计结果包括:所述块或者表的行计数(基数)
\t值、所述块或者表的列计数值、所述块或者表的平均行长度值、统计结果的基数和直方图、键基数值、对所述块或者表的一个或者多个列产生的规定累计值、对所述块或者表的一个或者多个列产生的规定平均值、对所述块或者表的一个或者多个列产生的规定标准偏差值;以及采用用户定义函数处理所述块中的所述数据,以计算统计结果值。8.根据权利要求3所述的方法,在所述目标数据库表包含由所述源表复制的数据的数据库环境下运行,所述方法还包括:在第一时间点,确定所述源表中的所述识别块的行与所述目标表中的所述相应块的所述行之间的第一组差异;在所述第一时间点后至少复制等待时间间隔之后的第二时间点,确定所述源表中的所述块的行与目标表中的所述块的所述行之间的第二组差异,基于不同时间点的所述第一组差异和第二组差异,将所述源表的所述识别块与所述目标表的相应块之间的差异确定为是持久性类型、非持久性类型、暂停类型或者未知类型中的一个。9.根据权利要求8所述的方法,还包括:确定进入操作的未提交读出(UR)隔离级别模式,使得查询数据避免与一个或者多个用户应用争用锁,以及如果确定进入所述UR模式,并且当前时间在复制等待时间间隔之后,则再比较所述源表和目标表的相应块中的相应行的数据的所述累计数据值,并且如果确定所述行的所述再比较的累计数据值匹配,则所述差异类型不是持久性的,否则,如果确定所述再比较累计数据值差异为不匹配,则比较当前确定差异结果和从在先等待时间间隔发生的所述行的差异确定结果,并且如果确定所述当前差异结果与在先差异结果之间的所述比较差异匹配,则确定是否在使共享锁布置于提取行上并且使另一个处理将共享锁布置于同一个行上的操作的游标稳定性(CS)隔离级别模式下评估了所述行的所述差异结果,并且如果未在操作的所述CS级别模式下操作,则确定所述差异类型是未知的;并且如果确定所述当前差异结果与在先差异结果之间的所述比较差异匹
\t配,则确定所述差异类型是持久性的。10.根据权利要求9所述的方法,其中如果确定所述行的所述比较的当前确定差异结果和所述在先差异确定结果不匹配,则:在所述UR模式下,将对所述源表和目标表中的块的相应行重复所述再比较所述累计数据值规定的迭代次数,直到检测到匹配状况;并且如果在同一个迭代中未检测到匹配状况,则:对所述行重复所述比较所述当前确定差异结果和所述在先差异确定结果;以及如果在达到所述迭代次数之后,保持所述不匹配状况差异结果,则确定所述持久性类型是暂停的。11.一种用于表数据比较的系统,包括:存储器,配置所述存储器,...
【专利技术属性】
技术研发人员:S布尔诺奈斯,YO劳,李潇,闵红,J威伦加,周祥为,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。