【IT168 服务器学院】[前言]
随着网络和通讯日新月异的发展,在银行、邮电、学校、企业已经大量地使用各种数据库系统来管理信息和数据,很多在线服务要求这些信息和数据永远都不中断服务的前提下,数据库系统的实时性、可靠性和高度可维护性成为越来越迫切的需要。而在线热备份技术(Online Replication Server)正是为实现永不中断服务的需求的一种比较成功的数据库解决方案。本文以UNIX Sun Solaris系统下的Sybase数据库基于一般表级复制和Warming Standing by方式的在线热备份为例,从热备份的概念原理、实现步骤、运行维护等三个方面介绍SYBASE Replication Server(复制服务器)。
第I部分:Sybase数据库Replication Server的概念与原理
一、 数据分布与复制:
1、在线系统在出于安全性的考虑,对非常重要的数据库的数据和信息需要保存在不同的物理设备上,而且最好放置在不同的地方,以防止比较严重的物理损害(比如自然火灾之类)造成的物理损坏而引起数据丢失,这样需要通过网络在异地不同物理设备的多个数据服务器之间异步地复制数据,以保证分布数据的一致性和完整性;
2、为了使每个Client前端对数据库数据信息的存取和查询都能够高效快速地完成,最好的情况是能够操作区域网内(LAN)的数据库,而在广域网(WAN)中要求与之数据一致的数据库通过数据复制的方式来实现。这样每个区域网都通过Replication Server与中心数据库相连,即实现了数据分布和复制。
3、SYBASE数据库的分布处理技术:
(1)、两阶段提交(同步事务):
最紧密地保持数据的一致性。
事务的速度将受限域最慢的服务器。
整个系统任何一部分有问题都会使事务不成功。
网络拓扑的变化需要修改应用
(2)、松散一致性(异步事务):
SYBASE的复制机制。
表级卸出和装入(bcp in/out)。
事务的log下载,传输,上载(dump,transfer,load)。
对修改的记录做标记,定时传输。
二、 复制服务器概念:
复制服务器,就是一种通过网络在多个数据库之间实现数据复制,以保证数据的一致性和完整性。它可以实现各个Clients客户端用户都操作本地区域网的数据,然后通过复制服务器复制到中心数据库,也可以保证一个数据库出现物理损坏的情况下,能够及时地起用备份服务器而维持不中断的数据库信息服务。
三、采用复制服务器的好处:
1、改进整个系统性能:
(1)、在区域网(LAN)传输数据比在广域网(WAN)快。
(2)、避免了随着WAN上用户数的增加使得响应时间会明显增加从而影响应用的问题。
(3)、由于决策支持系统-DSS的数据存于本地数据库,减少了数据库的锁碰撞和冲突,减少死锁的发生率。
2、提高了数据的可用性
(1)、当远程数据库发生故障,应用可以启动本地复制拷贝
(2)、当WAN发生问题时,用户可以使用本地的数据库继续工作
(3)、当本地发生故障时,应用可以连接到另一个有复制数据的节点继续工作
3、数据库复制需要传输大量的数据,所以在占用网络带宽、传输的数据的可靠性和可维护性方面存在比较明显的缺陷。
四、SYBASE数据库复制:
1、 基本原理:
用户事务被提交给主点数据库,事务被记入LOG,LOG被读出并按事务一级传给复制服务器,复制服务器完成接收、判断、迁移、组装和发送,事务发送给复制点服务器,复制点服务器完成本数据库的相同操作。
2、 组成结构:
复制服务器系统是由Dataserver、RS、LTM和网络等组成的集成综合系统,主要包括:
(1)、网络:完成数据复制和传输的必须的物理连接线路和相关的硬件设施。
(2)、SQL Server作为主点数据源
Log可以支持LTM所需的第二个Truncation point
对于已定义成可复制表的update操作将采用delete+insert方式
Log可以记录被复制的存储过程,Database Dump,Transaction log Dump
(3)、复制服务器RS
记录复制和约定信息
接收数据事务并传止约定的数据库和其它复制服务器
(4)、LOG传输管理(LTM)。
(5)、复制服务器系统数据库(RSSD)
RSSD所包含的信息有:复制定义、约定定义、功能函数和功能函数定义、路由信息
RSSD为一个SQL Server上的数据库,可以在主SQL Server上,也可在复制SQL Server上
(6)、稳定队列
存储主服务器已经完成但还没有复制到复制服务器的中间复制信息
(7)、SQL Server或者其它数据源作为复制点数据源
3、 分类
根据复制实现方式分:
(1)、一般复制环境(即表级复制):
指将定义复制的表复制到相关的复制服务器,对没有定义复制的表不做复制,所以可以实现重要的表和易复制的表复制,好处是节省带宽和相关的硬盘空间。
(2)、Warm Standby
主要定义整个数据库进行定时热备份,当主点数据库损坏以后,Clients应用的转移需要一定时间。在正常运行是两个数据库的一致性由复制服务器来保证。主要好处是实现容易,而且以整个数据库的方式实现可以满足相应的Clients端需求,但需要比较复杂的维护和较大的硬盘空间。
(3)、Hot Standby
主要对整个数据库进行实时热备份,当主点数据库损坏后,Clients的应用转移能够马上转移到复制服务器。好处是能够保证数据库的高度实时性,但缺点是需要有高性能的线路质量、大量的维护工作、而且可实现性较差,容易出现问题使复制不成功。所以目前广泛采用Warm Standby方式和一般表级复制的方式来实现,很少用及Hot Standby方式。
根据复制实现种类分:
(1)、单向复制:一个主点,一个或若干复制点,一个RS
(2)、双向复制:两个DB均为主点,两个RS,可分两种情况
两个DB中的表分别为主点表,属于双向中的单向
- 两个DB中的表全为主点表,不保证一致性