PingCAP 戴涛:构建面向未来的金融核心系统

作者:戴涛

导读

近日,平凯星辰解决方案技术部总经理戴涛在 2024 数据技术嘉年华活动中,做了主题为"构建面向未来的金融核心系统"的分享,本文为戴涛演讲实录的全文。

文章分析了中国金融行业的发展趋势,并且基于这些趋势对数据库选择从架构、运维和开发三个视角进行展开。通过平凯星辰多年的金融行业实施经验和丰富案例,基于 TiDB 构建金融核心系统是一条可重复、可复制、具备先天技术优势的路径。

金融核心系统的发展对分布式架构提出更高要求

1 从业务视角看当前中国金融行业处于三浪叠加的阶段

随着金融科技的兴起,银行业正面临着深刻的变革。知名金融科技专家和作家布莱特·金(Brett King)在多部著作中提出,银行经历了四个发展阶段:1.0 网点银行,以物理网点为中心提供基本的存贷款服务;2.0 渠道银行,拓展线上渠道,例如 ATM、网上银行、手机银行等;3.0 平台银行,基于移动随时随地获得金融服务;4.0 开放银行,嵌入生产、生活,无所不在的智能银行。当前,中国银行的业务发展呈现出三浪叠加的态势:从 1.0 到 2.0 做网点转型,2.0 到 3.0 做渠道转型,3.0 到 4.0 做开放银行的转型。

三浪叠加的业务,对于当前的银行提出了更高的发展要求。银行的 IT 部门如何面对这些需求?唯有加速数字化转型。在技术方面加快技术融合场景,加速体验创新;技术架构升级推动科技创新,特别是采用分布式、微服务的架构,并且通过 DevOps 体系搭建数字化 IT 生产线;最后需要加大金融 IT 科技投入和人才组织创新。

2 从技术发展看,金融业对于金融科技提出更高的要求

这些转型的背后对业务和 IT 都提出了巨大挑战,以银行技术举例,银行发展的周期和 IT 技术是密不可分的,需要综合考虑业务需求和 IT 技术的演进。 追溯到 60 年代,半导体技术的突破使得电子数据取代人工记录,银行业务迈入信息化时代。 70 年代小型机、大型机出现,实现了银行业务的系统化批处理,提高了工作效率。 80 年代终端 PC 的普及,推动了银行业务的远程化和自动化,客户服务体验得到显著提升。 90 年代局域网的应用,开创了银行数据中心公司网时代,为集中化数据管理奠定了基础。 2000 年至今,银行业开启了互联网新时代,金融服务变得更加便捷、高效。

金融科技经历了从金融电子化、互联网化到金融科技融合与创新的演变历程。在金融科技融合与创新阶段,未来的新技术趋势可以浓缩为 ABCDIR5 七项:即 A 人工智能技术、B 区块链技术、C 云计算及平台、D 大数据相关技术、I 物联网和平台、R 机器人技术、5G 通信技术,这些新技术被广泛应用于越来越多的金融业务场景,对数据和数据库技术提出了新的挑战和要求。

3 IT 架构和业务需求双轮驱动推动银行核心系统升级

业务需求和 IT 架构是银行数字化转型的双轮驱动。传统金融核心系统以技术为中心,面向业务流程,产品开发周期长,数据庞大且业务繁杂,信息交换和共享效率低。而金融数字化升级需求则以用户为中心,强调架构的灵活性、敏捷性和海量业务的承接能力。以互联网支付处理为例,业务需求的快速变化如何承接?渠道和用户的体验如何优化?营销成本如何降低?IT 基础设施的升级重构是银行数字化转型成功的关键。银行需要构建一个敏捷、弹性、数据驱动、安全可靠的 IT 基础设施,以满足业务需求和数字化升级的需求。

4 分布式架构成为银行核心转型的必然路径

分布式架构已经成为银行核心转型的必然路径。 在早 期 WTO 时代,银行核心系统采用胖核心架构,将记账、数据分析、审计、监管等多种功能集成在一个系统中,以满足银行全面的业务需求。 随着金融业务的复杂性和多样性不断提升,传统胖核心架构难以满足敏捷性和弹性需求。 银行逐步转向采用瘦核心架构,将核心业务功能与非核心业务功能分离,以 SOA 架构为基础,把非核心业务功能模块化,通过服务接口进行调用,提升了系统的灵活性和可扩展性。

互联网技术的兴起,对银行业务产生了深远的影响。传统银行核心系统难以满足互联网业务的敏捷性和弹性需求,因此出现了双核心架构。双核心架构是指银行同时运行传统核心系统和互联网核心系统,以满足不同业务场景的需求。传统核心系统主要负责处理核心交易和数据管理,而互联网核心系统则主要负责处理互联网业务,例如网上银行、在线支付等。

近几年,随着微服务架构的兴起,银行核心系统开始向分布式架构演进。分布式架构将核心业务系统拆解为多个微服务,每个微服务独立开发、部署和运行,通过 API 接口进行通信,具有敏捷开发、弹性扩展、高可用等优点,称为分布式核心或者无核心。在此基础上结合自主可控的要求,分布式核心能够更好地支持业务的创新和可持续发展。

2023 年 11 月,TiDB 助力杭州银行新一代核心系统成功投产。杭州银行的资产规模约为 1.6 万亿,在中国银行排名在二十名左右。新核心系统是业内首个实际投产的云原生、分布式、全栈国产化的银行核心系统,标志着杭州银行核心业务系统实现完全自主可控和架构升级。

自上线以来,新核心运行高效稳定,日均交易量 1500 万笔,服务调用 5500 万次。客户体验显著优化,与上一代相比,新核心的联机交易性能大幅提升,平均响应时间小于 100 毫秒,提升了 1.5 倍;日终批量处理效率翻倍提升,为原系统的 2.1 倍,整个批处理在一小时之内完成。杭州银行采用了 TiDB 两地三中心架构部署,实现了双活数据中心双写并行、灾难快速自动恢复且数据零丢失。

杭州银行坚持应用与基础设施解耦的架构思想,秉承分布式、透明化的设计开发理念,这对于同行业来说具有重要的参考价值。在此次核心系统改造中,杭州银行并未对业务架构进行大幅调整,而是将业务逻辑平移至新的技术平台之上,既保留了原有的使用习惯,又为整体架构路线奠定了可持续创新的基础。

面向未来的金融核心系统对数据库的要求

总结下来,构建面向未来的金融核心系统对数据库的要求有三大维度。

  • 从架构视角看,核心业务对数据库的要求除了稳定性以外,一定要考虑到数据库的通用性和开发透明性。
  • 从运维视角看,除了同城双活以外,需要考虑到更好的线性可扩展,运维便捷以及更好的易用性。
  • 从研发视角看,需要关注在开发和业务实践过程中,对于分布式事务、热点等问题的解决方案,以及技术生态是否健全等。

1 架构视角看,优先考虑开发透明性和迁移路径

从架构视角看,银行核心系统历经二十多年发展,积累了大量业务资产和应用系统,涉及多家供应商,数据库架构的选择需要以开发透明化为核心。传统分库分表方案对开发团队提出了较高要求,且造成技术栈和业务逻辑的复杂化。为了降低开发复杂度,提高开发效率,原生分布式架构的数据库产品是更好的选择,开发团队可以像使用传统数据库一样设计应用和开发代码。其次,选择对运维扩容更加透明的数据库产品,应用无需担心数据库表容量问题,单表大小可无限扩展且无性能拐点。第三,利用 HTAP 能力提供查询分析的透明性,提供更高性能的 SQL 执行效率。此外,数据库还应提供热点数据自动感知且自动打散的能力,从而降低应用设计的复杂度。

系统迁移 5R 模型为系统迁移规划提供了三个主要途径:平迁、改造迁移和新架构重构。调研数据显示,金融行业采用技术平移方式的比例为 56%,而采用新系统架构重构方式的比例为 44%。根据我们服务大量金融客户的经验,对于构建金融核心系统而言,平迁并非最佳选择。平迁虽然看似简单直接,但往往无法为业务带来显著收益。因此,在进行系统迁移决策时,应结合业务需求的主线进行综合考量。

对于大量的边缘化非核心系统,平迁是一种更为经济便捷的方式。它可以有效降低迁移成本,并减少对业务运营的影响。然而,对于核心系统而言,新架构重构才是收益最大的方式。重构意味着采用全新的架构、软硬件和设计开发理念,是实现核心系统升级和业务转型的重要途径。

在过去几年,随着互联网业务的兴起,一些银行采用分库分表单元化的架构来构建核心系统。如下图所示,单元化架构采用总分总结构,将全球业务分成三个业务单元。不管单元怎么划分,你会发现总是需要汇聚的,比如说全局管理单元、全局批量单元和全局数据汇聚单元等。单元化架构需要对应用代码、基础设施、数据存储做大量的改造和重新设计,导致架构复杂度大幅提升,维护难度随之增加。单元化架构本质上并非易于横向扩展的架构,随着业务量的增长,系统扩展难度会显著增加。跨地域数据同步一致性是单元化架构面临的重大挑战,需要复杂的解决方案来确保数据的一致性。

单元化架构并非构建金融核心系统的最佳选择,其高复杂度、低扩展性和数据同步挑战等问题制约了系统的长期发展。我们优先考虑在数据库级别采用横向扩展的技术,相比于单元化架构更具优势。对于拥有强大技术实力和资源储备的大型银行,单元化架构是一个可行的方案,其开发成本和周期可控。对于大多数中小银行,微服务架构搭配原生分布式数据库的组合更具优势。微服务架构可以提升开发的敏捷性和灵活性,原生分布式数据库则能提供弹性扩展、高可用和强一致性等特性,可以帮助中小银行构建高效、可靠且成本可控的核心系统。

2 运维视角看,优先考虑扩展性和真同城双活架构

从运维视角看,TiDB 原生分布式架构支持基于单节点的在线扩缩容。传统分库分表数据库的扩容非常复杂,往往需要做多个节点的扩容,例如从 8 个节点到 16 个节点,从 16 个节点到 32 个节点。TiDB 支持按需的单节点扩容,无数次客户侧 PoC 的结果表明,随着节点的增加,TiDB 的性能呈现准线性的增长。在银行季度结息场景下,可动态增加 TiDB 的计算节点,提升处理效率,缩短结算时间。

TiDB 在业界率先实现了银行核心系统的分布式数据库双活架构,为金融机构的业务连续性提供了坚实的保障。分布式数据库通常需要三中心部署才能实现双活,但对于大部分金融机构而言,由于数据中心地理位置限制,难以满足三中心部署条件。TiDB 创新性地推出了"3-2-1"双中心架构,在生产主中心部署 3 个 TiKV 节点,在同城副中心部署 2 个 TiKV 节点和 1 个 Learner 节点。该架构以更低的成本实现同城双活,已在多家银行成功落地。

除了两中心双活方案之外,TiDB 还提供金融级高可用的两地三中心方案。当主集群发生故障时,可以快速切换到灾备集群提供对外服务能力。通过引入只读集群、测试集群、近线库、逃生库等多种灾备扩展方案,全面满足金融机构的容灾备份需求。

3 研发视角看,需要端到端的各种场景解决方案

从研发视角看,分布式事务处理无疑是一个首要难题。目前,业界主流的分布式事务模型主要有 XA 锁,SAGA 模型、 TCC 模型和 MQ 事务消息机制。针对金融行业的业务特点,我们采用了 SAGA 模型帮助用户做账务的处理,利用 MQ 事务消息机制来辅助用户完成异步核算任务。在银行进行分布式系统改造的过程中,为了满足对数据实时性的要求,我们不仅需要优化数据库性能,还需要对应用架构进行相应的调整,以确保数据的低延迟传输和处理。

在研发领域,除了分布式事务处理之外,读写热点问题也是我们关注的重点。无论是传统数据库还是分布式数据库,写热点问题都是一个普遍存在的挑战。对于写热点的处理,我们建议采用 TiDB 数据库的散列写入策略。对于读热点问题,我们需要从两个层面进行优化。在数据库层,通过引入高效的缓存机制,提升热点数据的访问速度;在应用层,通过合理的缓存策略,进一步减轻数据库的访问压力。

在中国银行业,热点账户问题尤为突出,这要求我们在业务设计上做出一定的调整和妥协。同时,在 SQL 语句的编写上,尽量采用批量提交的方式,以减少对热点账户的频繁更新操作。在极端情况下,我们还需要与银行业界共同努力,不断完善相关应用的台账管理,以应对热点账户带来的挑战。

在跑批场景,TiDB 提供核心批处理解决方案。以微众银行为例,批量数据每天通过单元化数据库 TDSQL 近实时的同步到 TiDB 集群进行汇总,由批量应用程序在 TiDB 集群进行批量计算和加工。得益于 TiDB 出色的汇聚能力和可扩展性,以及丰富的工具生态系统,TiDB 上线之后,主要贷款业务的核心批量耗时显著减少,较原有系统提升了 3.8 倍。在面对大促销等高流量场景时,TiDB 展现出了卓越的水平扩展能力,能够轻松应对突增的数据处理需求。

TiDB 原生分布式的架构与传统集中式数据库相比具有显著的差异。银行核心系统对性能、稳定性、跨地域的高可用性都有着严苛的要求。因此,TiDB 建立了混沌工程体系,通过混沌测试来探索系统的性能边界、验证高可用性和容灾能力、评估扩展性、优化监控和告警机制、检验应急预案有效性,评估外围作业对系统的影响等。平凯星辰携手杭州银行,基于风洞实验室的生产仿真环境进行了大量的测试和验证工作,通过场景提炼开发 10 余项产品新特性。

在经历了二十多年的发展后,银行业的信息技术已经达到了一个相对成熟的阶段。然而,在当前不断变化的技术环境中,银行科技部门面临着新的挑战,包括采用新技术、构建新架构和实施新工程。银行科技部门需要走出现有的舒适区,积极拥抱变革,重新构建一个完整的 IT 技术生态系统。这包括从需求分析,到开发、测试、发布,再到监控和运维的整个生命周期,形成一个面向未来的业务演进和规划的闭环系统。

4 TiDB 是面向未来的金融核心数据库

TiDB 是一款自主研发的原生分布式 HTAP 数据库,为金融机构打造了高性能、高可用、弹性扩展的现代化数据基础设施,其架构设计有以下特点:第一,存算分离,解决了高性能、高并发和在线扩容问题,且不依赖于特定的硬件和云平台。第二,TiKV 行存和 TiFlash 列存来应对 OLTP 和 OLAP 场景需求,TiSpark 提供大数据处理能力。第三,数据三副本机制,天然具备集群级的高可用。TiDB 提供了多种数据迁移工具,支持 MySQL 和 Oracle 数据库的平滑迁移。通过 TiCDC 同步工具,TiDB 的数据可同步至 MySQL、Kafka、对象存储等。此外,TiDB 还提供丰富的监控和企业管理工具,构建了一个完善的数据库技术生态。

携手 TiDB 构建面向未来的金融核心系统

作为一款广受全球用户青睐的开源分布式数据库,TiDB 赢得了国际社会的广泛认可。在 2022 和 2023 年,TiDB 连续两年入选 Gartner 云数据库"客户之声",获评"卓越表现者"最高分。在沙利文头豹研究院发布的"2023 年中国金融级分布式数据库市场报告"中,TiDB 跻身市场领导者梯队。在 DB-Engines 最新 4 月的关系型数据库榜单中,TiDB 排名第 40 位,是中国唯一进入 Top 50 排名的数据库。

在构建一个面向未来的金融核心系统时,选择合适的数据库至关重要。以下是从不同角度出发,对理想数据库产品选择的总结:

  1. 架构层面:应优先考虑采用原生分布式架构的数据库,以确保系统具备良好的扩展性和弹性。同时,数据库应提供高透明度的开发环境,让开发者能够清晰地理解和掌握其工作原理和行为模式。
  2. 运维角度:理想的数据库应支持线性扩展,以便于系统运维团队能够轻松地进行扩容和管理。此外,数据库应提供高效的同城双活灾备方案,确保在面临灾难性事件时,系统的稳定性和数据的安全性。
  3. 开发角度:在分布式事务处理和读写热点问题上,数据库应有成熟的解决方案和最佳实践。这意味着数据库不仅要能够处理高并发的读写操作,还要能够提供有效的策略来分散热点,避免系统瓶颈。

TiDB 在国有大行 PB 级别的数据服务平台、城商行核心系统、保险公司保单系统等金融核心场景,成功实现了经典数据库和 MySQL 数据库的升级替换。在服务金融行业客户的过程中,TiDB 已经积累了丰富的最佳实践和经验。我相信未来能帮助更多的城商行、券商和保险公司,基于 TiDB 数据库来构建面向未来的核心系统。

通过平凯星辰多年的金融实际案例和实施经验,基于 TiDB 构建金融企业核心系统是一条可重复、可复制、具备先天技术优势的路径。

相关推荐
Rookie也要加油8 分钟前
01_SQLite
数据库·sqlite
liuxin3344556613 分钟前
教育技术革新:SpringBoot在线教育系统开发
数据库·spring boot·后端
2401_8572979122 分钟前
招联金融2025校招内推
java·前端·算法·金融·求职招聘
QQ395753323727 分钟前
金融科技驱动未来:智慧金融的崛起与应用
科技·金融
NewsMash27 分钟前
平安养老险深圳分公司积极开展“金融教育宣传月”活动,展现金融为民新风尚
金融
看山还是山,看水还是。1 小时前
MySQL 管理
数据库·笔记·mysql·adb
fishmemory7sec1 小时前
Koa2项目实战2(路由管理、项目结构优化)
数据库·mongodb·koa
momo小菜pa1 小时前
【MySQL 09】表的内外连接
数据库·mysql
Jasonakeke1 小时前
【重学 MySQL】四十九、阿里 MySQL 命名规范及 MySQL8 DDL 的原子化
数据库·mysql
程序猿小D1 小时前
第二百六十九节 JPA教程 - JPA查询OrderBy两个属性示例
java·开发语言·数据库·windows·jpa