数据库同步复制技术-毕业论文.doc_第1页
数据库同步复制技术-毕业论文.doc_第2页
数据库同步复制技术-毕业论文.doc_第3页
数据库同步复制技术-毕业论文.doc_第4页
数据库同步复制技术-毕业论文.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

更多论文/fanteral1 概述1.1 数据库复制的定义 在早先的集中式应用中,所有的数据都存放在数据中心,远地部门要获得信息,必须与中心建立直接连接,或者从中心mis系统申请打印好的报表。但是这两种方式都有各自的缺点,直接连接开销较大,稳定性不好,并且还有连接用户数的限制;而报表灵活性较差,并且也不能及时反映最新状况。开放系统为企业的各个部门提供了便宜而且强大的计算资源。充分利用这些新的资源实现信息共享的能力成为企业最重要的竞争优势。企业今天面对的问题已经不是“为什么要分布和共享信息”,而是“如何有效地分布信息”,复制正在成为大多数分布式应用体系结构的选择。1.2同步复制技术常用的几种方式1.两阶段提交八十年代后期,两阶段提交技术的概念为分布和共享数据提供了更实时的途径。两阶段提交可以实现分布式数据间的同步。在这种技术下,只有当与交易相关的各个点全都认可时,交易才被接受并执行。各分布节点可通过精心制作的“握手”机制进行协同。 图1: 两阶段提交数据同步在两阶段提交中,直到所有相关站点都同意进行交易,交易才被接受并执行。当企业的确需要对分布式数据进行实时同步时,采用两阶段提交可能比较合适。但这是有代价的。由于在交易被认可之前,所有分布节点都需要同步认可,信息系统容易受到单个组件故障的影响。如果任何一个组件失效,则交易必须等待。操作就受制于单个组件的失败。此外,握手机制是通过节点间信息的传送来实现协调的,这为网络带来了很大的负担。由于分布式系统中网络连接和单个组件都可能发生故障,很多组织开始寻找更经济实用的方式来实现协同数据共享,同时希望将对操作的影响降到最小。显然,实时分发当前数据拷贝可解决这个问题。由于有了有效的数据备份,各独立节点不再需要考虑网络或远程节点的可用性。它们可以使用本地数据备份继续进行操作,不过,分布节点所操作的数据并不是同步和实时的。2.异步复制技术1.dump 和 reload方式很早的时候,企业就开始采用先“卸载”数据(可能通过磁带方式),然后在另一个节点“重新加载”数据的方式来进行数据分布。在那个时候,各机构之间通过邮寄数据磁带进行数据复制的情景很常见,而业务部门决策时所使用的数据可能是几天甚至几周前的数据。 采用“卸载和重新加载”进行数据分发,使企业不同地区之间共享数据成为可能,但是每个地方的数据都不是实时的,并且整个过程通常采用的是手工方式,没有实现自动化。3.表快照方式由于dump/load方式的数据及时性较差,并且复制数据粒度无法控制,随后厂商提供了采用表快照的方法来解决这些问题。表快照实现了对单个表、表子集、甚至基于预定义的表集合的变更的异步发送。虽然与“卸载和重新加载”过程相比,表快照先进的多,但它还是存在一些明显的不足,这些缺陷限制了它的适用性。首先,快照不能保证交易完整性;其次,快照只是一个“只读“拷贝,其它节点只能获取但不能进行修改。快照在拷贝单个的数据表或数据项时,并不保持交易的原子性。当交易中断时,分布式数据之间的完整性就可能得不到保证。例如:如果银行使用快照方式来分发你的银行帐号信息,存款帐号信息和支票帐户信息的复制是独立的,如果你将钱从存款帐户转到支票帐户,存款帐户的改变可能没有在支票帐号改变时同时进行拷贝。黑客可能利用这些缺陷攻击这类不可靠的银行支付系统。很显然,对于任何一个重视数据完整性和一致性的企业来说,这种方法是不被接受的。此外,采用表快照方式只能实现数据的单向传输,虽然数据可以备份到多个节点,但备份是只读的,各节点不能对分布式数据进行任何修改。4.数据库触发器方式除了快照,一些数据库厂家还提供了另外一种异步机制来进行单向数据复制触发器。在早期的基于触发器的复制系统中,客户希望通过使用触发器来达到整和复制应用的目的。 你可以将触发器想象成数据库中一个警报器,该警报器与某一段特定的数据相关联。当标记的数据项发生改变时,就会触发源数据库中的相关警报器,该警报器接着激活源数据中特定的复制代码,开始进行复制。 最初,数据库厂家引入数据库触发器是为了保证数据间的参照完整性,同时将业务规则放在中心处理。其观点是数据库本身应包含一种对非法数据实体的检测机制。在引入触发器之前,必须在所有存取数据库的应用中考虑数据过滤,对于提供触发器的数据库厂家来说,基于触发器的复制似乎为产品提供了一种直接简单的扩展。 与快照相比,触发器为用户提供了更大的灵活性,但早期的基于触发器的复制系统并没有克服快照技术的内在缺点:缺少对客户数据的交易完整性的支持。基于触发器的复制存在以下限制: 当数据项改变时,触发器只是进行简单数据传送,而不保证交易完整性 触发器只允许单向复制,复制点的数据是只读的,不能进行修改 在数据库中执行触发器会影响数据库的性能 触发器需要数据库管理员的细心管理,需要专人对数据改变时所有“警报器”的执行情况进行跟踪。 数据库中触发器的激活过程不能简单的“回滚”或重做。 总之,在早期的基于触发器的复制系统中,需要用户自己构建系统来跟踪并保证交易的完整性。 5.改进的数据库触发器方式如上所述,为数据复制目的而提出的扩展数据库触发器技术(或者规则触发器的一种表现形式)为数据库厂家提供了一种简单的扩充其支持特性列表的方法。 然而,提供基于触发器或规则复制技术的厂家很快就意识到,他们必须面对如下事实,即简单的触发器或规则并不能保证复制数据的交易完整性,并且对复制点数据不能进行修改,而用户需要的是一个灵活的可保证交易完整性的复制系统。对于已经采用基于触发器或规则进行复制的厂家来说,其解决方法是显而易见的:与其让用户用触发器或规则作为他们整和系统的工具构建他们的复制系统,为什么不在内部使用触发器来创建一个复制产品,这样厂家就可以将用户从最低层的触发器和规则隔离开。 这些厂家引入了一种新的机制,可以将源数据库内触发的数据变化组成一个交易,以此解决了基于触发器或规则的复制系统的数据交易完整性问题。虽然这个过程不可避免的增加了性能负担。 对触发器和规则进行约束限制解决了完整性等部分问题,但没有解决其它问题,如触发器给数据源造成的性能负担,给系统管理员增加的管理负担等。这些问题包括: 在数据库内部执行触发器增加了数据库性能负担。 触发器需要数据库管理员的细心管理,需要专人对数据改变时所有“警报器”的执行情况进行跟踪。 数据库中触发器的激活的过程不能简单的“回滚”或重做。 触发器的使用增加了源数据的性能和管理负担。当触发器是用于保护数据完整性或加强业务规则时,这种额外支出是必要的,但是对于复制系统这种支出是没有必要的,并且在事实上,其也不适用于复制系统。 基于触发器的复制系统与源数据库捆绑过于紧密,要执行一个复制进程,必须在源数据库内执行复制代码,从而,为数据源增加了额外的性能负担。1.3数据库复制的必要性 数据库复制的必要性可分为以下几种原因:(1)信息系统存在的问题及需求 随着计算机应用系统的爆炸式发展,业务量迅速增加,业务种类日益复杂,企业必须管理不断增长的信息流量;随着信息量的急剧增大,核心数据的管理变得日益困难。如何安全、可靠地存储业务数据及满足未来业务数据高速增长的需要;如何有效管理日益增长的业务数据;如何实现业务数据的共享并在现有业务数据之上建立新兴的增值应用,如数据仓库、客户关系管理(crm)等,成为了各企业建立信息系统的关键所在。目前,各企业信息系统在数据管理领域存在着普遍的问题:(2)数据流通效率低下,企业信息孤岛现象严重 信息系统的建设主要是以应用为驱动的,是随着各种业务的逐渐建设的。当出现一类新的业务时,一般需要为该业务建设一套业务支撑系统,保存与该业务有关的主要数据。而这些数据可能同时也需要被其他应用所访问。从而自然就形成了各子系统应用在不同的纵向,管理着不同的业务单元或对象,各个子系统又是相互独立运行,导致形成了一个个“信息孤岛”。这些系统相互之间没有畅通的信息交流与共享,阻碍了企业信息化建设的整体进程。(3)数据报表、查询和数据共享效率低下为了提高市场竞争力,提高客户满意度,企业需要更复杂的、更灵活的业务统计报告、需要深入的数据挖掘、需要实时的客户查询。而这些大量的统计、查询业务收到现有系统架构的制约,不得不降低效率标准、不得不推迟报告时间、从而导致客户服务质量降低、业务发展情况报告迟缓,业务发展情况不明等问题。(4)企业需要新的信息架构因此,各企业比以往任何时候相比,管理和有效使用这些信息系统的能力高低都更能决定了长期生存和发展能力,因此比以往任何时候,企业都更关注于如下领域:n 提高系统运行效率,提高业务报表、提高客户服务质量,并降低客户流失率。n 加强企业信息流通、提高企业信息的附加值、进一步挖掘企业信息价值、迅速开发和推广新业务,创造更多收入并保持竞争能力。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)监测主节点的提交事务,由复制服务器异步地发送提交的事务到存放数据拷贝的远程节点,并维护最新的数据拷贝。图2:复制服务器的工作原理上图是一个典型的复制系统,在两个 adaptive server enterprise之间进行单向复制,整个复制工作流程如下:1.用户事务提交给源数据库,事务被记入log2.log被复制代理读出并以事务为单位传给主点复制服务器3.复制服务器完成接收、判断、迁移、组装和发送4.通过网络(lan/wan)事务被发送到备点复制服务器5.复制服务器在备点数据库执行该事务。*复制服务器的技术特性:(1)异步方式的实时复制复制服务器以异步方式工作,使得主点和备点之间构成松耦合连接,备点的运行状态不会影响主点的运行状态。 图3:复制服务器的异步工作方式(2)基于日志的复制sybase的复制服务器采用基于日志方式的复制,其最大好处在于对主点性能影响最小,这是由于复制代理只读取已经存入磁盘的日志,而数据库日志写入线程总是把日志先写入内存,在检查点或遇到事务结束命令才会写如入磁盘,从而可以大大降低对日志文件的争用冲突,同时由于没有使用触发器或规则,对主点数据库也不增加额外的负担,综合来看,基于日志方式的复制,使得sybase复制服务器对于主点数据库的性能影响总是小于5。图4:基于日志方式的复制(3)以事务为复制单位sybase复制服务器可以完全保证复制过程中的事务完整性,换句话说,就是严格保证主点、备点数据的一致性,这是由于复制服务器是以事务为基本复制单位来保证的。从主点数据库复制过来的数据,都是以完整的事务为单位即以提交的事务,在整个复制工程中,也都是以事务为单位传递,最后在备点数据库执行该事务,从而保证主点、备点数据库的严格一致性。图5:基于事务方式的复制(4)支持存储转发sybase复制服务器支持存储转发机制来克服网络故障对复制的影响。复制服务器通过在本地增加一个磁盘缓冲区称为稳定队列,当网络出现故障时,复制内容可以暂时存放在该稳定队列,网络故障排除后,复制服务器会从稳定队列取出数据复制到备点。稳定队列的大小是根据可能发生的网络故障时间长短和复制数据的大小,根据经验公式估算的。稳定队列保证了复制服务器可以在网络故障后继续工作,并且无需主点数据库重发已经传送的数据,这种智能的机制非常适合于有大文本字段(如:text,image)系统的复制,节省了网络传送时间,提高复制的效率。 同时,稳定队列对于主点、备点的不同步也起到了缓冲作用,尤其时当多个主点数据同时写入备点,由于备点来不及写入,这些复制数据可以暂时存放在稳定队列,等主点数据高峰过去时,再逐次写入备点。支持复制内容的发布/订阅sybase的复制服务器支持复制内容的发布/订阅机制,数据提供者通过复制定义向外提供自己的数据,数据消费者再通过订阅的方式筛选自己需要的数据,这样可以方便不同的数据需求者仅收到自己感兴趣的数据,减轻复制和网络的负担。支持多复制定义,即允许每张表建立一个以上的复制定义,它提供了多个复制观点给用户,同时支持重命名表和列。支持多级安全sybase的复制服务器支持ase所具有的全部安全特性,主要分为三级: 基本安全机制: 指用户名/口令字校验方式,支持用户口令字加密处理。 企业安全机制:指复制服务器可以利用第三方提供的更高级别的安全机制,支持dce/kobose协议,第三方产品可以包括novell nds、microsoft activedirectory。 电子商务安全机制 指复制服务器支持ca认证和ssl加密,无论复制服务器做为客户端还是服务器端都可以支持ssl通讯加密。支持多语言多字符集sybase复制服务器支持多种字符集和多种语言,可以支持字符集之间的转换,更进一步,由于支持unicode(utf-8/utf-16),这样在进行字符代码转换时不会损失任何信息。支持目录服务sybase复制服务器支持目录服务,可以让多个复制服务器共享同一组用户,这样极大简化了复制服务器的管理工作,同时也可以把复制服务器的管理纳入到企业范围内。以上是对sybase的相关介绍,和sybase齐名的还有dsg,也是被广泛应用于数据库复制的主流技术之一。2.2dsg realsync的技术概览采用数据库复制技术与传统的数据复制技术不同,dsg realsync技术是针对数据库提供了基于逻辑的交易复制方式。该方式通过直接捕获源数据库的交易,将数据库的改变逻辑复制到目标系统数据库中,实现源系统和目标系统数据的一致性。dsg realsync的优势概览该技术在复制上存在以下几个特点:(1)按需复制查询和统计系统往往不需要所有的原始数据,因此完全可以按需要复制数据。realsync系统支持对指定信息的按需复制,减少存储和网络带宽的成本。(2)多种同步模式dsg realsync支持的数据复制模式包括: a.实时复制:实时更新保证副本系统快速反映源系统的变化,提供账单查询、话单查询等的及时性。 b.定时复制:包括每月复制、每周复制和每天复制; c.手工复制:支持操作员指定时间对指定表进行一次完全复制;(3)对生产系统的低干扰性dsg实时数据复制技术不需要通过任何数据库的引擎来获取变更数据,而是通过数据库自身的信息获取源系统上的改变并传送给目的系统,不会对生产系统造成性能影响。(4)系统异构,可提供更多的优化空间源数据库系统和目的数据库系统的可异构,主要包括索引规则和存储参数(如数据块大小、回滚段等)。因此可以在目标数据库上根据业务特点进行调整和优化,完全不受源系统的限制。(5)支持的多种复制策略realsync可以被灵活配置,以支持各种复制策略,支持各种增值应用,如:1:1单向复制;一对多复制;多对一复制等。realsync工作原理概述 图6 如上图6所示,realsync在data source端和data target端分别安装agent进程,source端的agent进程对oracle日志进行监控,发现改变及时对目标数据库进行更新。 当应用系统在data source端向数据库进行任何操作时时,这些信息都将在redo log中保存,realsync agent通过对实时获取的log日志进行分析,获得本次操作的交易指令和交易数据,然后将这些交易指令和交易数据经过格式转化生成dxf数据格式,并实时通过网络传送到data target系统。 data target系统的realsync agent接收数据库包,经过校验码检查,确认正确的数据库包后,调用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中确认有新的交易产生时,可以同时获得当前的redo log 组,以及最新日志在日志文件的最新位置。realsync agent模块根据这些信息将上次抓取时记录的日志位置与本次读取的最新位置之间的log读取并加以分析。然后将这些数据保存在online log cache文件中,等待下一步作交易合成处理。realsync的优势:与其他类似日志复制产品相比,realsync对日志进行分析,得到交易信息再进行传送;而其他类似产品不对日志作分析,传送全部日志,然后在目标端通过日志作recover, 这样一来,不仅传送数据量大,而且目标端数据库不能打开。日志分析(analyze)oracle数据库的所有更改都记录在日志中,其中记录了对数据库中的每一个变化。当我们候需要需要了解数据库中所作的交易时,一个最有效实用而又低成本的方法就是分析oracle数据库的日志文件。realsync agent中集成了dsg的优秀日志分析功能,该功能完全不同于oracle提供的logminer日志分析工具,在性能和功能上都大大提高,主要体现在系统性能的优化上,大幅度提高日志分析的速度,使得对于高并发业务系统的复制成为可能。按照realsync的日志分析设计目标,每秒能够分析的日志量达到10m/s。realsync通过对日志的分析,得到该数据库中的每个sql指令,并将这些sql指令生成dxf(dsg extend format)格式的表达方式。dxf格式是dsg公司的专有技术,该技术是dsg公司用来表达sql指令的方式,该数据格式能够通过dsg的专有转换算法能够直接转换为oracl的内部数据表达格式,从而在分析和转载时需要最小的转化,提高分析和装载速度,减少资源占用、丰富能够表达的各种数据类型。交易合成(synthesize) 通过oracle redo log分析的交易指令存在如下的几个特点:(1)这些指令是交叉出现的,属于一个交易(transaction)的多条sql指令是非连续存储的,多个交易的sql之间是相互穿插的;(2)redo log中记录了所有的commit的交易以及没有commit的交易;所以,为了提高系统的可控制性、保证逻辑完整性、避免数据丢失,最好将复制的最小单位为一个交易(transaction),而不是以单个sql指令为复制单位,这样在data target端的交易装载更加容易控制。同时,对于复制的数据而言,只有那些commit的数据对于data target端系统是有意义的,而对于那些rollback的数据无需复制到data target系统上。所以realsync在复制过程中不是复制每个sql语句,而是对抓取的数据进行交易整合后以交易(transaction)为单位进行复制,同时只复制commit的交易。 图7如上图7所示,在online log cache文件中,包括commit的交易,没有commit的交易和rollback的交易。交易合成模块首先按照交易序号对sol语句进行划分,每个交易包含多条sol语句。然后,以交易为单位进行处理,将已经commit的交易,传至传输处理模块;将未提交的交易保存在本地,一旦通过日志得知保存的未提交交易已提交,立即将该交易发送到传输处理模块;对rollback的交易作丢弃处理。realsync是以交易为单位进行传输的,而不是以sol语句为单位进行传输的,更容易保证数据的一致性和完整性。交易传输 realsync技术为了保证数据传输的安全、可靠,在传输处理上作了特殊的处理与支持:(1) 数据在传输之前首先存入data source端的cache,传输进程(export process)从cache中读取交易数据封装为tcp/ip数据包传送给data target端的import进程。 (2)在data target端,import进程在收到传输的交易数据包后,首先存入queue,然后由load进程从queue中严格按照交易的顺序装载交易信息。图8如上图8所示,负责传输的进程(export process)从本地队列中按照先进先出的原则抓取需要传输的交易,将交易数据封装成一个数据包后通过tcp/ip协议传递给对端系统。在封装的数据包的包头部分描述了包的大小。对端系统在接受到传来的数据包后,首先根据包头描述的包大小进行传输的合法性检查,判断是否传输完整。数据装载在传统的复制技术中,常用的数据装载方式是采用oracle 的sql接口,通过insert、update、delete等sql语句实现数据的装载。这种方式在通用性上很好,但关键在于性能问题非常突出。sql语句的执行需要经过parse、plan、格式转换等过程,造成大量的系统开销。尤其是update和delte操作的大量where子句操作需要进行复杂的查询定位任务,从而导致装载性能低下,对处理能力的要求比生产系统的还高。dsg realsync在设计之初就定位于电信级大数据量系统的应用,因此在装载性能上进行了大幅度的改善,使得装载端的性能和处理能力需求降至最低。在其中dsg realsync采用了两个关键的技术提高了装载速度:(1)采用dxf数据格式的装载;(2)采用rowid mapping的方式实现快速定位;用dxf数据格式的装载:dxf(dsg extend format)格式是dsg公司的专有技术,该技术是dsg公司用来表达sql指令的方式,该数据格式能够通过dsg的专有转换算法能够直接转换为oracl的内部数据表达格式,从而在分析和转载时需要最小的转化,提高分析和装载速度,减少资源占用、丰富sql语句的表达方式。oracle数据库系统在设计上提供了4个层次的接口,其中包括user层,sql层,transformation层和i/o层。其结构为:usersqltransformationi/o 图9如上图9所示在这四层当中,当采用sql接口进行数据装载时,调用的是user层,而dsg realsync通过dxf数据格式装载时,调用i/o层直接将数据通过oracle的最底层函数写入系统中,所以dsg realsync在装载层上有一定优势;7.2row mapping实现快速定位对于交易中的操作,存在着大量的where子句操作,在采用标准sql语句执行这些操作时,系统需要首先定位目标记录所在的数据文件的位置信息,这将带来大量的索引查询开销,当并发执行数千条指令时,系统的开销将变得非常庞大。dsg realsync工具不采用该方式实现装载数据的定位,而是通过row mapping的方式实现记录的快速定位:当realsync从源端log文件中读取交易数据时,将获得该交易对应记录的所在位置,用rowid表示为rowid_ds;当该交易在目标端装载时,系统不翻译为where子句,而是去通过保存在目标端的row mapping表获得对应目标端该记录的所在位置rowid,记录为rowid_dt。从而在目标端装载时通过rowid能够直接定位于该数据需要写入的位置。避免了大量查索引查找时间。每条记录的row mapping信息是在该记录执行insert操作、sql loader或首次批量同步时建立起来的。realsync的优势: dsg扩展格式dxf(dsg extend format)是realsync产品的一个核心技术,是一种最高效率表示oracle记录的数据格式,该格式只需要经过最小的转换过程就能够装载到oracle数据库中,并且装载效率非常高。n 无需标准sql语句执行的复杂过程n 加快装载速度n 对于update,delete等带where子句的交易,可以大幅度提高装载速度ops/rac的支持oracle ops/rac是一种多实例同时打开同一个数据库的技术,每个实例共享同一份数据文件和控制文件(控制文件可能有多个,但是内容相同,为每个实例所共享)。一个例外是,每个实例的redo log都专属于该实例(如下图所示),但每个实例的所有redo log都必须能够被其他实例访问。所有实例的redo log一般都保存在共享磁盘中。在ops/rac的环境下,realsync agent需要安装在ops/rac一个节点上,realsync agent通过控制文件得到每个实例的redo log配置,并实时跟踪每个实例的redo thread产生的日志,分析日志并将提交的交易发送的目标系统。在ops/rac环境下,多个实例共用一套scn,每个实例对数据的修改都会引起scn的递增改变,realsync通过scn在目标端顺序提交交易,来保证数据库的一致。数据完整性保证realsync复制软件保证数据的一致性和完整性的保证主要通过以下几个方面:(1)保证交易先后顺序:保证交易的先后顺序:严格按照源端transaction执行顺序在目标端加载,严格的i/o顺序是保证系统逻辑正确的关键因素,realsync通过对transaction的scn号进行判断,并严格保证源系统上先commit的交易在目标端也是先装载。(2)检查日志跟踪的连续性:检查日志跟踪的连续性:realsync在每次log读取结束时,都将记录当前读取的日志的sequence no,block no和最后读取的offset,当下次读取文件时,总是需要检查是否和上次读取的位置严格连续,从而保证对日志分析的完整性。(3)数据一致性检查:数据一致性检查:realsync提供数据一致性检查工具,用来比较源端的记录和目标端的记录是否完全一致。如果出现数据不一致,realsync将对不一致的部分进行修复。数据初始化装载当系统在初始化过程,或需要重新完成批量数据复制时,realsync提供海量数据的高速复制功能:dsg复制功能是对数据实行导出、导入的方式实现的,但该实现不是通过oracle export和import工具,而是利用dsg realsync中内置的xexp/ximp工具实现的。其过程不是对数据库底层的存储数据块进行复制,而是将源系统上的已有数据记录从datafile中直接读取并解析成为dxf数据格式,在利用ximp将dxf数据批量快速装载到data target系统上。 realsync调用oracle的i/o层的api接口批量读取一张表(table)的记录(每次读多少条是由操作员设定的realsync系统的buffer决定的,如果一次读不完,则分为多次读取),然后将读取的记录转化为dxf格式,再将dxf格式表示的一批记录传送到目标端的realsync agent进程,目标端进程再调用oracle的i/o层的api接口将数据批量写入目标系统中。对于一个数据库而言,其中有许多张表(table),realsync依次将每张表的所有数据按照上述原理复制到目标系统中。 对于xexp导出过程不是通过oracle的标准select接口,所以其导出速度非常快。 同时,在采用dsg realsync实现批量数据装载时,还无需停止源系统上的业务流程。那么realsync是如何处理在导出过程中新改变的数据的复制呢? 因此,realsync还支持第二阶段的增量数据复制:当上个步骤的大批量数据完成后,realsync再将步骤一过程中新增加的交易重新复制到目标系统。在过程的工作原理是通过跟踪和分析从上个步骤开始时的所有redo.log信息,从log文件中分析和翻译出这段时间内新增加的记录,然后再将记录在目标系统上插入。如果在该过程中复制的数据在目标表中已经存在,则realsync将首先删除目标系统中的该记录,同时插入新复制的记录。在这两个过程执行过程中,生产系统的业务可以保持运行状态。无需中断业务。选择性复制支持因为根据业务逻辑,很多情况下无需对所有的数据表信息进行复制,而只需要复制那些需要的表的信息,这样可以减少存储和网络带宽的成本。同时,smarte支持水平和垂直分割。在水平分割方面可以只复制那些满足预先定义的条件的记录。在垂直分割方面允许设置对指定表的指定列进行复制。 图10支持的复制结构realsync可以被灵活配置,以支持各种复制策略,支持各种增值应用。如:单向复制:从一个数据库向另一个数据库复制;双向复制:两个数据库进行互相复制;广播复制:由一个数据库向多个数据库复制;集中复制:由多个数据库向一个数据库复制;级联复制:由a数据库向b数据库复制,同时又由b数据库向c数据库进行复制。以上就是对dsg主要功能的详细介绍。3第三方同步平台工具sybase相关介绍当数据库准备进行同步时,俩个数据库的结构不相同时,需要用到第三方平台来进行同步,而主流的第三方专用平台有oracle和sybase等,下面主要介绍下sybase作为第三方专用平台:sybase的复制服务器不尽能够支持sybase ase之间的复制,而且还能够支持异构数据库之间的复制。在用户的实际系统中可能存在一种或多种数据库,这些数据库可能是sybase的,也可能是非sybase的,在应用中很可能需要在这些数据库之间进行数据复制,使用sybase支持异构数据库的访问网关(directconnect,关于该产品详情,可以参看sybase enterpriseconnect文中描述),就可以轻松完成sybase ase和其它非sybase数据库之间的数据复制,甚至可以完成非sybase数据库和非sybase数据库之间的数据复制,例如oralce和sql server之间的复制。图11:复制服务器支持异构数据库之间的复制sybase 异构数据库访问网关(directconnect)可以支持现今大部分主流数据库,包括oracle、db2、mvs、lotus notes、ms sql server 及其他可以支持odbc的数据库(ms access、foxbase、foxpro)等。在进行非同种数据库之间的复制时,数据类型转换是由复制服务器自动完成的,并且保证数据转换的精度,用户无需担心数据转换带来的损失。4 sybase铁路规章管理系统建议方案4.1背景介绍铁路是国民经济的大动脉,其管理工作需要高度统一和协调。货运规章是维系铁路货运协调和统一的灵魂,是货运业务工作的规范,是安全高效的保障,是保持路内外有机联系的纽带。铁路规章门类繁多,货运规章最为突出。多年来货运规章一直随着国民经济的发展在增订和修订,形成了文字量大,管理维护繁杂的局面。因此,建立一个高效、规范的铁路规章管理信息系统对优化铁路货运管理、提高生产效率具有重要的意义。作为全球领先的信息管理、开发和集成的企业及移动软件解决方案供应商,sybase是目前行业中唯一一家能够提供数据库、数据复制技术、数据仓库和移动数据库等全套数据管理产品的公司。sybase与铁道部有过多年的成功合作,并因此积累了丰富的行业经验。sybase公司有充分的信心和能力,与合作伙伴一道为铁道部打造领先的铁路规章管理信息化平台,并再次为铁道部的信息化建设贡献力量。下面我们将详细介绍sybase针对铁路规章管理系统的建议方案。4.2sybase建议解决方案sybase建议的系统总体架构 在充分考虑业务现状的情况下,sybase建议采用“分布+集中”的体系架构。铁路规章管理系统的逻辑部署图如下所示:铁道部路局路局路局路局 数据存储 数据存储 数据存储 数据存储数据存储(图1 铁路规章管理系统架逻辑部署图) 该体系架构分为两级:在铁道部下属18个路局建立本地数据存储,负责处理本地以及下属各路段的业务请求,客户端采用c/s或b/s方式直接连到路局系统;在铁道部中心建立数据中心,该数据中心的数据是18个路局数据的合集;铁道部和路局间的数据传输根据具体情况,采用不同方式实现实时互传。采用这种“分布集中”的体系架构,既保证了全铁道部数据的高度共享,又实现了各路局业务的充分本地自治,提高了处理速度,避免了所有客户直接连接到铁道部中心做业务而对部中心系统产生较大的压力。4.3 sybase技术架构 按照上面的总体架构,sybase提供的系统技术架构图如下所示: 路局数据系统 replication server铁道部数据中心电报/文件电报/文件电报/文件规章规章规章电报/文件规章ftpftp serversybase 提供的技术架构分为两个子系统,分别是: 铁道部中心和路局的本地数据管理系统包括铁道部和十八个路局本地的数据库管理系统。结合规章管理系统的数据特点和数据库本身的技术特性,建议将数量较多、单个文件数据量较小的电报和文件保存在数据库中,而将数量相对较少、单个文件数据量大的规章制度保存在文件系统中,以实现最优化的数据管理和访问。 数据传输系统包括铁道部中心以及各路局的数据同步。分为两部分:(1)基于sybase复制服务器实现针对实时性强、数量多、单个文件数据量小的电报和文件,将其保存在本地数据库中,并采用sybase复制服务器实现铁道部和各路局间的信息互传。sybase复制服务器为大数据量下的实时数据传输提供强大、快速、可靠的软件支持。(2)基于ftp等数据传输技术实现针对修改更新不频繁、数量少、单个文件数据量大的规章制度,为实现高效的数据传输以及实现方便的信息访问,将其保存在数据库系统之外的文件系统中,采用ftp等文件传输技术实现铁道部和各路局间的信息互传。 他们完成的功能有所不同,又不可或缺地构成了一个完整的信息系统,以下将分别介绍这两个子系统:铁道部中心和路局的本地数据管理系统 数据库系统是铁路规章管理系统的基础,在整个系统中占据着举足轻重的位置,所以本系统中我们建议采用sybase大型数据库管理软件ase构建系统的数据存储平台,ase具备高效性、高可用性、安全性、开放性以及操作简单、维护方便等特点,完全可以确保系统的高效稳定可靠运行以及适应未来业务的发展。基于sybase ase的数据库解决方案优势体现在:(1) 保证规章管理系统运行的高效性ase是sybase公司的旗舰产品,一直以高效的内核著称。以往的tpc测试指标显示:在同样的硬件平台和硬件资源开销下,ase比其他同类产品具有更高的交易处理能力。ase高效的查询处理器与分区技术和并行技术的完美结合,为高效方便的管理海量数据提供了坚实的技术保障,ase在国内外拥有众多管理tb级数据的成功应用,而最新版ase15更具有支持eb级数据的能力。ase高效的多线索体系结构对高并发访问提供了最强有力的支持,在系统资源允许的情况下,ase支持的最高并发访问用户数可以达到2147483647,完全可以满足铁路规章管理系统业务繁忙时刻的高并发访问用户数的需求,而三层体系架构下并发访问支持能力将会有更大提升。(2) 保证系统的高可用性系统的稳定可靠性是提升客户满意度,提高服务质量的关键。为保证系统的可靠性,尽量减少由于主机、数据库故障造成的系统瘫痪,我们在设计上充分利用了ase在产品和技术上的特点,提供了各种软件容错机制和手段来维护系统的可靠性,主要包括数据库及日志的镜像、数据库及日志自动恢复、双机集群容错以及复制技术等。(3) 保证系统的安全性安全性是衡量系统的重要一项指标。ase作为新一代的大型数据库系统,具备多种安全管理措施和完善的安全控制机制,可以充分满足系统在安全性方面的需求。sybase在不同层次上提供了多种安全措施,包括:支持美国国家计算机安全中心ncsc制定的c2/b1标准;支持商业命名服务,使客户、服务器之间的定位、识别受控于商业命名服务提供的网络服务;支持商业安全服务,使客户、服务器等的通讯受控于商业安全服务;支持基于ssl协议和公用秘钥(pki)机制的安全机制;支持数据库行级安全机制;支持基于列的数据加密机制;支持基于目录服务的服务

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论