宁夏银行成立于 1998 年,是宁夏第一家“宁”字号地方商业银行,西部地区第一家以省级行政区命名的地方商业银行。2016 年,被中国人民银行评为宁夏地区系统性重要银行。目前,全行设分支机构 97 家,其中总行营业部 1 家,小企业信贷中心 2 家,省内分支行 82 家,省外分行及辖属支行 12 家。2023 年上半年,固原太阳城支行、平罗西区支行获批开业。近年来,宁夏银行在宁夏金融系统综合业务技能竞赛中连续三届蝉联团体第一,2023 年上半年在全体股东和社会公众的支持下,资产总额突破 2000 亿元,经营实力迈上新台阶。市场占比和增长速度在区内同业排名均居前列,资产、负债、存款规模在宁夏单家金融机构中均排名第一。
在行内基础软硬件升级要求下,宁夏银行通过 OceanBase 承载了包括 ECIF、信贷、移动作业平台、票据、资金头寸、外部数据管理、数据交换平台等多套银行关键业务系统的投产,基于全栈软硬件基础设施逐步完成 IT 架构分布式升级。“宁夏银行关键业务系统基于 OceanBase 数据库的分布式创新应用实践”项目凭借其创新性、可借鉴性荣获“2023 第十四届金融科技应用创新奖”。
一、确认原生分布式数据库作为此次选型目标
传统的集中式数据库架构支持一般业务系统时,可以做到安全、稳定和可靠,对金融服务的发展起到重要支撑作用,但并不能较好适应数字经济时代金融业的高并发、大流量、高可用的特征。随着互联网金融和手机客户端的快速增长,传统集中式数据库已经无法满足宁夏银行的多项需求。
同时,银行业对于系统容灾和高可用能力有着极高的要求,对容灾场景下 RTO 和 RPO 有较高要求,为应对宁夏银行两地三中心的机房规划架构设计,选择多副本部署架构的原生分布式数据库势在必行。
在业务开发方面,宁夏银行现有业务系统大量使用传统的数据库,因此分布式数据库在使用习惯和兼容性方面需要尽量兼容传统数据库,这样业务在迁移至分布式数据库时,可以尽可能地减少业务 SQL 改造,降低开发运维人员的学习和分析成本,降低项目整体交付风险。同时,在性能方面,分布式数据库要能保证在高并发的业务场景和复杂 SQL 方面的性能能力。
二、分布式架构演进,提升容灾能力
宁夏银行基于自主研发服务器及操作系统部署的“1 主+2 备”架构的 OceanBase 原生分布式数据库集群,有效支撑了包括 ECIF、信贷、移动作业平台、新票据、资金头寸管理、外部数据管理、数据交换平台等多套关键业务系统的安全运行,为未来核心系统改造目标及信息应用技术创新架构下数据中心双活演进奠定了坚实基础,具体部署架构如下。
图1 OceanBase数据库集群架构图
○ ECIF 系统:生产/同城/异地三中心分别部署三副本集群,实现生产/同城/异地异步数据复制容灾保护;
○ 信贷系统、移动作业平台:生产/同城两中心分别部署三副本集群,实现生产/同城异步数据复制容灾保护;
○ 新票据、资金头寸管理、外部数据管理、数据交换平台:生产中心部署三副本集群,不进行容灾保护。
相比于原数据库采用“小型机+存储+集中式数据库”架构,在相关配套已经是顶配的情况下,仍然会遇到性能和容量瓶颈时水平扩展困难、扩容成本极高的问题。OceanBase 采用无共享(shared-nothing)的高可用机制,节约了高端集中式存储的硬件成本,摆脱传统集中式架构的性能和容量瓶颈问题,支持按需在线扩容缩容,同时也实现了全栈技术可靠,从整体架构上完成了从单体架构向分布式架构的转型,为业务的长期高速发展打下了坚实的基础。
三、关键业务性能和稳定性再上台阶
在单独一套系统的数据源下做复杂查询、数据分析和汇总计算分析是银行业非常普遍的场景,传统数据库往往在一定数据量和复杂度下会因为可扩展性和性能瓶颈遇到挑战,不得不使用两套软件的解决方案。
在分布式数据库架构上,完全可以解决这个问题。充分挖掘一份数据的价值和一套集群的能力,有利于数据在一致性、分析实时性和运维效率上取得平衡。OceanBase 具备突出的 HTAP 能力,针对内存写入、并发性、可用会话池等方面做了深度优化,支持多节点同时读写:对于 OLTP 场景,提高了并发分布式批量 DML 处理能力;对于 OLAP 场景,提高了数据时效性和决策敏捷度,让业务系统能够以更低的改造成本得到分布式架构的技术红利。
图2 HTAP混合负载
宁夏银行基于 OceanBase 分布式数据库集群的多套关键业务系统投产,使得整个系统 I/O 吞吐能力较传统“机械盘+千兆”架构有近 20 倍的提升,业务系统单条 SQL 的插入/更新平均耗时小于 5 毫秒,系统投产后交易平均耗时小于 50 毫秒,性能指标优异,各技术指标均满足行业标准要求。
凭借分布式数据库高并发及横向扩展的优势,宁夏银行在客户信息管理、信用风险控制及业务创新等方面对业务转型进行支持、赋能和引领,提升了业务竞争力。批处理性能方面,数据量增长带来的批量缓慢问题通过原生分布式数据库的快速扩容得到彻底解决,开发人员能够专注于系统新功能实现,科技更好地赋能业务。
同时,将 “中高配 X86 服务器 + Oracle 数据库”的解决方案升级至“鲲鹏芯片服务器+OceanBase 原生分布式数据库”,总体投入成本降低了 20%,系统运行效率提升了 3 倍以上。
稳定性方面,宁夏银行借助 OceanBase 支持全局死锁检测、本地路由表自动刷新、备机强一致性读、异常侦测、网络流控的能力,使得系统整体稳定性进一步提升。
四、扩大应用场景,全面提升银行科技服务能力
宁夏银行采用 OceanBase 落地了基于多租户能力的 DBaaS 体系,将多个零散的数据库实例集中统一在 OceanBase 集群后,运维管理复杂度大大降低,负载、告警、调优全部统一至集群级别,常规故障能够自动恢复。可根据需要秒级交付 Oracle 租户或 MySQL 租户,快速响应业务对数据库的使用需求,大幅提升了交付效率,有效为管理流程提效。
架构方面,宁夏银行采用两地三中心的容灾架构,实现了关键业务系统同城及异地容灾,保证数据零丢失、故障自动恢复时间控制在30秒内,业务连续性高达99.999%,满足 7*24 小时高可用要求。
采用分布式数据库 OceanBase 的数套关键业务系统的成功上线,标志着宁夏银行在推进信息科技技术可靠性方面迈上了新的台阶。通过本次创新实践,宁夏银行探索出一套符合业务发展需求和长远战略规划的分布式数据库建设方案,为应用创新提供安全高效的数据库集群,实现业务发展的快速响应和敏捷支撑。
在银行业内,客户信息管理、信贷风控及票据交易是比较重要的业务场景,本项目为原生分布式数据库在行业内找到了新的业务场景,积累了较多的经验,在研发和运维实践中,总结出一套分布式数据库关键业务系统的开发指导和集成实施规范,可供同行业其他银行机构参考借鉴。同时,本项目属于客户信息管理、信贷及票据业务的全功能全栈自研技术架构成功案例,进一步验证了银行业关键业务系统全栈升级改造适配的可行性及有效性。