来源:计费&OSS世界 作者:刘军
一、信息系统存在的问题及需求
随着计算机应用系统的爆炸式发展,业务量迅速增加,业务种类日益复杂,企业必须管理不断增长的信息流量;随着信息量的急剧增大,核心数据的管理变得日益困难。如何安全、可靠地存储业务数据及满足未来业务数据高速增长的需要;如何有效管理日益增长的业务数据;如何实现业务数据的共享并在现有业务数据之上建立新兴的增值应用,如数据仓库、客户关系管理(CRM)等,成为了各企业建立信息系统的关键所在。
目前,各企业信息系统在数据管理领域存在着普遍的问题:
1、数据流通效率低下,企业信息孤岛现象严重
信息系统的建设主要是以应用为驱动的,是随着各种业务的逐渐建设的。当出现一类新的业务时,一般需要为该业务建设一套业务支撑系统,保存与该业务有关的主要数据。而这些数据可能同时也需要被其他应用所访问。从而自然就形成了各子系统应用在不同的纵向,管理着不同的业务单元或对象,各个子系统又是相互独立运行,导致形成了一个个“信息孤岛”。这些系统相互之间没有畅通的信息交流与共享,阻碍了企业信息化建设的整体进程。
2、数据报表,查询和数据共享效率低下
为了提高市场竞争力,提高客户满意度,企业需要更复杂的、更灵活的业务统计报告、需要深入的数据挖掘、需要实时的客户查询。而这些大量的统计、查询业务收到现有系统架构的制约,不得不降低效率标准、不得不推迟报告时间、从而导致客户服务质量降低、业务发展情况报告迟缓,业务发展情况不明等问题。
由此可见,对于企业内部各信息系统之间如何进行有效的数据共享,最大限度地避免信息孤岛现象,减少数据的重复流通是各类企业共同面临的难题。
二、DSG RealSync复制技术概览
与传统的数据复制技术不同,DSG RealSync技术是针对数据库提供了基于逻辑的交易复制方式。该方式通过直接捕获源数据库的交易,将数据库的改变逻辑复制到目标系统数据库中,实现源系统和目标系统数据的一致性,该技术在复制上面主要有以下几个特点:
(1)按需复制
查询和统计系统往往不需要所有的原始数据,因此完全可以按需要复制数据。RealSync系统支持对指定信息的按需复制,减少存储和网络带宽的成本。
(2)多种同步模式
DSG RealSync支持的数据复制模式包括:
a.实时复制:实时更新保证副本系统快速反映源系统的变化,提供账单查询、话单查询等的及时性。
b.定时复制:包括每月复制、每周复制和每天复制;
c.手工复制:支持操作员指定时间对指定表进行一次完全复制;
(3)对生产系统的低干扰性
DSG实时数据复制技术不需要通过任何数据库的引擎来获取变更数据,而是通过数据库自身的信息获取源系统上的改变并传送给目的系统,不会对生产系统造成性能影响。
(4)系统异构,可提供更多的优化空间
源数据库系统和目的数据库系统的可异构,主要包括索引规则和存储参数(如数据块大小、回滚段等)。因此可以在目标数据库上根据业务特点进行调整和优化,完全不受源系统的限制。
(5)支持的多种复制策略
RealSync可以被灵活配置,以支持各种复制策略,支持各种增值应用,如:1:1单向复制;一对多复制;多对一复制等。
RealSync工作原理图
![](http://64239.blog.51cto.com/attachment/200704/200704301177946398848.jpg)
如上图所示,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系统中执行该交易
下表是常见的几种数据复制方案的比较
表一:几种主要的数据复制方案比较
比较项目 |
DSG RealSync软件 |
Quest Shareplex |
Oracle DataGuard |
应用开发复制方案 |
硬件复制方案(EMC SRDF/BCV/ Veritas VVR) |
复制数据库在复制中是否可用 |
可用,热备份 |
可用,热备份 |
不可用,冷备份,需要打开数据库 |
可用,热备份 |
不可用,冷备份,切换后需要打开数据库才可用 |
对生产数据库本身的修改 |
无 |
归档 |
归档 |
修改表结构等 |
无 |
对业务修改要求或者依赖性 |
无 |
无 |
无 |
大量修改业务逻辑,增加容灾复制流程、切换流程、回切流程以及异常处理流程等等,今后业务调整都受影响 |
无 |
对存储等硬件要求 |
无 |
无 |
无 |
无 |
相同存储设备 |
对操作系统要求 |
无 |
无 |
无 |
无 |
相同操作系统和版本 |
对数据库版本要求 |
无 |
无 |
相同版本 |
无 |
相同数据库版本 |
对网络要求 |
2Mbps以上 |
100Mbps以上 |
100Mbps以上 |
2Mbps以上 |
光纤网络 |
是否自动进行首次数据同步 |
是 |
否,从备份中恢复 |
否,从备份中恢复 |
否,需要借助其它工具,如Export/Import |
是 |
增量方式 |
从redo Log或者archive log 获得 |
从archive log 获得 |
从archive log 获得 |
依赖业务处理流程需要设置二阶段提交 |
磁盘block更新识别 |
增量延迟 |
秒级 |
分钟级 |
和日志切换相关,如果1小时切换一次,则延迟1小时 |
可以做到同步,但受到热备系统性能限制,对生产系统影响较大 |
秒级 |
增量同步数据复制与处理量 |
少,日志量/9 |
少,日志量/3 |
较少,日志量 |
较少,执行所有操作两遍 |
多,日志量*3 |
复制效率 |
高,使用rowid 影射 |
较低,使用主键影射 |
低,完全恢复日志 |
低,完全依赖业务处理流程实现复制 |
最高,通过光纤通道磁盘拷贝实现 |
对生产系统资源占用,及对生产数据库性能影响 |
首次同步10%,增量
< 1%( CPU),对数据库资源无影响 |
不少于5%,需要查询数据库信息 |
需要持续进行生产数据库备份和热备库恢复 |
所有操作几乎依赖数据库,在几种解决方案中对系统影响最大 |
在磁盘阵列层实现,对系统以及数据库影响最小。 |
对目标系统服务器、数据库要求及影响 |
系统配置可以较低,不影响生产系统以及容灾系统 |
系统配置可以较低,但影响生产系统以及容灾系统 |
系统配置可以较低,严重影响生产系统以及容灾系统 |
系统配置可以较低,生产系统以及容灾系统受热备份系统性能限制 |
系统配置可以较低,不影响生产系统以及容灾系统 |
产品标准化、成熟程度以及运行可靠性 |
一般 |
较高 |
较高 |
低 |
较高 |
技术先进性 |
高 |
高 |
高 |
低 |
高 |
系统维护、管理方便性 |
较高,失去同步后可以重新快速同步 |
低,需要手动进行首次同步,通过备份恢复等实现 |
低,需要手动进行首次同步,通过备份恢复等实现 |
低,需要手动进行首次同步,通过Export/Import等实现 |
高,失去同步后可以重新快速同步 |
系统建设以及见效周期 |
短,2周完成安装配置 |
短,2周完成安装配置 |
短,2周完成安装配置 |
长,需要修改代码、测试、上线测试、修改BUG等等,周期长 |
较短,约需要4周左右完成硬件安装、调试 |
系统投资 |
较低 |
较高 |
产品免费,但需要购买昂贵服务 |
较低 |
最高,购买同购设备,需要光纤通道网络 |
三、江苏联通的BSS系统现状
江苏联通现有的BSS系统主要包括了综合营帐系统,CRM系统,经营分析系统,缴费卡系统,客服系统,各专业计费系统以及综合结算系统等各类子系统,而其中又以综合营帐系统最为核心,他包括综合营业、综合帐务、统一客户资料等模块。这些模块都集中运行在几台高端服务器上,共享一个或多个数据库服务,所有的业务请求都发给集中的数据库服务器。
由此导致出现了很多问题,主要体现在数据库的压力太大、不能承受更多的数据查询、统计分析和数据挖掘请求,在CRM系统上线后,这些问题表现得更为明显,由于营帐系统和CRM系统的数据结合程度非常高,CRM系统中的用户资料,缴费记录,帐务信息等都需要从营帐数据库中提取数据,最初我们设想过通过数据库链接来实现从CRM系统到营帐系统的数据查询需求,随后我们发现,营帐数据库在白天营业时间已经非常繁忙,连接数达到了600个以上,如果CRM系统上线后通过数据库链接查询营帐库,由此带来的连接数增加至少一倍以上,这个压力是营帐数据库无法承受的,所以我们采用了CRM库和营帐库分离的办法。同时,为了实现营帐系统和CRM系统之间的数据共享,我们仔细对比了现有的几种数据复制的方法,根据我们的业务需求,我们最终选择了DSG公司的复制软件RealSync。
四、DSG复制软件在江苏联通BSS系统中的应用
1、在集团客户系统中的应用
早在2004年的时候,江苏联通就已经开始使用DSG公司的复制软件RealSync用于在不同的系统之间复制数据,最初用于集团和VIP客户系统(CRM系统的前身)和综合营帐系统之间的数据同步,当初的系统架构如下:
由于集团客户系统需要同时从OSS库和BILL库两个数据库中复制用户资料和用户实时话费数据,而且,数据同步采用了实时同步和定时增量同步相结合的方式,当时采用其他的数据复制方式无法满足业务需求,因此,我们采用DSG的复制软件搭建了一个多对一的复制系统。
在该系统中,源端数据库有两个系统,分别是营帐系统和计费系统,在这两个数据库服务器上安装Agent,用于日志分析和数据抓取,目标端数据库是集团和VIP客户系统,在这个数据库服务器上安装Server和Agent ,用于数据复制和数据装载。
RealSync复制的配置可以针对某个用户,某个表实行按需复制,并可以定制复制方式,是否建立同样的索引等等,也可以在复制的时候不建索引,在第一次全同步之后再建索引,配置比较灵活。
系统安装和配置完成之后,需要进行第一次的全同步,这个过程将在目标数据库上建好相应的表,并将原数据库表中现有的数据完全同步过来,全同步的时侯大约占用目标数据库10%左右的CPU资源,同步的时间取决于数据量的大小和主机的负载能力。全同步完成后,可以手工在目标数据库的表上建立和原数据库不同的索引,然后目标数据库就可以运行业务系统了。此后,源数据库和目标数据库中的数据一直保持同步状态。
我们还通过用定时程序控制目标数据库的Agent的起停实现了定时增量复制。
2、在CRM系统中的应用
从2005年下半年开始,江苏联通开始建设CRM系统,该系统取代了原有的集团客户和VIP系统以及其他一些和客户关系相关的系统,同样,CRM系统和营帐系统的关系非常紧密,数据复制的需求再一次摆在我们面前,有了前一次使用DSG复制系统的经验,我们此次再次使用了RealSync的复制软件完成了营帐系统和CRM系统之间的数据复制系统的搭建工作。
该系统的基本架构和上次有所不同,数据源从两个系统变为了一个系统,但是,和上一次不一样的是,经过改造的营帐系统采用了ORACLE RAC数据库,CRM系统也采用了RAC数据库,相当于从双机到双机的复制。由于RAC的数据库日志是在节点之间共享的,因此,只需要在一个节点上安装Agent就能实现对多个节点的日志数据抓取。我们采用了在营帐数据库备库和CRM系统数据库主库上安装相应Agent的方式,在同步方式上,我们也改变了老系统采用的定时增量同步方式,全部采用实时同步方式,减少了维护人员的工作量。
目前,该系统运行了一年左右,系统运行稳定,同步的数据总量大约100G左右,有效解决了CRM系统和营帐系统之间的数据同步问题。
五、总结:
数据复制技术在当今日益复杂的信息系统中的应用前景相当广泛,各企业同以往任何时候相比,管理和有效使用这些信息系统的能力高低都更能决定其长期生存和发展能力,因此比以往任何时候,企业都更关注于如下领域:
提高系统运行效率,提高业务报表、提高客户服务质量,并降低客户流失率。
加强企业信息流通、提高企业信息的附加值、进一步挖掘企业信息价值、迅速开发和推广新业务,创造更多收入并保持竞争能力。
提高信息系统业务连续运行能力,提高数据安全保护水平。
本文出自 51CTO.COM技术博客