分享
 
 
 

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

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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

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重现的数据复制”数据分发工作原理

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有