HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

  • 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:543596
用户头像
李冬梅 加V:busulishang4668

发布了 944 篇内容, 共 537.5 次阅读, 收获喜欢 1105 次。

关注

评论

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

ChatGPT-4 来了, OpenAI 官宣6种已落地应用和服务模式

B Impact

OPPO 对话式 AI 助手小布演进之路

安第斯智能云

人工智能 AI IoT 跨端 语音助手

文盘Rust -- 安全连接 TiDB/Mysql

京东科技开发者

rust TiDB 京东云 京东技术 企业号 3 月 PK 榜

JRC Flink流作业调优指南

京东科技开发者

Apache 京东云 京东技术 企业号 3 月 PK 榜

博睿数据入选中国高科技高成长企业系列榜单

博睿数据

可观测性 智能运维 博睿数据 荣誉奖项 高科技企业

Matlab常用图像处理命令108例(五)

timerring

图像处理

PyTorch深度学习实战 | 搭建卷积神经网络进行图像分类与图像风格迁移

TiAmo

PyTorch 图像处理

前端工程师leetcode算法面试必备-二分搜索算法(下)

js2030code

JavaScript LeetCode

用javascript分类刷leetcode3.动态规划(图文视频讲解)

js2030code

JavaScript LeetCode

A-Ops 数据库场景在线应用性能诊断案例

openEuler

数据库 Linux 操作系统 openEuler 性能测评

前端react面试题合集

夏天的味道123

前端 React

移动端应用性能多维监控——崩溃监控系统

Openlab_cosmoplat

工业互联网 开源社区 崩溃监控系统

Android图形渲染系统新

江湖修行

渲染 an'droid 渲染技术

深入react源码看setState究竟做了什么?

flyzz177

React

大厂不同职级要求有何不同

致知Fighting

Java 后端 晋升

8个云成本优化的最佳实践

SEAL安全

FinOps 云成本管理

这可能是你需要的React实战技巧

夏天的味道123

前端 React

FeatHub:流批一体的实时特征工程平台

Apache Flink

大数据 flink 实时计算

Amazon Detective 支持 Amazon EKS 上的 Kubernetes 工作负载以进行安全调查

亚马逊云科技 (Amazon Web Services)

新版本发布!TDengine 3.0.3.0 为数据压缩、事件窗口等七大功能加“Buff”

TDengine

大数据 tdengine 开源 时序数据库 国产数据库

前端常见react面试题合集

夏天的味道123

前端 React

详解React的Transition工作原理原理

夏天的味道123

前端 React

细说react源码中的合成事件

flyzz177

React

2023算云融合产业大会-行业先驱!算力云服务领航者计划评选结果即将揭晓

中国IDC圈

算力 云算力 云计算,

震惊,一行MD5居然让小伙伴都回不了家!!!

京东科技开发者

md5 京东云 京东技术 企业号 3 月 PK 榜

@Transaction注解的失效场景

京东科技开发者

京东云 京东技术 企业号 3 月 PK 榜

中国美妆行业私域服务商发展洞察

易观分析

商业 美妆

深入探究 Go log 标准库

江湖十年

Go 后端 日志 log

2023Java面试,看完这份笔记薪资和offer都稳了!

程序知音

Java 编程语言 后端 八股文 Java面试题

连接内网SSH新姿势,告别慢速度及防火墙限制

百川云开发者

Linux 远程连接 主机运维

前端工程师leetcode算法面试必备-二分搜索算法(上)

js2030code

JavaScript LeetCode

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