TiDB x 北京银行丨新一代分布式数据库的探索与实践

导读

随着业务规模的扩大,传统数据库面临诸多限制,分布式数据库成为解决之道。本文 介绍了北京银行在数字化转型过程中对分布式数据库技术的探索,分享了 TiDB 在北京银行的应用历程和未来展望 。

本文根据北京银行软件开发中心罗水华先生在 PingCAP 2023 用户峰会的演讲实录整理,应用场景部分内容由 PingCAP 解决方案架构师刘畅撰写。

分布式数据库技术是推进数字化转型的关键点

北京银行作为中国最大的城商行,坚持以数字化转型统领发展模式、业务结构、客户结构、营运能力、管理方式的五大转型,分布式数据库建设是北京银行数字化转型的重要组成部分。

在新时代、新监管、新业态、新模式的数字化转型背景下,监管要求的不断升级和完善给银行业带来了新的要求,银行业必须持续进行产品创新、管理精细化、流程优化以应对经营环境的变化。随着金融环境渐趋包容开放的转变、社会金融服务创新的层出不穷以及市场竞争主体的多元化,金融环境市场竞争更加激烈,数字化浪潮的推动与金融科技的迅速崛起构建起开放生态正成为银行业的新趋势。

2023 年北京银行的客户数量突破了一个亿,随着客户数量、账户数量、业务交易量的持续上升,在业务场景多元化的演进下,传统数据库遇到了很多限制,比如数据的规模化存储、交易 TPS 的持续攀升等。推进分布式数据库技术解决传统数据库痛点已经成为推进数字化转型的关键点。

TiDB 在北京银行的应用历程

为顺应数字化时代的趋势,应对金融业数字化转型需求,北京银行在 2017 年率先迈出了第一步,开始探索分布式数据库。通过充分的调研测试,TiDB 数据库以其原生分布式架构、一键扩缩容以及应用的无侵入性和 MySQL 兼容赢得了北京银行 2017 年的选型。2018 年,北京银行基于 TiDB 上线了网联银联无卡支付系统,京信链系统。截止到 2023 年 7 月,北京银行已上线 198 个 TiDB 数据节点,共 17952 个微 Core 规模的 TiDB 集群,投产了 20 个重要业务平台。

分布式金融业务平台 是北京银行基于 TiDB 搭建的全新的金融业务平台,通过 TiDB 多用户共享资源机制,构建了查询服务、数据监控、风险防控等多项微服务架构,为客户提供存款、查询等多项服务。从 2018 年起,分布式金融业务平台陆续对接网联支付清算平台、银联无卡快捷支付平台、金融服务互联平台、网贷业务平台等多个核心金融业务场景。平台充分利用 TiDB 的 HTAP 混合业务处理能力,实现联机业务和在线分析业务的隔离,支持的数据表超过 80 亿+ 条数据,支撑超过 1 亿客户的互联网金融业务,同时满足联机业务和实时分析应用的不同场景需求。

历史明细查询平台 将核心系统各组件(如借记卡、个人存款、对公存款、个人贷款、对公贷款等)产生的交易明细记录等信息准实时同步到历史明细查询系统,面向手机银行、网银、柜面终端提供账户信息查询、历史明细查询等服务。基于分布式数据库 TiDB 构建的历史明细查询平台实现了数十个业务系统百 TB 级别数据的整合与供给,满足高可用、高并发、高弹性的多业务应用需求。一套创新的 HTAP 数据库简化了原有大数据技术栈,稳定支撑超 10 年海量交易数据的弹性存储。平台具备大规模实时多源汇聚、高时效性流式计算、大数据量复杂分析的能力,面向客户和生态伙伴提供高并发、多维度数据访问和实时分析服务。

互联网理财 承载着各类互联网代销渠道的理财业务流量,提供资产、产品维度的管理,客户维度的理财合约管理以及与行内关联系统相关的开户、客户信息、支付等操作,与行外机构相关的交易确认、对账、清结算等操作。为满足客户的多元化投资需求,北京银行提供多款专属理财产品,打造了种类丰富、期限多样、购买便捷的产品货架。互联网理财属于 OLTP 类系统,系统和数据容量更需要弹性扩展能力,数据模型具有明显的多维度特征,TiDB 提供联机加批量的混合处理方式,OLTP 部分主要以 API 或文件方式对行内、行外渠道提供服务,OLAP 部分主要通过数据、文件交换方式与大数据体系集成。

网联支付清算平台 是独立于现有银行间支付清算机构的新平台,根据中国人民银行"断直连"的要求,北京银行对业务和系统进行了整合,基于 TiDB 分布式数据库研发了网联支付清算平台,提供联机报文处理、批量对账处理等功能,实现了"断直连"汇聚三方支付的处理能力。北京银行率先在网联支付场景实现了用国产分布式数据库对传统集中式数据库的替换,满足在交易量和数据量突增情况下,通过 TiDB 数据库的弹性伸缩能力支撑业务的快速发展,且对应用透明无感。

民生卡平台 承载北京民生卡业务,北京民生卡是由北京市发改委主管,北京银行发行的新型社会保障综合服务卡,兼具社会保障、待遇发放、医疗健康、公园年票、金融服务等多项功能。TiDB 支撑一卡通的柜面申请,开卡、制卡、挂失、销户等操作,并提供个人卡信息查询、市政单位的信息查询职能。TiDB 实现了数据的统一存储,凭借多维度数据访问、数据热点动态平衡能力,向民生卡用户提供不同维度、灵活条件的高并发数据查询、分析、推送和下发服务,以统一数据视图提供对外数据库服务,打造极致的数字化用户体验。

北京银行的 TiDB 集群采用了两地三中心高可用的五副本架构。以网联系统为例,在和平里、顺义两个 IDC 跨机房同城构建分布式数据库集群,每个 IDC 部署两副本,西安 IDC 单副本做异地的数据同步,不承载业务,同时在顺义搭建了集群做本地的灾备。和平里、顺义两个主机房和西安异地备份机房采用 2-2-1 的模式,通过北京的四个副本向前端业务提供实时数据服务,这个架构可以高效地支撑联机交易类业务。目前,最大记录表的交易数已超过 20 亿条,完全满足高性能的金融业务的要求。

未来展望

后续,北京银行将继续推进国产分布式数据库的技术研究和应用推广工作。首先是扩展应用场景,扩大分布式数据库在北京银行内部的应用范围,逐步替代国外的商用数据库,新建系统优先使用分布式数据库。第二,继续提升价值收益,充分利用分布式数据库的架构提升差异化的金融服务能力。未来,不断深入探索实践,更好地掌握 TiDB 的特点,充分利用 TiDB 扩缩容和 HTAP 能力,快速地满足不断变化的业务需要,如实时营销、瞬时高并发场景等。

在应用 TiDB 的过程中,北京银行也在不断地探索无缝版本升级的最佳实践。在 2022 年,北京银行把原先存量的 TiDB 数据库从 2.0、3.0 等版本统一升级到了 TiDB 4.0 版本上,从而获得新的功能特性,并在稳定性和性能方面实现更好的提升。在分布式数据库的应用过程中,北京银行积极推进分布式数据库相关的规范和标准化建设,培养了一批专业的分布式数据库设计、开发和运维人才。

分布式数据库为北京银行的成功绘就了企业数字化蓝图,夯实了数字基础设施,在构建数字运营体系等方面取得了一系列突破。这使得北京银行不仅在规模效益方面取得了均衡增长,而且为迈入新征程打好了坚实的基础。北京银行将充分抓住数字化转型的战略机遇,锚定战略方向,守正创新,加速迈向高质量的发展之路。

相关推荐
大熊程序猿26 分钟前
python 读取excel数据存储到mysql
数据库·python·mysql
落落落sss27 分钟前
sharding-jdbc分库分表
android·java·开发语言·数据库·servlet·oracle
jnrjian28 分钟前
Oracle 启动动态采样 自适应执行计划
数据库·oracle
知识分享小能手1 小时前
mysql学习教程,从入门到精通,SQL DISTINCT 子句 (16)
大数据·开发语言·sql·学习·mysql·数据分析·数据库开发
lamb张1 小时前
MySQL锁
数据库·mysql
ForRunner1231 小时前
使用 Python 高分解决 reCAPTCHA v3 的指南
数据库·python·microsoft
躺平的花卷2 小时前
Python爬虫案例六:抓取某个地区某月份天气数据并保存到mysql数据库中
数据库·爬虫·python·mysql
Flying_Fish_roe3 小时前
linux-安全管理-防火墙与网络安全
linux·数据库·oracle
A_cot3 小时前
Redis 的三个并发问题及解决方案(面试题)
java·开发语言·数据库·redis·mybatis
2401_847056553 小时前
Altium Designer脚本工具定制
网络·数据库