稳定队列:
SYBASE复制系统的设计模式,允许复制系统中的网络或者任意部分在短暂失败之后,能快速而简便地重新达到数据同步,这种配置能保护复制系统不受环境失败的影响,在其中担当主要任务的是稳定磁盘队列。
在复制环境中,事务从复制系统的一个部分传送到另一部分(例如,从LTM传送到SYBASE复制服务器,或者从某一复制服务器传送到另外一个复制服务器),在传输的中间环节,事务均可以被暂时存放在磁盘上,避免某一部分失败引发的数据丢失。当复制环境恢复到正常状态时,复制服务器能自动将磁盘队列中数据传送到目标节点。存放数据队列的磁盘分区的大小则可以动态调整。
修改复制数据(分布修改)
一般情况下,复制节点数据跟随主节点而变化。如果用户希望直接修改复制节点数据又会怎样呢?SYBASE复制服务器如何来保证协同环境下的数据一致性?
在SYBASE复制服务器环境中,修改复制节点数据有以下两种方法:
-
异步复制:节点之间传输存贮过程调用
-
同步复制:直接连接到各节点,修改每一个节点数据
SYBASE建议,在任何系统中,任何时刻,每个数据项都必须有一个明确的主节点来控制它。也就是说,每个数据项在分布式环境中在某一节点是唯一标准的,其它网络节点只存放主节点数据的拷贝。UPDATE操作可以发生在任何节点上,但在系统环境中只有主节点唯一能真正完成UPDATE。
现在让我们来看图10A中的例子。它描述了一个组织机构,在三个节点共享雇员数据库数据。三个节点分布在芝加哥、亚特兰大、西雅图。芝加哥的雇员数据信息,通过复制服务器复制到亚特兰大,西雅图。芝加哥数据仅允许在芝加哥修改,如果这种设想不能满足现实需求怎么办呢?某些业务操作需要在亚特兰大有权修改芝加哥的数据,这种业务要求是否能够得到满足?
答案是肯定的。在图10B中,系统管理员建立起这样的复制系统,以异步通讯的方法,使用户能够在亚特兰大修改芝加哥的信息,在复制系统中,能自动地传送亚特兰大希望修改芝加哥节点数据的需求。建立这样的复制环境就象定义一个存贮过程一样简单。一旦系统接受了亚特兰大修改芝加哥数据的请求,那么数据改变的结果将被复制到系统的每个节点,包括亚特兰大。结果是芝加哥在这个操作中充当了一个“票据交换所”,负责传送事务。
以同样的方法,西雅图和亚特兰大也可以充当“票据交换所”,使在系统中任意节点能修改西雅图和亚特兰大数据。
对于亚特兰大用户还有另外一种选择,如图10C所示,他可以直接登录到芝加哥的服务器,发出UPDATE命令。几乎同步地对数据的修改复制到所有节点。
为什么说数据项之间的关系是相当重要的呢?如图12所示,在任意一个UPDATE节点,其数据也属于其他节点,一个成功的系统,其生命周期的很多时间花费在解决这样的数据冲突问题上。另外,还有系统备份与恢复,在复杂的数据关系下也不是件容易的事情。怎样设计一个良好的系统环境,在应用系统中变得十分重要。
冲突的解决是比较困难的,尽管复制服务器可以根据某些原则自动解决分布 环境数据冲突,但是这些原则却很难制定。例如根据UPDATE时间,命令到达时间。何谓时间呢?每个机器有自己的时钟,在分布式环境中以哪一个为标准。由于通讯中的延迟,使“到达”的概念也与时间脱节。在每一时刻,数据都是在各节点之间移动,很难指出某一时刻某个数据到达了某个地方,这使分布式系统极难恢复。
一些关系数据库供应商已开始建议用户去购买称为“Turnkey”的产品,它有专门解决冲突的机制,将在分布系统中自动协调分布环境中UPDATE冲突。很明显,这种解决一般性数据冲突的技术大大地减化了复制环境中分布应用设计的难度。
总而言之,SYBASE复制服务器本身没有提供强有力的方法解决分布环境中修改冲突问题。但是SYBASE建议,数据在应用环境中应有一个参考节点,以它的数据为标准,以便复制系统易于管理。
为什么SYBASE复制服务器是最佳解决方案?
在上部分我们介绍过数据复制的概念,并介绍过SYBASE复制服务器是如何工作的及复制环境的几个实例。现在我们来探讨SYBASE复制服务器究竟有哪些优点,使它在同类产品市场上占居绝对的主导地位。
SYBASE复制服务器的优点——高性能
高性能主要体现在数据复制过程的三个方面
高效的事务捕俘
复制处理过程不增加源数据服务器的负担
高效事务传输
针对复制事务的分布性,复制系统高效地使用网络
高效的数据访问
复制系统不限制本地节点的灵活性,优化数据存取路径
高效事务捕俘——不依赖于触发器和规则
构成SYBASE复制服务器的每个部分并未采用数据库系统的特性及功能。复制服务器的工作模式是专门为复制而设计的技术。SYBASE复制服务器的组件如Log Transfer Manager是没全独立于源数据库而工作的。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 SQL SERVER在复制环境下,有另外一个优点-数据镜像。在复制服务器最良可用程度下,包含主数据节点能被镜像到磁盘上。
SYBASE复制服务器优点——异构一致
SYBASE复制服务器允许非SYBASE数据源加入复制环境。在其中,异构数据源不仅能充当目标节点,接受复制的数据及存贮过程,而且能充当主节点。
用户能够使用Open Server/Open Client技术定制特殊的事务传送管理(LTM)从非SYBASE数据源复制数据。SYBASE提供访问和复制非SYBASE数据所必需的工具。访问非SYBASE数据库尤其对那些有遗留系统的用户非常重要。利用SYBASE复制服务器提供的开放系统技术能复制以前遗留系统的数据,不会因为采纳了新的软件系统而使以前成功的应用系统受到威胁。
SYBASE复制服务器优点——本地自治
SYBASE复制系统传递事务到SYBASE或非SYBASE数据源。总之,每个节点保留完全自治决定怎样去访问,怎样去使用复制节点的数据,每个节点有权力做以下选择:
概括总结
SYBASE复制服务器,是SYBASE系统10家族中最为关键的一员,它奠定了企业客户/服务器应用中数据分布的基础,SYBASE复制服务器解决了分布操作和分布数据中六个最为首要的问题∶
-
高效数据可用性
-
一致信息传递
-
高性能
-
简单集中管理
-
异构数据存取
-
本地自治
附:怎样去建立SYBASE复制服务器环境
上面已经描述过SYBASE复制服务器环境中每个组件的角色。
首先我们来看一下每个组件在复制环境中的表示。
SYBASE复制服务器
这个标志代表SYBASE复制服务器,它来维护在本地局域网的复制数据或者从广域网上接受其他复制服务器发送来的事务。
SQL服务器或数据服务器
这个标志代表SQL服务器,SYBASE数据服务器。服务器管理数据库包含的主数据,复制数据,或两者兼而有之。自从SYBASE复制服务器能够复制异构的数据,除了标识SQL SERVER之外,它还代表了复制系统中的数据服务器。
日志传送管理
这个标志表示日志传送管理处理程序(LTM)。LTM是复制系统的组件,负责将数据库日志传送到复制服务器。
客户应用
这个标志表示客户应用程序。一个客户应用是一个用户处理或者是个联连到数据服务器的应用。它可能是一个前端运行的用户程序,也可能是一个系统扩展的实用程序。
下面我们来看几个实例。
实例1:决策支持复制环境
在上期我们介绍的复制方式中,图1描述了一个简单的复制环境,在旧金山某些订购单信息被复制到几个决策支持系统,旧金山的财务部门,纽约的销售部门和达拉斯的生产部门。下图中,则详细描述数据复制过程。
请注意,两个直线路由已经建立起来联连旧金山的复制服务器到纽约和达拉斯。旧金山财务部门复制数据库恰好在旧金山与主数据库在同一局域网上,因而不需要单独的复制服务器。
实例2:协同数据联合
图中给出图2复制环境的详细配置
在这个方案中,不同的数据项在三个分布节点(汉城,法兰克福,墨西哥城)汇合到波士顿的数据库中。
实例3:协同数据共享
这是上期图3中实例的详细配置
本例中不同数据项(本地雇员信息)从三个分布节点复制到其它所有节点。结果,三个节点共享所信息。
实例4:协同数据一致
这个配置图对应于图4
此例中描述用户技术支持的信息可以从每个节点录入到系统中,然后复制到各节点。三个节点从本地可以共享全部信息。与以前的方案不同,在本例中的用户应用必须有某种机制解决冲突问题。
没有相关教程
|