异构数据库复制技术的研究与实现(上)

原创 2004年06月11日 10:11:00

异构数据库复制技术的研究与实现<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

1 引言

网络技术的飞速发展和广泛应用,特别是因特网的普及,大大方便了企业的跨地域发展。同时,为了适应不断增长的商业竞争环境,许多企业通过不断重组和分散经营来提高效率,形成了分散、异构的环境特点。同时这些组织在地域上虽然分散,但在管理上相对集中,往往既要有各部门的局部控制和分散管理,也要有整个组织的全局控制和高层次的协同管理。这种协同管理要求各部门之间的信息既能灵活交流和共享,又能统一管理和使用。

当前,分布式数据库技术已经成熟,并且因计算机成本的下降以及通信费用的降低而得到了广泛的应用。然而,分布式数据库系统既要提供局部自治又要实现全局控制,带来了很大的挑战性。为此,引入数据库复制机制,数据库复制依赖于分布式数据库技术但又可以提供分布式数据库所不具备的功能,特别是由于在存取数据时有可选的数据副本,因此可以改进系统的性能和保护应用的可用性。通过使用数据库的复制技术可以实现集中和自治相结合的控制机制,并可大大提高整个分布式数据库系统的可靠性和响应速度。

现有的异构数据库复制方案优势突出,比如在运行性能和整体性方面都有着明显的优势,而且产商大多提供了一些辅助工具可以协助用户更好地完成复制任务等;但同时问题也存在:数据库产商提供的复制方案依赖于产商自己的DBMS核心关系紧密的实现技术,不一定适用于其它DBMS,也就是说复制方案不是完全异构的。

为解决完全异构问题,本文提出一种新的复制技术:“基于SQL重现法”复制技术,“基于SQL重现法”复制技术的核心思想就是为源数据库中的复制对象(源表或视图)创建变更轨迹表,当源表发生变化时,变更轨迹表中记录了变更情况,再通过事后从变更轨迹表中获取SQL语句,将源表中的数据复制到目标表中。这种方法可以获得复制对象的净变化,运行和传输效率很高,而且易于管理,弥补了解决复制冲突的不足。这种方法适合于除同步复制之外的各种复制形式。

本文将从工作原理、设计思维、实施过程以及技术特点等几个方面介绍“基于SQL重现法”复制技术。

数据库复制就是通过将源数据库中指定的数据复制到目标数据库中,以保持源数据库与目标数据库中指定数据的同步。它应该由哪些部分组成,关于这一点目前还没有很统一的看法。

本文这样描述数据库复制的流程:在源数据库获得复制对象的变化情况,然后把它们从源数据库传送到目标数据库,并修改那里的副本。

根据以上描述本文把整个复制流程分为两个功能相对独立的处理步骤:变化捕获(Change Capture)与数据分发(Data Distribute),把它们称为组成数据库复制的两个主要环节。

本文后面的内容都将围绕这两个环节进行阐述。

2 工作原理

1)变化捕获

变化捕获是捕获源表的变化序列的过程。“基于SQL重现法”数据复制技术捕获变化的核心思想是为多个相关源表(极端的情况可能是一张源表或整个数据库的所有表,在这里称为一个“源集”)创建一个变更轨迹表,其中包含发生变更的序列号、变更时间以及还原后的SQL语句等信息,当源表发生变化时,就立刻在变更轨迹表中记录下源表的变化情况,此时变更轨迹表相当于基于日志法中的“日志”,变更时间相当于基于时间戳法中的“时间戳”,但是由于这个过程不是由数据库引擎本身实现的,因而需要依靠触发器来实现。也就是说,需要为每个源表建立触发器,当源表发生修改、插入和删除操作时,触发器被启动,通过调用存储过程,将源表发生的操作还原为SQL语句,向该源表对应的变更轨迹表中插入变更时间和还原后的SQL语句,工作原理如下图所示。

 

 1 “基于SQL重现的数据复制”变化捕获工作原理

 

2)数据分发

数据分发是指将源表的变化信息实施到相应的目标表中的过程。针对“基于SQL重现法”复制技术捕获变化的方法,数据分发是指根据变更轨迹表中的序号,按顺序从变更轨迹表中获取对应的SQL语句,然后通过实施程序在目标服务器上执行此SQL语句,将源表发生的变化应用于目标表,执行成功后删除变更轨迹表中对应序号的记录。数据分发工作原理如图2所示。

2 “基于SQL重现的数据复制”数据分发工作原理

多源异构环境下数据库的同步复制技术研究

参考链接:http://www.toutiao.com/i6253620263447953922/ 多源异构环境下数据同步复制技术的研究 电子技术应用 2016-02-21 13:44 摘 ...
  • iie_libi
  • iie_libi
  • 2017年04月01日 10:55
  • 336

Oracle GoldenGate配置异构数据库数据传输(oracle到sqlserer)的dml操作(带pump进程)

实验环境: os01:Red Hat Enterprise Linux Server release 5.1 (32位) db01:oracle 10.2.0.1.0 os02:Window...
  • qq_36276335
  • qq_36276335
  • 2017年03月15日 17:41
  • 482

《云计算架构技术与实践》连载(7)2.2.2 异构集成技术

版权所有,未经华为书面许可,请勿转载或转发。     2.2.2 异构集成技术 1.异构硬件简化管理集成技术 异构的内容包括: l  Hypervisor层硬件异构:例如...
  • Cloud_Architect
  • Cloud_Architect
  • 2014年12月08日 10:11
  • 2368

同构和异构数据库

同构分布式数据库:所有站点都使用共同的数据库管理系统软件,它们彼此了解,合作处理用户的需求。本地的站点放弃了作为其自治权一部分的更改模式或者数据库管理系统软件的权利。 异构分布式数据库:不同的站...
  • niezhihui2008
  • niezhihui2008
  • 2016年09月14日 12:25
  • 4175

利用数据库复制技术实现数据同步更新

复制的概念   复制是将一 组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台 服务器上,从而使不同的服务器用...
  • my98800
  • my98800
  • 2016年08月29日 09:12
  • 536

大数据融合技术:问题与挑战

大数据融合技术:问题与挑战本文为《大数据融合研究:问题与挑战》的总结。概述数据的特点: 多元性——数据类型多样;数据内容“维度”多样;数据所涉及的知识范畴的“粒度”多样 演化性——指数据随时间或解释的...
  • Subson
  • Subson
  • 2017年06月19日 18:30
  • 470

四种主流复制技术介绍,复制原理,优缺点分析

谈容灾,谈灾备,我们总是不可避免的要提到复制技术。因为复制技术具有备份所不具备的切换优势(详见备份和复制的区别),能够得到更好的恢复点目标(PRO)和恢复时间目标(RTO),所以成为较高层次容灾方案设...
  • jianjian2024
  • jianjian2024
  • 2015年12月04日 17:02
  • 2932

基于服务的多源异构数据整合平台解决方案

摘要:在跟很多客户的沟通过程中,用户常常提出这样的问题:目前我们的数据库中已经存储了大量的数据,包括结构化的和非结构化的,但是分布在不同的系统,各个业务系统从这些数据库中取数据的需求和情况越来越多,已...
  • liukai31415926
  • liukai31415926
  • 2017年03月28日 22:31
  • 626

Goldengate 使用definition file完成异构表同步

goldengate默认只是按照创建表时,列的顺序来执行数据的复制过程。所以当两端的表有不同的name、length、type、顺序的时候,goldengate不会识别,会发生错误的现象。这个时候就需...
  • renfengjun
  • renfengjun
  • 2016年03月12日 13:28
  • 2499

SQL SERVER2000利用数据库复制技术 实现数据同步更新

复制的概念 Microsoft? SQL Server? 2000 的复制是在数据库之间对数据和数据库对象进行复制 和分发并进行同步以确保其一致性的一组技术。 使用复制可以将数据分发到不同位置,...
  • hdhai9451
  • hdhai9451
  • 2013年08月31日 21:50
  • 1153
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:异构数据库复制技术的研究与实现(上)
举报原因:
原因补充:

(最多只允许输入30个字)