TiDB x 汉口银行丨分布式数据库应用实践

汉口银行是一家城市商业银行,近年来专注科技金融、民生金融等领域。在数据库国产化改造中,汉口银行引入了 TiDB 数据库,并将其应用在重要业务系统:头寸系统中,实现了一栈式的数据服务,同时满足了高并发、低延时、数据一致性和高可用需求,解决了传统数据库的局限性。

汉口银行是一家总部位于武汉的城市商业银行,现有各类分支机构 201 家,近年来通过专业化经营和精细化管理,着力在科技金融、民生金融、小微金融、互联网金融等领域不断培育和塑造经营特色,可持续发展能力持续增强。 根据英国《银行家》杂志排名,自 2010 年起,汉口银行一直跻身全球银行 500 强。 汉口银行相继获评中国十佳城市商业银行、卓越竞争力品牌建设银行、最佳科技金融服务银行等殊荣。

国产数据库经过多年打磨,已具备成熟、可持续发展的生态,在银行、保险等金融企业应用广泛。汉口银行在业务发展规划的指引下,较早启动了数据库国产化改造,对行内各类系统进行了清晰的规划,开始一些场景的探索和尝试。

头寸系统是汉口银行的重要业务系统之一,该系统通过监测当前的头寸水平和影响头寸变化的因素,实现大额头寸预报电子化、头寸匡算自动化、调拨及审批流程电子化,提供资金业务到期情况查询、历史资金交易查询、货币台资金交易查询等。头寸系统是一个典型的既有在线联机交易,又有在线分析的混合的 HTAP 场景,项目落地过程中 TiDB 数据库产品能力和服务能力获得行方认可。

汉口银行构建 TiDB 主备集群为头寸系统提供一栈式数据服务,使用 TiDB 完成海量数据场景下的在线交易处理,提供可扩展、无上限的实时写入和实时查询能力,满足高并发、低延时、数据一致性和高可用需求,彻底解决传统数据库并发低、无法线性扩展、分析能力差等难题。

为什么选择 TiDB?

原生分布式架构对业务透明,应用开发便捷

TiDB 计算存储分离的原生分布式架构设计,可以灵活扩展计算或者存储节点,支持自动分片且分片策略不需要事先干预和设计,对于业务开发而言非常便捷,尤其在扩缩容场景下,相比基于分库分 表架构设计的分布式数据库而言优势更加明显。

金融级的高可用性

在 TiDB 各组件采用冗余设计,数据采用三副本,通过 Multi Raft 协议保证各副本数据的一致性和高可用,集群之间可通过 TiCDC 或 TiDB binlog 搭建灾备集群保障集群级别的高可用。 TiDB 提供两中心、两地三中心等高可用容灾方案,满足金融机构对极致的 RPO 和 RTO 的 述求。

创新的 HTAP 能力,复杂 SQL 的性能优势明显

对于多表 join、复杂分析和 跑批场景,如果单独构建分析库,数据处理流程变长且加大了系统的复杂性。 只需给 TiDB 集群增加 TiFlash 节点即可获得 HTAP 能力,为复杂 SQL 的查询性能提供优异性能,应用程序不需要开发两套程序,配备两套技术栈。

全面的国产化生态兼容

TiDB 兼容适配主流的国产服务器、国产芯片、国产操作系统以及国产中间件,在主流的国产软硬件上运行稳定、性能都能满足业务要求。 TiDB 对 MySQL 的功能和语法兼容出色,是 MySQL 数据库国产化替换的首选。

自主开源,社区活跃

TiDB 坚持自主开源模式,打造了国人主导的开源根社区,确保了产品供应链安全。 TiDB 社区活跃,测试和应用过程中遇到的问题基本都可以在社区论坛中找到答案。 此外,TiDB 文档、视频课程资源非常丰富,便于体系化地学习。