Skip to Content

引言

    随着公司业务的不断扩大,为了解决集中式数据库系统的数据访问瓶颈,很多公司开始采用分布式数据库系统来解决这个问题。但分布式数据库系统中多个数据库之间的数据一致性问题和数据实时复制是其中的一道难题,SRSSybase Replication Server)为此提供了一套成熟、高效的解决方案。

1 SRS简介

SRSSAP旗下Sybase开发的一款数据复制系统,提供了成本高效的容错系统用于复制数据。SRS通过将主数据库的状态变化情况适时更新到其他复制数据库中,从而保证所有的数据都是一致的,这样客户端便可以访问本地数据,而不是远程的集中式数据库。相对于集中式数据库系统,复制系统提供了更好的系统性能和数据线,并减少了通信开销。

由于SRS传输的是事务(增量变化而不是数据复制),所以它在提高数据可用性的同时,在整个系统中保持复制数据的完整性。SRS还允许复制存储过程的调用,从而进一步提高了性能。

SRS具有开放式体系结构,允许从现有的系统和应用程序构造复制系统,并随着企业的发展变化便捷地增加复制系统。

SRS通过以下两种方式在网络上分发数据:

    • 为应用程序开发人员和系统管理员提供灵活的发布和预定模型(用于标记要复制的数据和存储过程);
    • 在网络上管理复制的事务,同事保持事务的完整性。

2 复制系统架构

        SRS设计之初主要用于ASEAdaptive Server Enterprise)数据库到ASE数据库的实时复制,称为基本复制系统。随后为了支持多种异构数据库之间的实时复制,开发了异构复制系统。下面分别介绍基本复制系统和异构复制系统的系统架构。

2.1基本复制系统

    基本复制系统包括主ASEAdaptive Server Enterprise)数据库、复制服务器和复制ASE数据库。ASE包含支持SRS所需的全部功能,除了复制服务器外,不需要任何其他组件。图1演示了由两个ASE和一个复制服务器组成的基本复制系统架构。

/wp-content/uploads/2014/03/1_402960.png

1. 基本复制系统架构


2.2异构复制系统

    异构复制系统包括在两个相同或不同供应商的数据库(不包括ASEASE)之间的数据复制操作。

    2演示使用SRS实现分布式数据库系统中的异构复制系统的系统架构。

/wp-content/uploads/2014/03/2_402961.png

2. 异构复制系统架构


    异构复制系统组件包括:主数据服务器(Primary Data Server)、Replication Agent 主复制服务器( Primary Replication Server)、备份复制服务器( Replicate Replication Server)、ECDA数据库网关ECDA Database Gateway)、ExpressConnect for Oracle/HANA DB、复制数据服务器(Replicate Data Server)。

2.2.1 主数据服务器

    主数据服务器管理一个或多个主数据库,这些数据库是复制系统中的数据更改操作或事务的来源。

    ASE外,Sybase复制技术还积极支持不同关系数据库服务器的复制服务。支持的关系数据库包括:ASEZ/OS上的IBM DB2 UDBUNIX/Windows上的IBM DB2 UDBMicrosoft SQL ServerOracle

2.2.2 复制服务器

    每个节点的复制服务器协调本地数据服务器的数据复制活动,并与其它节点的复制服务器交换数据。复制服务器分为主复制服务器和备份复制服务器。

    复制服务器通过以下措施将事务传送到各个复制节点:

    • 通过Replication Agent从数据库接收主数据库事务,然后主复制服务器将它们分发到预定数据的节点;
    • 备份复制服务器从其它主复制服务器接收事务,然后将事务应用于本地数据库,或将其转发到预定该数据的其他复制服务器;
    • 主复制服务器从复制数据库接收数据更新请求并将其应用到主数据库。

    在一个简单的复制系统中,主复制服务器和备份复制服务器为同一个复制服务器。完成这些任务所需的信息存储在复制服务器系统表中,而这些系统表存储在复制服务器系统数据库(RSSD)中。

2.2.3 Replication Agent

Replication Agent读取数据库事务日志,并将复制表和复制存储过程的日志记录传送给主复制服务器。主复制服务器重新构造事务,并将其转发给预定了数据的其他备份复制服务器节点。

如果数据库包含主数据或执行复制存储过程,则该节点需要Replication Agent。如果数据库仅包含复制数据的副本,而且没有复制存储过程,则不需要Replication Agent

2.2.4 数据库网关

数据库网关可以将使用某种通信协议的客户端与使用其他协议的数据服务器连接起来。使用Sybase Open ClientOpen Server协议的客户端(如复制服务器)可通过这些网关服务器连接到非ASE数据服务器。

2.2.5 ExpressConnect for Oracle/HANA DB

ExpressConnect for Oracle/HANA DB在复制服务器和复制Oracle/SAP HANA 数据服务器之间提供直接通信,不再需要安装和设置单独的网关服务器,从而可改进性能和降低管理复制系统的复杂性。

2.2.6 复制数据服务器

复制数据服务器管理包含复制数据的数据库,复制数据是主数据库中数据的副本。只要任何数据服务器支持一组必要的数据操作和事务处理指令,无论是以直接方式支持(如ASE)还是以间接方式支持(如网关服务器和ExpressConnect for Oracle/HANA DB),复制服务器都会将该服务器视为复制数据服务器。

复制数据服务器支持的数据库有:SAP HANAASEZ/OS上的IBM DB2 UDBUNIX/Windows上的IBM DB2UDBMicrosoft SQL ServerOracleSybase IQ

下面以OracleSAP HANA的数据复制为例展示SRS的数据复制过程。

3 OracleSAP HANA的数据复制

SAP HANA的优越性能使其得到越来越广泛的应用,今后将会有更多的应用从Oracle数据库迁移到SAP HANA中,此过渡过程会伴随从OracleSAP HANA的实时复制及数据迁移需求。而SRS正可以提供这样的异构复制功能,图3展示使用SRS实现从Oracle数据库到SAP HANA的数据复制的异构复制系统架构。

/wp-content/uploads/2014/03/3_402962.png

3. Oracle SAP HANA异构复制系统架构


在此复制系统中,主复制服务器和备份复制服务器为同一个复制服务器,并且复制服务器已包含ExpressConnect for HANA DB组件,这样就不需要数据库网关,复制服务器直接连接SAP HANA数据服务器。

Replication Agent读取Oracle数据服务器的日志信息,并将标记为要复制的表或存储过程的事务转化为命令,发送到复制服务器中。复制服务器使用分布并发控制将这些事务存储在稳定队列中,接着复制服务器根据配置的预定信息将相应的事务传送到SAP HANA数据服务器中,SAP HANA数据服务器执行这些事务操作,从而完成数据复制任务。

4 结束语

本文首先简要介绍了SRS,接着分别说明了其基本复制系统和异构复制系统的系统架构,最后以OracleSAP HANA数据库的实时复制情景为例展示SRS如何实现异构复制系统下的数据复制功能。

本系列的后续文章将会讲述OracleSAP HANA数据库的SRS复制系统的安装、配置以及使用方法。

参考资料

Sybase Replication Server Design Guide 15.7.1 SP 110

Sybase Replication Server Administration Guide: Volume 1 15.7.1 SP 110

Sybase Replication Server Administration Guide: Volume 2 15.7.1 SP 110

Sybase Replication Server Heterogeneous Replication Guide: Volume 2 15.7.1 SP 110


想获取更多SAP HANA学习资料或有任何疑问,请关注新浪微博@HANAGeek!我们欢迎你的加入!

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply