写点什么

一文详解华夏银行数据库变迁之路

  • 2023-07-12
    北京
  • 本文字数:4135 字

    阅读完需:约 14 分钟

一文详解华夏银行数据库变迁之路

随着科技的飞速发展,银行业和金融科技都面临着巨大的挑战和机遇。在这个数字化时代,消费者对银行业和金融科技的服务提出了更高的要求,要求更便捷、更高效、更安全的金融服务。


金融科技公司凭借其先进的科技技术和灵活的创新模式,在支付、借贷、投资等领域不断拓展市场份额,给传统银行业带来了巨大的压力。但同时,银行业也从金融科技中看到了巨大的机遇。银行业可以利用金融科技的技术和模式,提升服务效率,优化客户体验,扩大市场份额,实现业务的数字化和智能化


华夏银行就是这场数智化浪潮中紧跟时代的先行者。经过几年的自研数据库迁移与改造,目前华夏银行已经完成了 40%以上的老旧数据库系统替换,实现了由管理类业务系统成熟的应用,逐步向核心系统的试点推进。那么,是什么样的契机推动了华夏银行对数据库系统进行改造?在对数据库进行调研、测试、选型与推广方面都做了哪些工作?针对自研数据库的建设上华夏银行又有哪些经验值得分享?在此次 2023 可信数据库发展大会上,InfoQ 有幸采访到了华夏银行数据库专家王辉,听他来聊一聊华夏银行的数据库迁移改造技术实践。

为什么要改造数据库系统?


InfoQ:很高兴采访到您,您能简单介绍下自己吗?包括之前的一些工作经历?


王辉:你好,非常荣幸能够接受 InfoQ 的专访,我叫王辉,来自华夏银行信息科技部基础技术研究室,主要负责国产分布式数据库的调研、测试、选型与推广相关工作,之前主要从事Oracle、MySQL 等商用数据库的开发与运维相关工作。


InfoQ:以您的视角来看,近些年来银行业经历了哪些变革?是什么需求促进了华夏银行数据库系统的改造?


王辉:数据库在银行主要经历了以商用为主的集中式,逐步向开源和分布式试点,最终采用国产分布式为主的转变,主要需求来自于业务驱动、技术驱动两方面,业务驱动主要是由于随着数字化时代的来临,数据呈现爆发式增长,数据的存储和访问都面临重大的挑战,传统数据库架构受限于单机资源瓶颈,不具备水平扩展能力,使其海量数据的处理能力较弱,难以满足新业务场景需求。技术驱动主体现在实现金融科技创新对核心技术实现自主掌控的要求,同时进行深入研究和场景适配的攻关,推进金融业信息化核心技术安全可控标准建设的目标。


InfoQ:在数据库替换之前,华夏银行的 IT 架构和采用的数据库是什么,在业务中老旧的架构和数据库遇到了怎样的问题?


王辉:IT 架构主要以商用的 IOE 集中式架构为主,数据库在 TP 场景绝大部分采用的 Oracle,AP 场景以 TD、Oracle 一体机为主。主要存在集中式架构扩展能力差,成本较高,数据库高可用切换能力弱,同城数据复制存在数据丢失风险等问题。


InfoQ:华夏银行的数据库替换是由管理类业务系统成熟的应用,逐步向核心系统的试点,这两种系统在对数据库的要求上有什么区别吗?


王辉:在容灾级别、高可用、高性能、高扩展能力等方面要求不同。核心系统容灾级别为最高级别,需满足生产、同城、灾备三数据中心机房,同城 RPO=0,RTO<1 分钟,数据强一致、零丢失,又要具备自动高可用切换能力,高并发访问性能,数据库响应时间延迟低,及更灵活的弹性扩展能力等要求,对保障业务的连续性与稳定性能力也要求更高。而管理类业务系统要求相对较低,大部分为内部使用,属于次重要或一般类业务系统,等保和容灾级别也要求较低。虽然不乏有金融机构直接拿核心类业务进行试点,但为了稳妥起见,大多数金融机构都以管理类业务系统试点为切入点。


InfoQ:数据库选型过程中,您和团队都考虑了哪些因素?进行了哪些前期工作?为什么最终会选择分布式?


王辉:数据库选型主要考虑产品能力、服务能力、同业案例、生态建设和公司资质等方面。前期工作主要包括:技术调研、技术交流、市场调研、产品测试、产品选型等方面。


集中式数据库基本都不具备分布式能力,无法满足高并发、大数据量的业务场景需求,而绝大部分分布式数据库都具备集中式和分布式两种部署模式,可以满足不同业务不同场景的要求。


InfoQ:采用了新架构和新的数据库后,业务上带来了哪些改善?收益是否有明显提升?


王辉:分布式的优势在于存算分离,将数据分散到多个节点进行存储与计算,从而提升数据库的整体处理能力。因此带来的改善首先体现在性能方面,具体实践中虽然对于本身业务压力就比较小的系统提升并不明显,但对于交易量大的系统提升较为明显,TP 场景下,以核心借记卡系统为例,采用分布式架构后,TPS 提升 1.5 倍。AP 场景由于其数据量大,数据节点多等特点,更能体现出分布式计算的优势,替换后提升明显,平均性能提升 1.5-2 倍,以 CRM 系统为例用户响应时间由 30s 下降到 3s,极大的提升了用户体验。其次在成本方面,对比商用小型机、企业级存储,分布式数据库只需要运行在 X86、ARM 等架构的 PC 服务器上,同时软件费用相比较商用数据库较低,相关维保费用也较低,虽然分布式部署设备较多,但总体上成本还是有所降低的。


当然,分布式其实是一把双刃剑,用好了会事半功倍,但如果前期规划设计不好,反而会造成性能下降。在使用分布式架构时我们需要进行全面的评估分析,尽量避免分布式事务,分片键设计不合理等情况的发生。另外需要指出分布式数据库的集中式部署模式能满足大部分业务需求,我行也占有较大的比重,我们完全没有必要为了分布式而分布式。

自研数据库迁移平台的建设实践


InfoQ:整个数据库改造过程共耗时多久?分为哪几个阶段?这其中遇到过哪些技术上问题?又是如何解决的?


王辉:整个数据库改造过程大概分成如下几个阶段:


• 改造评估:收集相关信息评估改造成本,评估报告编写;

• 规划设计:数据库选型、架构设计、模型设计、环境部署;

• 适配测试:业务代码与数据库语法改造,功能、非功能及高可用测试;

• 数据迁移:数据对象与数据迁移,数据一致性比对与验证;

• 服务交割:系统上线与回退策略制定及后期运维、监控与故障处置等。


耗时大概在半年左右。数据库改造过程耗时主要取决于业务复杂度、数据量大小、兼容性及运维备份要求等方面,一般情况下业务系统数据库改造的平均时间在半年左右。


在数据库改造过程中遇到的主要问题是业务开发代码与新数据库的兼容性适配,包括对象、语法、链接驱动等适配改造,另外就是商用数据库如何完整、高效的迁移到国产数据库问题,最后还涉及到上线后的运维监控与备份等问题。


我们的解决方案是自研了几个工具平台来完成这项工作。


我们搭建了开发工具平台——自建龙跃(iGO)数据库迁移平台。实现了在业务代码不修改或少量修改的情况下与新数据库的适配,同时具备数据平滑、高效的数据迁移能力解决了数据库改造过程遇到的两大难题,提升了改造效率。


还建立了统一运维平台,实现现有数据库与我行一体化监控平台的对接,并建立统一的数据库运维管理平台。此外我们还推动了平台生态建设,推动了国产备份、安全等服务厂商与国产数据库的适配认证。


InfoQ:您能介绍下华夏银行在数据库改造过程中自研了哪些平台或工具?效率是怎样的?为什么没有选择市场上现成的平台或工具而要自研呢?


王辉:主要研发了数据库迁移平台,存储过程覆盖率检测工具,SQL 审计平台,应该说为数据库的改造既降低了成本又提高了改造效率,随着平台不断地成熟与完善,原来的改造要用年来计算,现在可以实现月甚至周来计算。


因为我们非常明确数据库的改造需求,也具备有实力的开发团队。另外市场调研结果显示针对国产数据库的迁移平台并不多,也很难覆盖我行的数据库种类,虽然各数据库也有自己的迁移工具,但都各自分散不便于统一管理,而且在数据迁移过程中遇到特殊情况自己研发的平台可以快速响应,可定制开发,比较反馈给厂商效率要高很多,同时还实现了自主可控与技术创新。另外两个平台也有类似同样的思考。


InfoQ:这款自研的数据库迁移平台是如何搭起来的?它有哪些关键的部分?其中的技术难点有哪些?


王辉:2019 年我们认识到数据库的改造,迁移是重要且必须的一环,未来一定有很多的需求,因此在同年开始组建团队,讨论需求、设计与研发,那个时候国产数据库引入刚开始,数据库改造并不多,也给了我们更多的时间。那个时候市场的迁移工具并不多,且对国产数据库的支持很少。


这过程中的关键部分有两大块:数据库迁移平台架构分为 monitor 和 worker 两大组件,monitor 主要是 web 页面进行迁移任务操作和日常系统管控还有任务调度能力等。worker 主要负责主要对象语法转换、数据迁移和数据校验。


遇到的技术难点就是各种字符集差异、时区差异转换,全量数据的快速同步,增量数据断点续传,数据库快速回退技术等。

数据库改造后为业务带来了哪些价值?


InfoQ:数据库迁移改造后,要把技术价值转变为业务价值,还会存在哪些阻力?怎么解决这些问题?


王辉:技术与业务之间的沟通障碍,导致难以理解和传达技术变革对业务的实际影响。通过建立良好的技术和业务团队之间的沟通渠道,确保彼此了解对方的需求和期望。可以组织定期的会议,交流小组或培训来加强沟通和理解。


技术变革带来人才转型,员工对变革可能存在抵触情绪,在接触新技术时需要适应和调整自己的角色和技能。一般通过提供培训和支持,帮助员工适应和接受新的工作方式,建立反馈机制,鼓励和回应员工的意见和关切。对创新标兵给与奖励以鼓舞大家的热情。


数据库迁移改造后会给业务带来性能和用户体验的提升,但也会存在一定风险,因此需要我们在上线前做好全面压力测试,同时要建立上线后的快速应急处置方案。


InfoQ:那么,在未来数字经济背景下,您认为科技金融该如何更好地服务于客户?


王辉:在未来数字经济背景下,科技金融需要不断创新和改进。通过大数据、人工智能、生物识别、区块链等技术平台,实现数字化创新、数据驱动决策、信息安全保护的客户服务,面推进金融服务线上化、移动化、智能化,提升场景和生态对接能力,满足客户的多样化需求,为客户提供更便捷、高效、安全的金融服务。


InfoQ:未来,在数字化进程中,华夏银行还有哪些动作和布局?


王辉:在国家大力发展数字化经济背景下,产业数字金融是一个重要发力方向,华夏银行未来将在金融数字化促进产业升级领域有更多布局。以产业链协作体系中的商流、物流、服务流、信息流、资金流等数字信息为基础,创新运用包括大数据、区块链、5G、物联网、隐私计算等在内的数字化技术,整合各条线金融服务,为产业链各类参与主体提供综合化的产业数字金融服务。


采访嘉宾:


王辉,华夏银行数据库专家

2023-07-12 15:543305
用户头像
李冬梅 加V:busulishang4668

发布了 819 篇内容, 共 388.8 次阅读, 收获喜欢 1007 次。

关注

评论

发布
暂无评论
发现更多内容

[Git] Git 可以这么学

猴哥一一 cium

git

[GitHub] 跟我一起白嫖 GitHub Pages 做个人站点 ?

猴哥一一 cium

git GitHub GitHub Pages

游戏夜读 | 如何避免乏味?两则

game1night

软件开发生产率改进之我见(一)

清水

团队管理 软件工程 技术管理

2020年2月北京BGP机房网络质量评测报告

博睿数据

APM 机房 评测 世纪互联

有点干货 | Jdk1.8新特性实战篇(41个案例)

小傅哥

函数式接口 Lambda 小傅哥 jdk8 编码

翻译敏捷行业专业外文,不只是谷歌翻译

老彦

翻译 Scrum 敏捷开发 Agile

「开放」对协作效率的影响

Tony Wu

产品 产品设计

给学妹的 Java 学习路线

武培轩

Java 学习 程序员 程序媛

Flutter的staggered GridView详细使用

潘珉

flutter

Lean UX 教你设计如何驱动产品

Yanel 说敏捷产品

产品 敏捷 设计

工厂模式 (一)简单的工厂模式概念以及示例代码

LSJ

Zabbix实战指南

橙子冰

技术 运维 监控 运维自动化 zabbix

Kubectl exec 的工作原理解读

米开朗基杨

Kubernetes kubelet

ARTS - Week One

shepherd

js algorithm

2020年2月北京BGP机房网络质量评测报告

博睿数据

孩子,我们在睡前一起来阅读 15 分钟的好书,让彼此都带着好的故事入眠。

叶小鍵

正确阅读 托马斯·奥本 Doug Antin 蒂·泰德罗克

内容比形式更重要

Winann

内容 生活 工作 形式主义

python实现·十大排序算法之希尔排序(Shell Sort)

南风以南

Python 排序算法 希尔排序

五个“为什么” —— 读《精益创业》

YoungZY

读书笔记

实用贴丨正确的「递归」打开方式:让计算机像计算机一样去计算

博文视点Broadview

Python 递归

有价值的产品=设计思维+精益创业+敏捷方法

老彦

Scrum 敏捷开发 Agile 设计思维 精益创业

关于问题的问题 —— 读《你的灯亮着吗?》

YoungZY

读书笔记 读书

基于mysqldump聊一聊MySQL的备份和恢复

麦洛

MySQL

李想解读《高效能人士的七个习惯》

我心依然

习惯 高效能人士的七个习惯 李想 汽车之家

面试官问你MyBatis SQL是如何执行的?把这篇文章甩给他

cxuan

mybatis

学计算机你后悔了吗?

陈辰

学习 技术 大前端

Elasticsearch 实战

代码诗人

数仓系列 | Flink 窗口的应用与实现

Apache Flink

大数据 flink 流计算 实时计算

Golang热更新原理

我心依然

nginx Linux 信号 Go 语言

一文带你彻底厘清 Kubernetes 中的证书工作机制

首富手记

Kubernetes

一文详解华夏银行数据库变迁之路_银行_李冬梅_InfoQ精选文章