SYBASE复制服务器(Sybase Replication Server)用来满足日益发展的企业客户/服务器计算机环境的需要。自从复制服务器被广泛应用以来,已成为企业范围内客户/服务器应用模式的基础。
一个实用的复制系统必须考虑到以下的业务要求。
- 数据的高可靠性:
复制系统将使应用系统更加可靠,减少了计算机系统失败给业务处理造成的影响。
- 信息传递的一致性:
分布系统各节点内保护数据的一致性;
- 高的系统性能:
复制系统必须在不增加数据源节点的负担、有效使用网络的前提下,允许每个节点优化本地数据的存取方式;
- 方便数据集中管理:
系统管理员能够方便容易地管理分布与各节点的数据;
- 异构数据源访问:
复制系统有能力在不同厂商提供的数据源之间移动传递数据,如Sybase、Oracle、MS SQL等系统间数据的复制和同步;
- 本地自治:
每个节点能够决定自己将接受的是哪些数据,以及访问和更新本节点数据。
复制服务器的工作方式
在这节中我们将描述SYBASE复制服务器产品的各个部份及它们的功能。复制数据操作可以分为四个部分:
- 对一个或多个数据源改变数据事务的监测
- 在网络上传送事务
- 将事务分发给各个目标数据源
- 复制系统管理
在SYBASE复制服务器环境中,对源数据库中数据的修改由一个称为日志传输管理(Log Transfer Manager 简称LTM)的进程来实现。最典型的结构中LTM与源数据库放在同一个硬件平台上。
LTM将Log传送给复制服务器进程,复制服务器进程可以在另一机器上。在一个复制系统中,若干复制服务器的配置,可以分布在不同的局域网上,根据复制系统的配置,改变数据的Log从一个复制服务器传送到其它复制服务器,最后由这些复制服务器将数据改变传给目标数据库。完整的数据复制操作进程可以由一个基于GUI环境的复制服务器管理界面来管理和监控。因为在复制系统中使用了稳定队列(Stable
Queue),数据从源数据库到目标数据库的途径中,能够避免系统中任一部分失败发生的数据丢失现象。稳定队列是一个安全机制,容错环境失败。
日志传输管理
SYBASE复制服务器产品有一部分为Log Transfer Manager(LTM).LTM是一个低调度进程,最典型的配置方法是将LTM运行在与源数据库相同的平台上。如果复制系统中将有多于一个节点的源数据被修改,则需要每个节点有一个LTM。
LTM的任务是监视并捕获与它相联数据库的事务,而且将这些事务传送给复制服务器,以便复制服务器将事务再传给其它的复制节点。
LTM有一个联接到SQL Server,读取主SQL Server的事务日志,监测它是否改变了主节点数据。事务日志是用来观察主节点数据变化的最好的信息来源,因为它包含已经提交给Server的事务,可用来恢复事务。在图六中,当某应用程序修改了主节点数据时,这个事务被记在事务日志中,以保证数据一致性,当提交时数据改变写入磁盘。复制进程不干涉数据库功能,只是LTM在监测SQL
Server中的事务,当发现某个事务应该被复制时,将它传送给SYBASE复制服务器。
LTM进程,是一个由SYBASE Open Server/Open Client编写的应用程序,并有一个联接到SYBASE复制服务器。这个进程可以驻留在单独的机器上。正是由于SYBASE复制服务器进程可以运行在与主数据源不同的机器上,才使用户将复制系统对主数据库施加的负担降低到最小限度。
LTM进程可以将独立于主数据源命令的事务翻译给复制服务器。例如,一个事务中完成的是“update”,LTM将把事务传送给复制服务器并且给予解释,翻译成主节点完成的update命令。这个源数据库事务到复制服务器翻译或映射所认识的命令的机制是SYBASE复制服务器技术的一个重要策略。从LTM到复制服务器的界面对用户来说是可见的。也就是说,如果你能获得数据源的事务,就可以将它映射到SYBASE复制系统环境并且复制它。与其它竞争厂家产品不同,SYBASE复制技术允许建立应用程序来复制异构数据源。
数据在局域网和广域网上的传送
现在让我们来看,当信息从LTM传送到与之相联的复制服务器之后,又发生了什么?如果当数据与复制数据在不同的局域网上,那么复制进程将要把数据从主数据库的复制服务器传送到负责复制节点数据库的复制服务器。请注意,如果主节点与复制节点同在一个局域网上,那么可以省掉第二个复制服务器。在单一局域网复制环境中,一个复制服务器可以完成接受LTM数据并传送到复制节点两项任务。
在多局域网环境中,不同SYBASE复制服务器之间路由可以是直接的,不需要中间节点。也可以是间接的。在主复制服务器与从复制服务器之间有中间传送节点。这些直接的或间接的路由是由系统管理员来配置的,允许系统管理员根据网络限制及应用程序传送数据的需要,有效地使用整个系统环境。在直接的及间接的配置状态中,可用复制服务器管理软件监视路由上传递的信息。
数据到达复制节点
在上两个标题中我们已看到LTM进程与服务器进程是如何协同工作的,将事务从主节点数据库送过网络到达目标节点。现在来看复制过程最后处理程序,复制服务器怎样把数据送到目标数据库。
SYBASE复制服务器是由基于SYBASE Open Server/Open Client的应用程序。在复制的最后过程,复制服务器在目标数据库上建立一个联接,将从主数据库接收到的数据写入复制数据库。同样,复制节点可以是非SYBASE数据系统。
SYBASE复制服务器以标准客户/服务器联接方式连到目标数据库。并有足够的权限修改目标数据库。下面我们可以看到复制服务器怎样知道传送哪些事务,传送到什么地方。包含复制数据的节点要向复制系统订购它所需要的数据。至于订购单信息被存在与之相关的SYBASE复制服务器数据字典中。每个复制服务器有一个相应的数据字典。简称RSSD,用来存贮复制系统信息。
因为SYBASE复制服务器仅是简单地象其客户程序一样把事务传送到目标数据源,可以是非SYBASE数据源。用户可以使用SYBASE
Omni-Gateway,让复制服务器联接到第三方数据源,使复制服务器认为复制节点就是SYBASE,从复制服务器到目标数据源之间传送数据不需做任何形式变化。
复制系统配置和管理工具
Replication Server Manager(RSM)是一个功能性很强的系统管理工具,使我们能成功地实现和管理分布复制环境。SYBASE正是认识到这一点,设计复制服务器的同时也设计了复制服务器管理程序。
RSM提供一个图形用户界面,使用户仅从一个图形操作界面便能使系统管理员监控管理复制系统的每个部分。RSM是SYBASE企业客户/服务器系统管理工具家庭成员之一,提供基于对象的管理方式。
RSM帮助系统管理员建立复制数据定单,接收复制的数据,指定这些数据复制到某个节点。定单上定义复制节点将从主节点订购哪些记录行。
使用RSM代替了复杂的复制服务器SQL命令,仅需用易于使用的填空方式便可建立复制系统定义,可用性非常好。
稳定队列:
SYBASE复制系统的设计模式,允许复制系统中的网络或者任意部分在短暂失败之后,能快速而简便地重新达到数据同步,这种配置能保护复制系统不受环境失败的影响,在其中担当主要任务的是稳定磁盘队列。
在复制环境中,事务从复制系统的一个部分传送到另一部分(例如,从LTM传送到SYBASE复制服务器,或者从某一复制服务器传送到另外一个复制服务器),在传输的中间环节,事务均可以被暂时存放在磁盘上,避免某一部分失败引发的数据丢失。当复制环境恢复到正常状态时,复制服务器能自动将磁盘队列中数据传送到目标节点。存放数据队列的磁盘分区的大小则可以动态调整。
修改复制数据(分布修改)
一般情况下,复制节点数据跟随主节点而变化。如果用户希望直接修改复制节点数据又会怎样呢?SYBASE复制服务器如何来保证协同环境下的数据一致性?
在SYBASE复制服务器环境中,修改复制节点数据有以下两种方法:
- 异步复制:节点之间传输存贮过程调用
- 同步复制:直接连接到各节点,修改每一个节点数据
在任何系统中,任何时刻,每个数据项都必须有一个明确的主节点来控制它。也就是说,每个数据项在分布式环境中在某一节点是唯一标准的,其它网络节点只存放主节点数据的拷贝。UPDATE操作可以发生在任何节点上,但在系统环境中只有主节点唯一能真正完成UPDATE。
数据项之间的关系是相当重要的,在任意一个UPDATE节点,其数据也属于其他节点,一个成功的系统,其生命周期的很多时间花费在解决这样的数据冲突问题上。另外,还有系统备份与恢复,在复杂的数据关系下也不是件容易的事情。设计一个良好的系统环境,在应用系统中变得十分重要。
SYBASE复制服务器是数据复制与同步可以采用的最佳解决方案
在上部分我们介绍过数据复制的概念,并介绍过SYBASE复制服务器是如何工作的及复制环境的几个实例。现在我们来探讨SYBASE复制服务器究竟有哪些优点,使它在同类产品市场上占居绝对的主导地位。
SYBASE复制服务器的优点——高性能
高性能主要体现在数据复制过程的三个方面
- 高效的事务捕俘
- 高效事务传输
- 高效的数据访问
高效事务捕俘——不依赖于触发器和规则
构成SYBASE复制服务器的每个部分并未采用数据库系统的特性及功能。复制服务器的工作模式是专门为复制而设计的技术。SYBASE复制服务器的组件LTM是完全独立于源数据库而工作的。SYBASE复制服务并设有使用数据库触发器及规则,因此也不增加源数据库的负担。
在一个基于触发的过程中,如果改变了源数据将触发一个数据库中的警报,这个警报将激活一段源数据库中定义的一段指定的复制代码,从而开始一个复制过程。一个基于触发或规则的复制系统是与源数据库中操作密切相关的。代码段必须在源数据库中执行,以便触发一个复制处理过程。因此,触发或规则给源数据节点增加了不必要的负担,造成性能下降。而且触发和规则必须严密监控,当源数据被修改之后,管理员必须跟踪每个警报以免遗漏。当然,触发和规则用于在源数据库中维护数据一致性,或加强业务规则,其给性能和管理带来的开销是可以理解的,也是有价值的。
相反,SYBASE复制服务器提供一种机制,复制系统是独立的,不会给主数据源造成负担,也不会给主数据库管理员增加过多的责任。
高性能事务传递
SYBASE复制服务器允许管理员选择网上传送数据的路由,从而更加有效地使用网络。路由可以是直接的,也可以是间接的。直接路由线路较短,数据可以较快地到达目的地,而间接路由则提供给管理员更大的灵活性。带有中间节点的路由给系统提供很大优越性:
- 缩减网络大小
信息传送到中转节点后,可以蔓延到所有下级节点。间接路由减少了网络连接数量。
- 复制服务器环境中灵活地分布处理过程
利用间接路由,一些相关的复制定义共享SYBASE复制服务器。
正是因为间接路由的存在,允许系统管理员在网络失败的特殊情况下,转换其它途径传递信息。
高效数据存取
SYBASE复制系统将数据传送给SYBASE服务器或其它非SYBASE服务器。每个节点配备怎样的数据源只需与本地需求一致。SYBASE复制系统不限制每个远程节点对本地应用的设计与规划,也不会干涉本地数据存取方式的优化选择,数据库索引设计或者数据在磁盘上分布。
SYBASE复制服务器优点——一致信息传送
SYBASE复制服务器在环境中传递事务,而不是传递数据行,因此在复制系统内数据的事务性一致得到保障。SYBASE复制服务器采用的事务性一致技术不同于早期的复制技术,例如表快照。此外,它也不象基于触发器和规则的复制系统,SYBASE复制服务器传递事务本身,而不是传送数据行的改变。由于SYBASE复制服务器传递事务,它也能够传递存贮过程,因而提供了一个有效的方法复制异步远程存贮过程完成复制节点对数据的修改。
SYBASE复制服务器简单的集中管理
SYBASE复制服务器产品中包括一个强有力的系统管理工具Replication Server Manager(RSM)。RSM图形化的用户界面使系统管理员从一个简单的桌面系统便能管理复制系统中的每一个对象,或者几个对象的集合。RSM帮助系统管理员检查复制系统中各组件的状态,监控它们的性能,RSM基于对象界面的特性使系统管理员避开网络配置细节,不用考虑资源的实际位置,仅在一个桌面平台上便可以管理所有的系统资源。
复制服务器管理还有一些屏幕可以监控网络联接的状态及性能、空间分配、稳定队列使用情况和复制定义配置。
在市场上没有其他的复制产品包含象复制服务器管理这样的功能强大而且高效的系统管理工具,这个产品证实了SYBASE让企业范围客户/服务器环境下分布系统管理简单高效的承诺。
SYBASE复制服务器优点——高效数据可用性
以上所述SYBASE复制产品的优点简化了日复一日的复制系统操作,使之易于管理,确保整个企业范围内协调数据的高度可用性。
系统失败之后,数据重新自动同步
当复制环境失败之后,正处于向复制节点传送的事务被临时存放在磁盘的稳定队列。在系统恢复之后,队列中的数据重新恢复原来路径传送到复制节点。复制数据也因此能够重新同步。
协调数据库备份,易于系统恢复
在分布环境中备份和重新装载数据库是麻烦的,而且难免疏忽造成的信息不一致。为简化备份过程,在复制环境下,SYBASE提供一种机制,即用复制系统来达到数据库备份。
通过批量拷贝重建复制节点
当第一次建立复制节点或者重建复制节点时,有可能没有初始化跨越网络的数据库的复制数据,即主节点与复制节点没有达到完全一致。SYBASE复制服务器允许系统管理员输出主节点数据到磁带然后再从磁带装载到复制节点。当数据从磁带装载到复制节点之后,基于网络的复制系统恢复正常复制而不丢失数据。
数据镜像
SYBASE在复制环境下,有另外一个优点-数据镜像。在复制服务器最良可用程度下,包含主数据节点能被镜像到磁盘上。
SYBASE复制服务器优点——异构一致
SYBASE复制服务器允许非SYBASE数据源加入复制环境。在其中,异构数据源不仅能充当目标节点,接受复制的数据及存贮过程,而且能充当主节点。
用户能够使用Open Server/Open Client技术定制特殊的事务传送管理(LTM)从非SYBASE数据源复制数据。SYBASE提供访问和复制非SYBASE数据所必需的工具。访问非SYBASE数据库尤其对那些有遗留系统的用户非常重要。利用SYBASE复制服务器提供的开放系统技术能复制以前遗留系统的数据,不会因为采纳了新的软件系统而使以前成功的应用系统受到威胁。
SYBASE复制服务器优点——本地自治
SYBASE复制系统传递事务到SYBASE或非SYBASE数据源。总之,每个节点保留完全自治决定怎样去访问,怎样去使用复制节点的数据,每个节点有权力做以下选择:
- 选择接受或访问某个主数据集合(或完全集合)
- 设置在本地的表名和列名
- 优化本地数据访问方式
- 修改数据,使用异步远程存贮过程,或同步地直接联接到主节点,使主节点与复制节点保持一致。
总之,SYBASE复制服务器奠定了企业客户/服务器应用中数据分布的基础,解决了分布操作和分布数据中高效数据可用性 、一致信息传递、高性能
、简单集中管理 、异构数据存取 、本地自治等问题。
|