数据库 频道

原生分布式数据库在杭州银行新一代核心业务系统的实践

背景:客户需求和痛点

银行核心系统,也称为 Core Banking,是银行处理存款、贷款业务为主的核心 IT 系统。银行核心在整个银行 IT 系统架构中是其他业务子系统的基础,处于承上启下的关键位置。核心系统在金融服务能力、处理性能等方面,对银行日常经营的业务与流程优化、提升客户体验度、推动业务改革或创新等方面起着决定性作用。

杭州银行成立于 1996 年,于 2016 年在上海证券交易所上市,在英国《银行家》杂志“2023 年全球银行 1000 强”榜单中,按一级资本排名 132 位。面对业务增长带来的数据量激增、交易数据更新频繁、交易热点集中、多渠道并发交易,以及对数据安全性和系统稳定性的严苛要求,杭州银行决定采用分布式数据库构建新一代核心业务系统,以有效应对这些挑战。

选型:客户选型主要考虑哪些因素?

杭州银行在选择分布式数据库时遵循“SAPE”原则。这一原则强调以下四个关键方面:

  • 安全性(Safe):确保数据库系统能够满足银行业务对数据安全和隐私保护的高标准要求。

  • 可用性(Availability):面对软硬件故障、网络问题或其他不可预见事件时,能持续稳定地提供服务。

  • 性能(Performance):面对高并发交易和复杂的数据处理任务,具备高效的处理能力,可以快速准确执行。

  • 生态兼容性(Ecology):数据库系统能够无缝集成到现有的技术生态系统中,并支持与其他系统的互操作性。

TiDB的以下特点吸引了杭州银行的关注:

  • 通用的分布式数据库:TiDB 不与特定的云平台和硬件绑定,满足软件工程的解耦要求,最大程度降低了项目整体风险。

  • 技术架构优势:TiDB 采用原生分布式架构,具备金融级强一致性、稳定性和高可用能力。计算存储分离设计,可根据业务需要在线一键扩缩容,对应用开发透明。

  • 完善的落地工程能力:拥有丰富的金融行业实践,在两中心双活方案、Oracle 数据库迁移、混沌工程、备份容灾和运维自动化等领域具备完善的解决方案与落地实施能力。

  • 活跃的开源根社区:快速的产品迭代,确保了供应链安全,用户可以自主掌控技术演进方向和业务创新节奏。

杭州银行通过“风洞实验室”对 TiDB 分布式数据库进行了全面的测试,覆盖软件开发、数据迁移、业务交易、运维监控、容灾切换等多个维度,验证了 TiDB 在开发易用性、稳定性、多中心多活、性能横向扩展和 HTAP 特性等方面具有显著的优势。因此,杭州银行决定采用 TiDB 作为其新一代分布式核心系统的数据库。

实践:具体方案

杭州银行采用“痩”核心设计思想,将“胖”核心拆分,重构新一代分布式核心系统。基础设施层通过容器云、分布式数据库技术,提供可扩展的系统运行和数据服务能力。在新核心的开发和设计过程中,杭州银行没有对业务架构进行大量改造,在 TiDB 数据库上实现了业务逻辑的平移。

TiDB 集群采用了双中心双活架构部署,双中心 5+1 副本强同步,主中心 3 voter 副本,从中心 2 voter+ 1 learner 副本,相比常见三中心方案,减少了资源的投入,减轻运维复杂度。该架构可实现故障自动转移,当双中心复制网络异常或同城副中心服务异常,日志模式自动降级为异步,主中心自动完成多数派选举,对交易无影响。

图:TiDB 双中心双活部署架构示意图

成果:价值体现

2023 年 11 月 18 日,杭州银行新一代核心业务系统成功投产上线。新核心系统自上线以来,运行高效稳定,日均交易量 1,500 万笔,服务调用 5,500 万次。客户体验显著优化,与上一代相比,新核心的联机交易性能大幅提升,平均响应时间小于 100 毫秒,缩减 54%;日终批量处理效率翻倍提高,为原系统的 2.1 倍。

杭州银行新核心业务系统利用 TiDB 分布式数据库的扩展性优势,无需侵入开发流程进行“单元化”和表分片键的设计,既符合城商行的业务系统设计特点,又满足了业务发展的规划目标,实现了较好的成本收益。

杭州银行新一代核心系统实质性地解决了原有业务系统的性能瓶颈问题,为各项业务的快速发展提供了强有力的技术保障,其性能、稳定性和可扩展性,能够有效支撑杭州银行未来十年应对市场环境变化和业务转型发展。

杭州银行新一代核心系统是业内率先实际投产的云原生、分布式、全栈国产化的银行核心系统,是金融科技领域突破关键核心技术应用的重大实践,为金融业及其他行业数据库替代提供可借鉴的实践参考。

0
相关文章