摘要:在金融创新压力下,传统集中式数据库的短板逐渐凸显出来,唯有加速核心系统的升级和转型,将应用迁移到更具有可持续演进支撑能力的数据库上,才能解决根本问题。
本文分享自华为云社区《全面数字化时代,国有大型银行如何走好金融创新之路?》,作者:GaussDB 数据库。
近些年来,金融行业数字化转型不断推进,可以看到,金融业务线上化、服务场景生态化成为当前金融业发展的新常态,金融服务链开始与各行业社会服务链产生深度的融合和交织,金融业务的多元和复杂,让金融应用系统面临处理海量数据、超高并发、超高峰值等一系列挑战。
在金融创新压力下,传统集中式数据库的短板逐渐凸显出来,比如弹性伸缩能力缺乏、安全可控水平不高、灾备能力不足等等,基于传统集中式数据库构建的信息系统也因此面临着较大的不确定性风险,越来越难以适应金融行业快速发展滋生的更多需求,唯有加速核心系统的升级和转型,将应用迁移到更具有可持续演进支撑能力的数据库上,才能解决根本问题。
某国有银行是中国最大的商业银行之一。早在2014年,我们就开始和该行进行联创,一起深入洞察金融科技发展趋势和金融业务创新需求,积极开展分布式数据库联合创新和应用创新,在实践过程中积累了非常多的实战经验,并且初步形成了以GaussDB分布式数据库为基础的金融级数据库转型解决方案。
2019年以来,该行陆续将GaussDB引入到实物贵金属、中间业务系统等三十多个业务系统中上线,覆盖了各类典型业务场景,比如办公系统、一般业务系统、关键业务系统,初步形成了一套涵盖主要商用交易型数据库的转型方案。
2022年,双方再度联合,在全球信贷大型业务系统传统集中式数据库转型领域持续开展技术攻关,形成一整套系统性的技术资产和解决方案,不仅开拓了传统集中式数据库转型工作的新思路、新方法,也为金融行业提供了低成本、高效可控的重要转型借鉴。
合作前期,我们的团队成员深入银行实际业务场景,和客户展开了持续多轮的沟通和研讨,一起深刻洞察银行的业务发展现状和系统瓶颈,结合未来长期发展规划,明确了转型诉求。
结合该行的业务特性和需求,在数据库转型方案上,我们采用了分布式与集中式相结合的方式,针对不同的需求,实施不同的策略,包括金融级高可用部署、系统的应用迁移改造、数据迁移等等。
整个转型方案遵循一条总体思路——对于未来有业务扩展需求的应用系统,比如敏态应用,因为分布式部署具有大容量、高并发、横向扩展的能力,可以选择去存储过程,进行分布式改造;对于未来没有业务扩展需求的应用系统,比如稳态应用,因为集中式部署能够更好地支持存储过程,不需要太多改造,可以选择在保留存储过程的基础上按需要进行迁移,最大程度降低应用改造成本。方案可以分几部分来看:
高可用部署方案结合了该行每个发展阶段的现状,在不同的业务场景下策略也有所调整。
同城双活——满足上海两个数据中心和同城部署需求。最早期,该行在上海的A地和B地部署有两个机房,而且是跨机房部署。根据这样的特点,我们上线了GaussDB同城双活方案,通过将一主三备四个副本平均分配到上海两个机房,实现同城高可用部署,RPO=0,RTO <60秒,同时将主分片节点部署在主机房,另一个机房完全做备。
两地三中心——满足人行对5A级应用金融监管要求。后来,随着核心业务的陆续上线,系统需要满足人行的容灾监管要求。我们提供了GaussDB两地三中心方案,在前期同城双活方案的基础上,在异地北京增加了一个异步复制的集群,通过集群内的同步机制流式复制,不需要依赖外部组件,做到了异地RPO=10秒,RTO<10分钟。
跨中心多集群部署——任何软硬件故障完全隔离。2022年,我们与该行再度联合,展开技术攻关,对标主机“两地三中心”部署架构和高可用能力,基于存算分离形成了跨中心多集群的部署方案,夯实数据库的核心承载能力。
当下面对故障隔离这类问题,大多都是通过一套数据库集群拉远,不断增加数据中心的方式来提高数据库的可用性,比如从同城两中心到两地三中心,再到三地五中心,但这种方式因为只有一套整体软件(集群),即使有同城备中心,也无法做到软硬件故障的完全隔离,这种架构是无法满足主机核心业务系统可靠性要求的。
对此,GaussDB的跨中心多集群部署方案很好地满足了以上需求。该方案支持同城的两个数据中心完全部署在两套独立的数据库软件上,做到任何软硬件故障完全隔离,支持版本轮换升级、应用灰度升级,主中心升级时应用还可以访问备中心,正常开展业务,这种架构真正实现了7*24小时服务不间断,双集群下RPO=0,极致的同步性能,这是在一定成本约束下性能、可用和可靠的完美结合。
除了以上高可用部署方案,我们在该行核心系统的应用迁移改造上也形成了一整套完善的方法论。GaussDB已经有由华为云数据库和应用迁移UGO、华为云数据复制服务DRS组成的一整套自动化迁移方案,能够实现大规模数据的双向实时同步和异构数据库自动迁移,达成降本增效的目的。
在语法迁移阶段,一方面,GaussDB可以兼容传统集中式数据库常用的功能和语法,而且仅需要投入极少的应用改动工作量,另一方面,UGO可以对无法直接兼容的语法进行转换,且自动迁移转换率有大幅度的提高,比如最开始在该行实践的自动迁移转换率在80%左右,但后来在信贷系统的迁移过程中,面对几千万的存储过程量,自动迁移转换率已经达到了95%。
除了应用的迁移,在数据迁移和业务上线上,也采用了非常稳妥的方式,力求分阶段稳中求进。
比如在存量数据的迁移阶段,通过数据复制服务DRS来完成;
在技术验证阶段,通过业务联机、批量双写,可切流部分查询交易,对于一些非双写的表,进行单向增量数据同步;
在全功能切流阶段,通过GaussDB来承接业务日常联机和批量数据处理,通过灰度引流按试点维度(机构或客户)逐步推广,并通过DRS的反向同步能力实现了GaussDB和原数据库的快速回切。
实践证明,这套方案完全契合该行核心系统的转型诉求,并且取得了非常明显的成效。现在,该行三十多个业务系统已经全数平滑搬迁到GaussDB数据库中,通过卓越的性能和跨中心多集群技术,高效支撑起全球信贷系统7*24小时服务连续性要求,同时也实践出一套非常实用的转型经验。
与该国有大行的联创实践充分验证了传统数据库向分布式数据库转型具有非常强的可行性,也为我国大型商业银行核心系统转型蹚出了一条明朗的道路。接下来,双方也将继续联动,通过技术沉淀和转型实践经验总结,识别行业共性需求,开展更深层的联合技术攻关,共建金融科技新生态。