数据库同步复制技术毕业论文.doc
《数据库同步复制技术毕业论文.doc》由会员分享,可在线阅读,更多相关《数据库同步复制技术毕业论文.doc(28页珍藏版)》请在三一办公上搜索。
1、1 概述1.1 数据库复制的定义 在早先的集中式应用中,所有的数据都存放在数据中心,远地部门要获得信息,必须与中心建立直接连接,或者从中心MIS系统申请打印好的报表。但是这两种方式都有各自的缺点,直接连接开销较大,稳定性不好,并且还有连接用户数的限制;而报表灵活性较差,并且也不能及时反映最新状况。开放系统为企业的各个部门提供了便宜而且强大的计算资源。充分利用这些新的资源实现信息共享的能力成为企业最重要的竞争优势。企业今天面对的问题已经不是“为什么要分布和共享信息”,而是“如何有效地分布信息”,复制正在成为大多数分布式应用体系结构的选择。1.2同步复制技术常用的几种方式1.两阶段提交八十年代后期
2、,两阶段提交技术的概念为分布和共享数据提供了更实时的途径。两阶段提交可以实现分布式数据间的同步。在这种技术下,只有当与交易相关的各个点全都认可时,交易才被接受并执行。各分布节点可通过精心制作的“握手”机制进行协同。 图1: 两阶段提交数据同步在两阶段提交中,直到所有相关站点都同意进行交易,交易才被接受并执行。当企业的确需要对分布式数据进行实时同步时,采用两阶段提交可能比较合适。但这是有代价的。由于在交易被认可之前,所有分布节点都需要同步认可,信息系统容易受到单个组件故障的影响。如果任何一个组件失效,则交易必须等待。操作就受制于单个组件的失败。此外,握手机制是通过节点间信息的传送来实现协调的,这
3、为网络带来了很大的负担。由于分布式系统中网络连接和单个组件都可能发生故障,很多组织开始寻找更经济实用的方式来实现协同数据共享,同时希望将对操作的影响降到最小。显然,实时分发当前数据拷贝可解决这个问题。由于有了有效的数据备份,各独立节点不再需要考虑网络或远程节点的可用性。它们可以使用本地数据备份继续进行操作,不过,分布节点所操作的数据并不是同步和实时的。2.异步复制技术1.Dump 和 Reload方式很早的时候,企业就开始采用先“卸载”数据(可能通过磁带方式),然后在另一个节点“重新加载”数据的方式来进行数据分布。在那个时候,各机构之间通过邮寄数据磁带进行数据复制的情景很常见,而业务部门决策时
4、所使用的数据可能是几天甚至几周前的数据。 采用“卸载和重新加载”进行数据分发,使企业不同地区之间共享数据成为可能,但是每个地方的数据都不是实时的,并且整个过程通常采用的是手工方式,没有实现自动化。3.表快照方式由于DUMP/LOAD方式的数据及时性较差,并且复制数据粒度无法控制,随后厂商提供了采用表快照的方法来解决这些问题。表快照实现了对单个表、表子集、甚至基于预定义的表集合的变更的异步发送。虽然与“卸载和重新加载”过程相比,表快照先进的多,但它还是存在一些明显的不足,这些缺陷限制了它的适用性。首先,快照不能保证交易完整性;其次,快照只是一个“只读“拷贝,其它节点只能获取但不能进行修改。快照在
5、拷贝单个的数据表或数据项时,并不保持交易的原子性。当交易中断时,分布式数据之间的完整性就可能得不到保证。例如:如果银行使用快照方式来分发你的银行帐号信息,存款帐号信息和支票帐户信息的复制是独立的,如果你将钱从存款帐户转到支票帐户,存款帐户的改变可能没有在支票帐号改变时同时进行拷贝。黑客可能利用这些缺陷攻击这类不可靠的银行支付系统。很显然,对于任何一个重视数据完整性和一致性的企业来说,这种方法是不被接受的。此外,采用表快照方式只能实现数据的单向传输,虽然数据可以备份到多个节点,但备份是只读的,各节点不能对分布式数据进行任何修改。4.数据库触发器方式除了快照,一些数据库厂家还提供了另外一种异步机制
6、来进行单向数据复制触发器。在早期的基于触发器的复制系统中,客户希望通过使用触发器来达到整和复制应用的目的。 你可以将触发器想象成数据库中一个警报器,该警报器与某一段特定的数据相关联。当标记的数据项发生改变时,就会触发源数据库中的相关警报器,该警报器接着激活源数据中特定的复制代码,开始进行复制。 最初,数据库厂家引入数据库触发器是为了保证数据间的参照完整性,同时将业务规则放在中心处理。其观点是数据库本身应包含一种对非法数据实体的检测机制。在引入触发器之前,必须在所有存取数据库的应用中考虑数据过滤,对于提供触发器的数据库厂家来说,基于触发器的复制似乎为产品提供了一种直接简单的扩展。 与快照相比,触
7、发器为用户提供了更大的灵活性,但早期的基于触发器的复制系统并没有克服快照技术的内在缺点:缺少对客户数据的交易完整性的支持。基于触发器的复制存在以下限制: 当数据项改变时,触发器只是进行简单数据传送,而不保证交易完整性 触发器只允许单向复制,复制点的数据是只读的,不能进行修改 在数据库中执行触发器会影响数据库的性能 触发器需要数据库管理员的细心管理,需要专人对数据改变时所有“警报器”的执行情况进行跟踪。 数据库中触发器的激活过程不能简单的“回滚”或重做。 总之,在早期的基于触发器的复制系统中,需要用户自己构建系统来跟踪并保证交易的完整性。 5.改进的数据库触发器方式如上所述,为数据复制目的而提出
8、的扩展数据库触发器技术(或者规则触发器的一种表现形式)为数据库厂家提供了一种简单的扩充其支持特性列表的方法。 然而,提供基于触发器或规则复制技术的厂家很快就意识到,他们必须面对如下事实,即简单的触发器或规则并不能保证复制数据的交易完整性,并且对复制点数据不能进行修改,而用户需要的是一个灵活的可保证交易完整性的复制系统。对于已经采用基于触发器或规则进行复制的厂家来说,其解决方法是显而易见的:与其让用户用触发器或规则作为他们整和系统的工具构建他们的复制系统,为什么不在内部使用触发器来创建一个复制产品,这样厂家就可以将用户从最低层的触发器和规则隔离开。 这些厂家引入了一种新的机制,可以将源数据库内触
9、发的数据变化组成一个交易,以此解决了基于触发器或规则的复制系统的数据交易完整性问题。虽然这个过程不可避免的增加了性能负担。 对触发器和规则进行约束限制解决了完整性等部分问题,但没有解决其它问题,如触发器给数据源造成的性能负担,给系统管理员增加的管理负担等。这些问题包括: 在数据库内部执行触发器增加了数据库性能负担。 触发器需要数据库管理员的细心管理,需要专人对数据改变时所有“警报器”的执行情况进行跟踪。 数据库中触发器的激活的过程不能简单的“回滚”或重做。 触发器的使用增加了源数据的性能和管理负担。当触发器是用于保护数据完整性或加强业务规则时,这种额外支出是必要的,但是对于复制系统这种支出是没
10、有必要的,并且在事实上,其也不适用于复制系统。 基于触发器的复制系统与源数据库捆绑过于紧密,要执行一个复制进程,必须在源数据库内执行复制代码,从而,为数据源增加了额外的性能负担。1.3数据库复制的必要性 数据库复制的必要性可分为以下几种原因:(1)信息系统存在的问题及需求 随着计算机应用系统的爆炸式发展,业务量迅速增加,业务种类日益复杂,企业必须管理不断增长的信息流量;随着信息量的急剧增大,核心数据的管理变得日益困难。如何安全、可靠地存储业务数据及满足未来业务数据高速增长的需要;如何有效管理日益增长的业务数据;如何实现业务数据的共享并在现有业务数据之上建立新兴的增值应用,如数据仓库、客户关系管
11、理(CRM)等,成为了各企业建立信息系统的关键所在。目前,各企业信息系统在数据管理领域存在着普遍的问题:(2)数据流通效率低下,企业信息孤岛现象严重 信息系统的建设主要是以应用为驱动的,是随着各种业务的逐渐建设的。当出现一类新的业务时,一般需要为该业务建设一套业务支撑系统,保存与该业务有关的主要数据。而这些数据可能同时也需要被其他应用所访问。从而自然就形成了各子系统应用在不同的纵向,管理着不同的业务单元或对象,各个子系统又是相互独立运行,导致形成了一个个“信息孤岛”。这些系统相互之间没有畅通的信息交流与共享,阻碍了企业信息化建设的整体进程。(3)数据报表、查询和数据共享效率低下为了提高市场竞争
12、力,提高客户满意度,企业需要更复杂的、更灵活的业务统计报告、需要深入的数据挖掘、需要实时的客户查询。而这些大量的统计、查询业务收到现有系统架构的制约,不得不降低效率标准、不得不推迟报告时间、从而导致客户服务质量降低、业务发展情况报告迟缓,业务发展情况不明等问题。(4)企业需要新的信息架构因此,各企业比以往任何时候相比,管理和有效使用这些信息系统的能力高低都更能决定了长期生存和发展能力,因此比以往任何时候,企业都更关注于如下领域:n 提高系统运行效率,提高业务报表、提高客户服务质量,并降低客户流失率。n 加强企业信息流通、提高企业信息的附加值、进一步挖掘企业信息价值、迅速开发和推广新业务,创造更
13、多收入并保持竞争能力。n 提高信息系统业务连续运行能力,提高数据安全保护水平。 14当前的几种Data Base以及相关介绍 目前有许多数据库产品,如Oracle、DSG、Sybase、Informix、Microsoft SQL Server、Microsoft Access、Visual FoxPro等产品各以自己特有的功能。2 复制工具介绍 2.1 Sybase复制服务器的工作原理与工作方式:Replication Server能在整个分布式系统中保持数据的精确性,是因为它通过内置(Sybase ASE)或外置(Non-Sybase ASE)的复制代理(Replication Agent
14、)监测主节点的提交事务,由复制服务器异步地发送提交的事务到存放数据拷贝的远程节点,并维护最新的数据拷贝。图2:复制服务器的工作原理上图是一个典型的复制系统,在两个 Adaptive Server Enterprise之间进行单向复制,整个复制工作流程如下:1.用户事务提交给源数据库,事务被记入Log2.Log被复制代理读出并以事务为单位传给主点复制服务器3.复制服务器完成接收、判断、迁移、组装和发送4.通过网络(LAN/WAN)事务被发送到备点复制服务器5.复制服务器在备点数据库执行该事务。*复制服务器的技术特性:(1)异步方式的实时复制复制服务器以异步方式工作,使得主点和备点之间构成松耦合连
15、接,备点的运行状态不会影响主点的运行状态。 图3:复制服务器的异步工作方式(2)基于日志的复制Sybase的复制服务器采用基于日志方式的复制,其最大好处在于对主点性能影响最小,这是由于复制代理只读取已经存入磁盘的日志,而数据库日志写入线程总是把日志先写入内存,在检查点或遇到事务结束命令才会写如入磁盘,从而可以大大降低对日志文件的争用冲突,同时由于没有使用触发器或规则,对主点数据库也不增加额外的负担,综合来看,基于日志方式的复制,使得Sybase复制服务器对于主点数据库的性能影响总是小于5。图4:基于日志方式的复制(3)以事务为复制单位Sybase复制服务器可以完全保证复制过程中的事务完整性,换
16、句话说,就是严格保证主点、备点数据的一致性,这是由于复制服务器是以事务为基本复制单位来保证的。从主点数据库复制过来的数据,都是以完整的事务为单位即以提交的事务,在整个复制工程中,也都是以事务为单位传递,最后在备点数据库执行该事务,从而保证主点、备点数据库的严格一致性。图5:基于事务方式的复制(4)支持存储转发Sybase复制服务器支持存储转发机制来克服网络故障对复制的影响。复制服务器通过在本地增加一个磁盘缓冲区称为稳定队列,当网络出现故障时,复制内容可以暂时存放在该稳定队列,网络故障排除后,复制服务器会从稳定队列取出数据复制到备点。稳定队列的大小是根据可能发生的网络故障时间长短和复制数据的大小
17、,根据经验公式估算的。稳定队列保证了复制服务器可以在网络故障后继续工作,并且无需主点数据库重发已经传送的数据,这种智能的机制非常适合于有大文本字段(如:text,image)系统的复制,节省了网络传送时间,提高复制的效率。 同时,稳定队列对于主点、备点的不同步也起到了缓冲作用,尤其时当多个主点数据同时写入备点,由于备点来不及写入,这些复制数据可以暂时存放在稳定队列,等主点数据高峰过去时,再逐次写入备点。支持复制内容的发布/订阅Sybase的复制服务器支持复制内容的发布/订阅机制,数据提供者通过复制定义向外提供自己的数据,数据消费者再通过订阅的方式筛选自己需要的数据,这样可以方便不同的数据需求者
18、仅收到自己感兴趣的数据,减轻复制和网络的负担。支持多复制定义,即允许每张表建立一个以上的复制定义,它提供了多个复制观点给用户,同时支持重命名表和列。支持多级安全Sybase的复制服务器支持ASE所具有的全部安全特性,主要分为三级: 基本安全机制: 指用户名/口令字校验方式,支持用户口令字加密处理。 企业安全机制:指复制服务器可以利用第三方提供的更高级别的安全机制,支持DCE/Kobose协议,第三方产品可以包括Novell NDS、Microsoft ActiveDirectory。 电子商务安全机制 指复制服务器支持CA认证和SSL加密,无论复制服务器做为客户端还是服务器端都可以支持SSL通
19、讯加密。支持多语言多字符集Sybase复制服务器支持多种字符集和多种语言,可以支持字符集之间的转换,更进一步,由于支持UNICODE(UTF-8/UTF-16),这样在进行字符代码转换时不会损失任何信息。支持目录服务Sybase复制服务器支持目录服务,可以让多个复制服务器共享同一组用户,这样极大简化了复制服务器的管理工作,同时也可以把复制服务器的管理纳入到企业范围内。以上是对Sybase的相关介绍,和Sybase齐名的还有DSG,也是被广泛应用于数据库复制的主流技术之一。2.2DSG RealSync的技术概览采用数据库复制技术与传统的数据复制技术不同,DSG RealSync技术是针对数据库
20、提供了基于逻辑的交易复制方式。该方式通过直接捕获源数据库的交易,将数据库的改变逻辑复制到目标系统数据库中,实现源系统和目标系统数据的一致性。DSG RealSync的优势概览该技术在复制上存在以下几个特点:(1)按需复制查询和统计系统往往不需要所有的原始数据,因此完全可以按需要复制数据。RealSync系统支持对指定信息的按需复制,减少存储和网络带宽的成本。(2)多种同步模式DSG RealSync支持的数据复制模式包括: a.实时复制:实时更新保证副本系统快速反映源系统的变化,提供账单查询、话单查询等的及时性。 b.定时复制:包括每月复制、每周复制和每天复制; c.手工复制:支持操作员指定时
21、间对指定表进行一次完全复制;(3)对生产系统的低干扰性DSG实时数据复制技术不需要通过任何数据库的引擎来获取变更数据,而是通过数据库自身的信息获取源系统上的改变并传送给目的系统,不会对生产系统造成性能影响。(4)系统异构,可提供更多的优化空间源数据库系统和目的数据库系统的可异构,主要包括索引规则和存储参数(如数据块大小、回滚段等)。因此可以在目标数据库上根据业务特点进行调整和优化,完全不受源系统的限制。(5)支持的多种复制策略RealSync可以被灵活配置,以支持各种复制策略,支持各种增值应用,如:1:1单向复制;一对多复制;多对一复制等。RealSync工作原理概述 图6 如上图6所示,Re
22、alSync在Data Source端和Data Target端分别安装Agent进程,Source端的Agent进程对ORACLE日志进行监控,发现改变及时对目标数据库进行更新。 当应用系统在Data Source端向数据库进行任何操作时时,这些信息都将在Redo Log中保存,RealSync Agent通过对实时获取的Log日志进行分析,获得本次操作的交易指令和交易数据,然后将这些交易指令和交易数据经过格式转化生成DXF数据格式,并实时通过网络传送到Data Target系统。 Data Target系统的RealSync Agent接收数据库包,经过校验码检查,确认正确的数据库包后,调
23、用Oracle函数按照交易的先后顺序在Data Target系统中执行该交易。日志抓取(Data Capture) RealSync对数据的抓取是通过安装在Data Source端的Agent模块定时分析Oracle Redo Log来获取Data Source端的交易类型及数据的。RealSync Agent在判断Data Source端的Oracle系统是否有新的交易产生时是通过定期检查Oracle Controle file中记录的当前SCN号来判断的,这样避免每次检都通过读取log文件来判断否有新的交易产生时造成的系统影响。在Controle file中确认有新的交易产生时,可以同时获
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 同步 复制 技术 毕业论文

链接地址:https://www.31ppt.com/p-3927584.html