栏目编辑:梁丽雯E-mail:****************
银行灾备中心同步数据完整性实现
■ 广西壮族自治区农村信用社联合社 陈华杰
摘要:本文介绍了银行灾备数据中心在其业务连续性中的重要作用,对比了目前主流的数据同步技术,对其中的关键技术进行了分析,并针对生产和灾备中心在异步模式下同步可能会丢失少量数据这个行业痛点提出了解决方案,可供同业参考。
关键词:银行灾备;数据中心;数据同步;异步数据完整性;异步丢数解决
近年来,随着国家和行业监管部门对金融机构信息系统风险管理的要求不断提高,以及银行自身基于防范灾难和风险、保障业务连续性需求的考虑,国内银行相继启动了灾备体系建设。灾备体系建设即除了生产中心以外,再建设一个或者多个灾备数据中心,通过部署必要的软硬件设备,使得关键应用系统在多个中心都拥有相同处理能力的运行环境,再通过数据同步技术,实现生产数据在多个中心之间同步。灾备中心投入使用后,当生产中心发生灾难故障时,灾备中心可以迅速启用,以保证银行关键业务的连续性。
灾备体系建设与管理是复杂的持续性系统工程,投资巨大、建设周期长、实施难度大。不仅对技术实力要求高,而且十分考验管理水平,更涉及科技战略、科技治理、运维管理等诸多因素。其中,如何选择适合的数据同步技术,实现数据在生产和灾备中心之间快速、完整的同步,确保灾难发生时能够快速从生产中心切换到灾备中心,从而保证银行关键业务的连续性,是灾备体系建设需要仔细考虑的问题。
在银行灾备体系建设中,对于银行的业务连续性,监管机构也给出了明确要求。根据《商业银行数据中心监管指引》(银监办发〔2010〕114号)、《商业银行业务连续性监管指引》(银监发〔2011〕104号)的要求,数据丢失量目标(RPO)不超过30分钟,业务恢复时间目标(RTO)不超过4小时。
在兼顾性能、RPO和RTO三者的时候,银行大部分会选择异步的方式进行生产中心和灾备中心的数据同步,但该模式会导致启用灾备中心时出现丢失少量数据的可能。如何结合业务系统进行功能性设计来解决该问题,成为行业关注的焦点,也是灾备体系建设中不可缺少的一环,值得重视。
作者简介: 陈华杰(1980-),男,广西南宁人,高级工程师,供职于广西壮族自治区农村信用社联合社,研究方向:数据库优化、数 据中心灾备。
收稿日期: 2020-09-11
栏目编辑:梁丽雯E-mail:****************
一、数据同步技术分析
灾备数据中心建设的一个关键点是如何将生产中心的数据同步至灾备中心,这不仅需要快速的数据传输能力,还需要保证数据的完整性和一致性。从数据同步的层次看,数据同步技术可以分为底层存储镜像同步和数据库层面同步。底层存储镜像技术,由于传输数据量大,对光纤链路的稳定性要求高,一般用于同机房内的存储。对于灾备中心而言,由于传输距离较远,一般采用数据传输量相对较小的数据库层面同步技术。目前市面上比较主流的Oracle数据库同步技术主要有以下几种。
(一)Oracle自带的DataGuard派出所周末上班吗
DataGuard是Oracle自带的数据同步功能,其同步基本原理是将redo log日志文件(逻辑方式同步下才会在主库分析日志,物理方式同步则直接传输)从源数据库传输到目标数据库,然后在目标数据库上应用这些日志文件,从而使目标数据库与源数据库保持同步,是一种数据库级别的高可用性方案。DataGuard有逻辑和物理两种模式可选。逻辑模式是通过传输SQL语句来达到同步,物理模式是通过传输数据块来达到同步。一般情况下,使用较多的是物理模式,如图1所示。
有完成的事务同步至灾备数据库。在银行应用系统中,因为涉及账务数据,因此同步数据的事务完整性显得尤为重要。此外,DataGuard有3种同步模式可以选择,即最大保护模式、最大可用模式、最大性能模式,用户可用根据自身实际情况灵活选择。Oracle 11g新增加的Active DataGuard更是允许将灾备数据库设置为只读查询状态。
1. DataGuard的技术优点
Oracle数据库自身内置的功能,与每个Oracle新版本的新特性都完全兼容,且不需要另外付费(Active DataGuard功能在Oracle 11g开始需要付费);配置管理较简单,不需要熟悉其他第三方的软件产品;物理模式下,目标数据库支持任何类型的数据对象和数据类型;目标数据库处于打开状态,可以在保持数据同步的同时执行查询等操作(Oracle 11g开始新增的Active DataGuard功能);基于数据块的同步,可以保证源数据库的事务完整地同步到目标数据库,即同步的“事务一致性”。
2. DataGuard的技术缺点
物理模式下,主备数据库版本必须一致,不可以跨版本同步;物理模式是按照数据块同步传输的,传输数据量相对比较大。
(二)第三方迪思杰公司的RealSync
DSG RealSync是国内迪思杰公司推出的一款第三方Oracle数据库的同步软件,其实现的是数据库逻辑层面的同步。当Oracle数据库有数据变化的时候,都会
在redo log中进行记录。DSG RealSync在源数据库端和目标数据库端分别安装代理进程,源数据库端的代理进程对OraclE数据库redo log进行监控分析,捕获相关的SQL语句,将相关语句通过网络传输到目标数据库,并在目标数据库执行这些SQL语句,从而达到同步数据的目的。
区别于DataGuard的物理同步,DSG RealSync采用逻辑同步,其拥有数据传输量小、版本兼容性强的优
图1 Oracle DataGuard两种同步模式越前龙马bg
主库
redo log或者archive log
redo log或者archive log
物理同步
物理备库
转换为
SQL语句
逻辑同步
执行SQL语句
逻辑备库怎样评课
物理同步模式下的DataGuard可以提供数据块级别的数据同步,遵循严格的事务完整性,即不会将没
栏目编辑:梁丽雯E-mail:****************
点。在数据迁移、数据库的大版本升级等应用场景,有着明显优势。
1. DSG RealSync的技术优点
可以在不同版本的Oracle数据库中进行同步;基于SQL语句的同步,传输数据量较小;同步速度较快;
同步策略可进行灵活设置,可针对指定用户、指定表进行同步;
2. DSG RealSync的技术缺点
配置相对较复杂;逻辑层面同步,对大事务一致性支持较差;开启事务一致性后,会严重影响同步性能;逻辑层面的同步,可能会引起包括在目标数据库中应用同步过来的SQL语句执行报错等问题。
(三)Oracle GoldenGate
GoldenGate是Oracle出品的数据同步软件,是一种基于日志的结构化数据复制软件,其通过分析Oracle redo log,实现了逻辑层面的数据同步。GoldenGate能实现大量交易数据的实时捕获、变换和传输,保持比较低的数据传输延迟。在高可用容灾、数据库迁移、跨版本升级等多个应用场景,都存在广泛应用。
1. GoldenGate的技术优点
实现跨平台异构数据库数据同步;能够在不同数据库之间复制,包括Oracle,DB2,SQL SERVER等主流数据库,并且支持多种操作系统,包括AIX,LINUX 等;通过传输SQL语句来同步,数据传输量相对较小;高性能,能够实现大量数据的快速复制;灵活的同步策略。
2. GoldenGate的技术缺点
对大事务的支持较差,大事务的同步往往会导致大的同步延迟的产生;开启事务一致性后,可能会影响同步性能;支持的数据类型和对象有限制。
(四)数据同步模式分析
目前主流的Oracle数据库同步软件产品,基本上都是通过对Oracle redo log的分析来达到数据同步的,有物理模式和逻辑模式两种模式。物理模式以数据块为单位进行同步,逻辑模式通过SQL语句进行同步。同步的基本原理决定了两种模式的优点缺点。
物理模式以数据块为单位进行同步,类似底层存储镜像,可以保证事务和数据的完整性,各种数据类型均可以同步,但是源数据库和目标数据库的版本必须一致,不能跨版本升级,并且同步的数据量也相对较大。
逻辑模式以SQL语句为单位进行同步,可以跨版本数据库同步,甚至可以跨不同的数据库产品进行同步,仅仅传输SQL语句,同步传输数据量相对较小,但是SQL在目标数据库执行的时候,可能会碰到违反唯一性索引约束等一系列问题。
按照同步数据传输的及时性来分类,数据同步又可以分为异步同步和实时同步。实时同步虽然可以保证同步数据不丢失,但是由于需要等待生产数据库的数据写入到灾备数据库后返回成功,生产数据库
再确认写入成功,若生产和灾备之间的通信链路不稳定,则极有可能影响生产。因此,在实践上,考虑到长距离光纤链路的稳定性,大多数情况下,灾备中心会采用异步同步模式。在物理同步模式下,生产数据库虽然可以在短时间内切换到灾备,事务的完整性也得到了保证,但是由于采用的是异步模式,理论上仍然会有少量数据没有从生产同步到灾备。以Oracle DataGuard物理异步模式为例,在高质量的网络条件下可以做到准实时同步,其PRO远远小于监管要求的30分钟,但是对于银行来说,关键账务数据即便是丢失一条,也是难以接受的。
二、关键账务数据补录
账务数据无疑是银行最关键的数据。对于将数据中心从生产中心切换到灾备中心时,可能会发生的少量数据丢失问题,可以通过应用系统的对账机制来将丢失的关键账务数据补回来。其原理就是利用应用系
栏目编辑:梁丽雯E-mail:****************
统的对账机制,即关键账务数据都会同时在前置数据库和核心数据库保存一份以便对账使用。如果将核心数据库和前置数据库分别放在生产中心和灾备中心,无论是生产中心还是灾备中心发生灾难,账
务数据都至少还保留有完整的一份数据,在发生数据丢失的情况下,就可以通过应用系统的对账机制来将丢失的数据自动补录回来。
具体说来,在少量财务数据丢失的情况下,对于有对账功能的前置应用系统(如农信银、银行卡、人行支付等前置均在异地的系统),可在系统对账时自动补回数据;而那些没有对账功能的系统(如柜面、行内自助设备、第三方中间业务等系统),可以通过二次开发改造,增加自动对账机制,并且将核心和前置分别放在生产和灾备中心。对涉及关键账务数据的系统进行改造后,在灾备中心切换时,就可以利用对账机制,快速地将可能丢失的关键账务数据进行补录,从而保证关键账务数据的完整性,如图2所示。
分析之后,本文提出了相应的解决方案,即采用Oracle DataGuard物理异步技术加上应用系统的对账机制。采用该解决方案后,整体数据RPO估计小于10分钟,关键账务数据RPO接近0分钟,RTO估计不超过60分钟,大大优于监管机构的要求。
某金融机构日均交易量约过千万笔,除了核心系统外,还包括农信银、银行卡、人行支付等前置系统。在前期灾备数据中心规划选型测试的时候,对常见的Oracle同步技术进行了对比测试。测试中,在采用Oracle DataGuard的物理异步模式进行同步的情况下,中断生产核心数据库主机和灾备中心之间的通信链路,模拟核心数据库发生故障无法提供服务的情况,该机构立即启动灾备核心数据库和前
置系统的对账机制,在约60分钟内,灾备核心数据库完全具备了对外提供服务的能力,且关键账务数据零丢失。测试结果显示,Oracle DataGuard配合对账补录机制基本上实现了关键账务数据零丢失,相对于其他的同步技术而言,其更加符合生产和灾备中心数据库距离较远和通信链路的抖动等实际情况,也更加满足金融机构对灾备中心数据同步的要求。
经过理论和实践论证,采用Oracle DataGuard物理异步技术配合应用系统对账补录机制来进行灾备数据库中心的数据同步,具有配置简单、操作快速、易于维护、费用低、系统无需大规模改造等优点,在金融机构灾备数据库中心的数据同步中具有广泛的
应用前景。FTT
参考文献:
[1]诸立安. 银行数据中心灾备体系建设与管理的思考[J]. 时代金融,2018(5):103.闯红灯查询
[2]詹志辉. 兴业银行数据中心灾备体系建设管理与思考[J]. 中国金融电脑,2016(1):45-48.
离婚的程序[3]刘畅. 邮政储蓄银行数据中心灾备双活建设研究[J]. 邮政研究,2018(6):11-13.
我要去山西旅游三、总结
灾备中心体系的建设,是保障银行业务连续性运行的重要手段,而其中的关键技术之一,就是数据同步技术。在对目前主流的数据同步技术的优缺点进行
图2 Oracle DataGuard配合前置系统对账补录架构前置库(备)
Oracle net
前置库(主)
Oracle DataGuard数据同步
Oracle DataGuard数据同步
核心数据库(主)
核心库切换后
通过对账进行数据补录
核心数据库(备)
生产中心
灾备中心
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论