网站大量收购独家精品文档,联系QQ:2885784924

《数据库同步复制技术-毕业论文》.doc

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1 概述 1.1 数据库复制的定义 在早先的集中式应用中,所有的数据都存放在数据中心,远地部门要获得信息,必须与中心建立直接连接,或者从中心MIS系统申请打印好的报表。但是这两种方式都有各自的缺点,直接连接开销较大,稳定性不好,并且还有连接用户数的限制;而报表灵活性较差,并且也不能及时反映最新状况。 开放系统为企业的各个部门提供了便宜而且强大的计算资源。充分利用这些新的资源实现信息共享的能力成为企业最重要的竞争优势。企业今天面对的问题已经不是“为什么要分布和共享信息”,而是“如何有效地分布信息”,复制正在成为大多数分布式应用体系结构的选择。 1.2同步复制技术常用的几种方式 1.两阶段提交 八十年代后期,两阶段提交技术的概念为分布和共享数据提供了更实时的途径。两阶段提交可以实现分布式数据间的同步。在这种技术下,只有当与交易相关的各个点全都认可时,交易才被接受并执行。各分布节点可通过精心制作的“握手”机制进行协同。 图1: 两阶段提交数据同步 在两阶段提交中,直到所有相关站点都同意进行交易,交易才被接受并执行。 当企业的确需要对分布式数据进行实时同步时,采用两阶段提交可能比较合适。但这是有代价的。由于在交易被认可之前,所有分布节点都需要同步认可,信息系统容易受到单个组件故障的影响。如果任何一个组件失效,则交易必须等待。操作就受制于单个组件的失败。此外,握手机制是通过节点间信息的传送来实现协调的,这为网络带来了很大的负担。 由于分布式系统中网络连接和单个组件都可能发生故障,很多组织开始寻找更经济实用的方式来实现协同数据共享,同时希望将对操作的影响降到最小。显然,实时分发当前数据拷贝可解决这个问题。由于有了有效的数据备份,各独立节点不再需要考虑网络或远程节点的可用性。它们可以使用本地数据备份继续进行操作,不过,分布节点所操作的数据并不是同步和实时的。 2.异步复制技术 1.Dump 和 Reload方式 很早的时候,企业就开始采用先“卸载”数据(可能通过磁带方式),然后在另一个节点“重新加载”数据的方式来进行数据分布。在那个时候,各机构之间通过邮寄数据磁带进行数据复制的情景很常见,而业务部门决策时所使用的数据可能是几天甚至几周前的数据。 采用“卸载和重新加载”进行数据分发,使企业不同地区之间共享数据成为可能,但是每个地方的数据都不是实时的,并且整个过程通常采用的是手工方式,没有实现自动化。 3.表快照方式 由于DUMP/LOAD方式的数据及时性较差,并且复制数据粒度无法控制,随后厂商提供了采用表快照的方法来解决这些问题。表快照实现了对单个表、表子集、甚至基于预定义的表集合的变更的异步发送。 虽然与“卸载和重新加载”过程相比,表快照先进的多,但它还是存在一些明显的不足,这些缺陷限制了它的适用性。首先,快照不能保证交易完整性;其次,快照只是一个“只读“拷贝,其它节点只能获取但不能进行修改。 快照在拷贝单个的数据表或数据项时,并不保持交易的原子性。当交易中断时,分布式数据之间的完整性就可能得不到保证。例如:如果银行使用快照方式来分发你的银行帐号信息,存款帐号信息和支票帐户信息的复制是独立的,如果你将钱从存款帐户转到支票帐户,存款帐户的改变可能没有在支票帐号改变时同时进行拷贝。黑客可能利用这些缺陷攻击这类不可靠的银行支付系统。很显然,对于任何一个重视数据完整性和一致性的企业来说,这种方法是不被接受的。 此外,采用表快照方式只能实现数据的单向传输,虽然数据可以备份到多个节点,但备份是只读的,各节点不能对分布式数据进行任何修改。 4.数据库触发器方式 除了快照,一些数据库厂家还提供了另外一种异步机制来进行单向数据复制——触发器。在早期的基于触发器的复制系统中,客户希望通过使用触发器来达到整和复制应用的目的。 你可以将触发器想象成数据库中一个警报器,该警报器与某一段特定的数据相关联。当标记的数据项发生改变时,就会触发源数据库中的相关警报器,该警报器接着激活源数据中特定的复制代码,开始进行复制。 最初,数据库厂家引入数据库触发器是为了保证数据间的参照完整性,同时将业务规则放在中心处理。其观点是数据库本身应包含一种对非法数据实体的检测机制。在引入触发器之前,必须在所有存取数据库的应用中考虑数据过滤,对于提供触发器的数据库厂家来说,基于触发器的复制似乎为产品提供了一种直接简单的扩展。 与快照相比,触发器为用户提供了更大的灵活性,但早期的基于触发器的复制系统并没有克服快照技术的内在缺点:缺少对客户数据的交易完整性的支持。基于触发器的复制存在以下限制: 当数据项改变时,触发器只是进行简单数据传送,而不保证交易完整性 触发器只允许单向复制,复制点的数据是只读的,不能进行修改 在数据库中执行触发器会影响数据库的性能 触发器需要数

您可能关注的文档

文档评论(0)

lipinting + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档