本文为《DB 大咖说》第 12 期的精简梳理。
每个产品在发展初期都有种子用户,四川农商联合银行股份有限公司(原“四川农村信用社联合社”,于 2024 年 1 月以其为基础改制,注册资本达 220 亿元,位列全国农商行之首。以下简称四川农商联合银行)就是 OceanBase 的种子用户。四川农商联合银行在 2018 年就开始与OceanBase 团队合作,彼此共同成长、共同成就,很好地诠释的“双赢”的内涵。
《DB 大咖说》第 12 期邀请到了四川农商联合银行高级工程师桂俊鸿来分享这次结缘合作的经历。桂俊鸿在银行业务系统开发和架构设计有 10 多年的实践经验,从行内软件开发工程师开始成长为一名高级工程师,参与了四川农商联合银行选型到上线 OceanBase 的全部过程。
2018 年是全省农信 70 多年发展历程中的关键一年。这一年四川农商联合银行提出了全面向分布式架构转型的战略布局,并着手开始进行分布式云平台和分布式数据库的选型。2 年后的 2020 年 7 月,分布式云平台“蜀信云”建成投产,基于 OceanBase 数据库实现了多地多活的单元化架构,随后智能贷款、开放银行、智能柜面、智能营销等业务系统陆续上云。
截至目前,以 OceanBase 为数据底座的“蜀信云”已支撑云上 49 个系统的安全稳定运行,为保障四川农商联合银行业务运营,达成四川农商联合银行的“合规银行、智慧银行、主力军银行”的目标提供强力支撑。
一、全面向分布式架构转型
截止 2023 年底,四川农商银行系统(含下辖农商行及村镇银行)资产规模超过 2 万亿,是四川省内业务规模最大、网点覆盖面最宽、员工数量最多、服务对象最广的银行,在支持四川省经济社会发展、支持“三农”过程中发挥着重要作用。
四川农商联合银行原来的 IT 系统都建立在 IBM 主机、小型机等专用设备和 Oracle、DB2 等数据库之上,越来越难以满足当下的需求。以 IBM 主机为例,其主机虽然稳定,但一方面运维成本居高不下,技术上也不能做到自主掌控,另一方面它的灵活性和可扩展性也严重不足,这一点对今天的四川农商联合银行非常关键。
四川农商联合银行是一家普惠型的金融机构,面向的都是小额高频的交易,伴随业务高峰,交易集中并发,日均交易和峰值交易差一倍以上。比如,春节期间因农民工返乡交易量会大增。另外,随着互联网金融的出现,智慧银行、开放银行成为各个银行的新宠。和传统金融业务相比,这些新型业务系统迭代快、流量变化快,再叠加上用户消费习惯的变化,峰值预测变得越来越难。这就要求 IT 底层需要更加弹性和易变,且能平滑应对不定期到来的流量洪峰。
为了应对新的新挑战,四川农商联合银行于 2018 年做出了向分布式架构转型的重要战略部署,OceanBase 也因此进入了四川农商联合银行的选型范围。
“数字化转型的本质上就是解决数据的流通、整合和优化,从而更好地发挥数据的价值。”四川农商联合银行信息科技部高级工程师桂俊鸿表示。
显然,数据库的选型对这次的分布式架构转型至关重要。桂俊鸿解释说,这是因为应用之间不再是只有简单的服务之间调用,而是需要借助数据库实现相互打通,从而为业务开展提供最大程度的支持。
以四川农商联合银行深受农牧民欢迎的智能小额贷款业务为例。今天,农牧民可以线上申请贷款来购买牦牛、化肥等,几分钟就能办好,在以前全部流程走下来需要 3-5 天。这背后的数据整合工作,就需要一个强大的数据库来支持。
四川农商联合银行原本使用的 Oracle、DB2、Informix 等数据库虽然比较稳定,但都运行在专有设备上,运维成本高,更为关键的是可扩展性不好,难以支撑四川农商联合银行的高速发展,而且也不能很好地满足四川农商联合银行对多地多活的容灾需求。
二、三地四中心五节点,确保数据安全
在四川农商联合银行做出向分布式架构转型过程的决策过程中,多地多活容灾是一个非常重要的考虑因素。
对于总资产达到一定规模的金融机构,其重要系统需要建立异地灾备中心,这是监管的明确要求。异地灾备常见的就是“两地三中心”模式,“两地”是指同城、异地,“三中心”是指生产中心、同城容灾中心、异地容灾中心。同城双中心加异地灾备中心即“两地三中心”。
由于全省农商行很多分支机构位于地震活动区,为了确保数据的安全可靠和业务运营的连续性,四川农商联合银行在“两地三中心”模式的基础上又走了一步,采用的是“三地四中心五节点”,目的是具备城市级的多活容灾能力。
OceanBase 的分布式架构很好地匹配了四川农商联合银行的“三地四中心五节点”和单元化架构的部署需求。所谓单元化部署模式是指,每个单元都独立承担部分业务,相互之间尽量避免交叉访问,从而降低时延,同时保证容灾能力。这需要底层数据库进行相应的匹配,比如,要采用适当的数据分片策略,尽量保证进入该单元架构的请求只需要访问本单元内部保存的数据等。
桂俊鸿介绍,配合向分布式架构转型,四川农商联合银行大量采用包括微服务、容器等云原生技术,这些技术为应用单元化部署的落地奠定了基础。
除了对“三地四中心五节点”的支持之外,桂俊鸿表示,OceanBase 的优势还包括:
○ OceanBase 经历多年支付宝核心场景严苛验证,在服务高可用、数据强一致、扩展灵活性等方面有保障;
○ OceanBase 具有多租户能力,可以实现资源按需分配使用,运维便捷;
○ 对主流数据库兼容性,尤其是对 MySQL 和 Oracle 兼容能力,位居国产分布式数据库前列。
○ OceanBase 完全自主研发,自主掌握核心技术和源码,能够有力推动四川农商联合银行的数据库升级工作。
三、做实数据底座,助力三农
从 2019 年完成对数据库的选型,到 2020 年年底完成基于 OceanBase 设计的分布式云平台“蜀信云”的建设,随后启动了新项目和存量应用迁移到 OceanBase 的工作,智能贷款、开放银行、智能柜面、智能营销等业务陆续在蜀信云上投产。
截至目前已经有 49 个系统稳定运行在 OceanBase 上,逐步开展对 Oracle 和 DB2 传统集中式数据库的升级,其中关键业务系统 6 个、重要业务系统 18 个、一般业务系统 25 个。另外,四川农商联合银行的分布式核心系统建设已经于 2023 年年初启动,预计 2024 年年底完成主体开发。此外,新一代核心系统也将基于 OceanBase 建设。
随着一个个项目在蜀信云上的投产,OceanBase 的价值逐步显现出来。
首先,由于多地多活架构的成功落地,四川农商联合银行的IT 系统在可用性方面有了显著提升,在数据库层面可以实现同城 RPO=0、RTO<8s 的自动无损容灾效果。对于所处地区地震频发的四川农商联合银行来说,这一点非常重要,消除了后顾之忧。
其次,OceanBase 数据库的弹性伸缩、快速水平扩展能力配合四川农商联合银行的云原生化改造,使得四川农商联合银行在资源调配上有了更大灵活性,可以从容应对春节、“双十一”等流量高峰,保证业务系统的稳定运行。
桂俊鸿介绍,四川农商联合银行将数据拆分成为 100 个分片,每个分片采用 5 副本,任意一个机房或者城市发生了故障,可以快速将流量切到其他数据中心。同时,也可以根据流量进行动态调整,确保业务正常运行。
第三,运维方面也更加高效和方便,整体成本得到明显降低。OceanBase 提供的运维工具 OCP 极大提升了数据库的运维和管理效率。
另外, OceanBase 可运行在 x86 和 ARM 架构服务器上,能有效支撑主机下移,为四川农商联合银行的核心系统转型升级奠定了坚实的基础。
当然,这些价值不仅体现于四川农商联合银行的运营中,更惠及终端用户——四川农商联合银行的服务越来越快捷、越来越贴心。如前所述的助农的小额贷款从以“天”计减少为以“分钟”计就是一个很好的例子。
桂俊鸿表示,接下来四川农商联合银行将持续进行架构优化。比如,目前四川农商联合银行采用的是 5 副本部署模式,但随着更多业务系统的上线,带宽和服务器资源占用很大,为此,四川农商联合银行正在根据业务系统对容灾的不同要求重新规划,以进一步实现成本节约。
可以预见,随着四川农商联合银行对 OceanBase 的深入使用,其数字化能力将得到进一步提升,从而帮助四川农商联合银行更好地把握数字化转型机遇,助力四川省经济发展。