查看原文
其他

工行金融科技研究院:《金融行业数据库技术发展路径探索与实践》节选

Andy730 2024-03-16

来源:中国工商银行金融科技研究院,金融行业数据库技术发展路径探索与实践,2022 年01月


金融行业数据库架构转型的探索


结合金融科技发展趋势与金融业务创新需求,各金融机构积极加大数据库转型试点力度,以实现灵活弹性的系统扩展能力,支撑金融业务规模持续增长。目前金融行业数据库转型正处于多技术路线并行试点阶段,典型场景包括基于主机的金融核心系统从传统集中式架构向分布式架构转型、与特定数据库专有特性高度耦合的开放平台传统应用转型,这也是金融行业数据库架构转型的重点和难点。针对以上典型场景,金融机构与科技企业开展联合创新,共同探索解决方案,树立典型示范案例,为分布式数据库在金融行业的全面推广提供参考。


(一)主机金融核心系统转型场景


1、业务需求

金融核心系统承载金融行业最核心的业务,如商业银行管理客户信息、处理客户账户及核心总账、提供基础存款/贷款/支付服务的系统。随着金融行业数字化转型不断深化,传统金融业务逐渐走向线上化,金融服务场景生态化,金融创新业务快速扩张,传统基于主机的金融核心系统面临如下痛点问题:


  • 一是性能容量压力。随着数字化时代的来临,金融服务更加广泛和便利,移动终端用户和交易频次大幅增加,越来越多第三方系统接入,金融核心系统需要提供更高的并发处理能力和海量数据存储能力。传统集中式架构面临摩尔定律失效的硬件限制,不具备横向扩展能力,难以支撑金融业务规模持续增长。

  • 二是业务连续性要求。随着移动互联网的发展,新生代客户金融习惯发生改变,金融服务呈现多渠道、全天候等特点,对金融核心系统的业务连续性提出更高要求。

  • 三是快速交付能力。为应对激烈的市场竞争,金融行业加快响应客户需求,提升金融服务水平和产品竞争力。传统开发模式下,应用内部模块、应用与应用之间的耦合度较高,导致软件开发和交付的时间周期较长。

  • 四是成本控制。为践行“服务实体、让利实体”的金融使命,金融行业大力推进企业经营降本增效,在支撑金融创新业务爆发式增长的同时,系统运营成本必须得到有效控制。在金融产品秒杀抢购等业务场景,交易峰值出现跨数量级的突增,且持续时间较短。传统集中式架构需要大量资源超配以满足业务高峰请求,成本很难得到有效控制。


在这样的背景下,金融行业IT 架构转型的整体诉求是通过优化应用架构、数据架构、技术架构,建立起灵活开放、高效协同、安全稳定的IT 架构体系,强化对业务快速创新发展的技术支撑。金融行业数据库架构转型需要与上述业务需求和转型战略相适配。


2、解决方案

为支撑金融业务规模持续增长,主机金融核心系统数据库架构转型的整体策略方向是集中式架构向分布式架构转型。


对于高性能、大数据量的金融核心系统,通过采用分布式数据库技术,可以引入一种系统级的分布式解决方案,避免应用层大规模分布式改造的成本和风险,实现系统性能容量的弹性扩展。通过金融级高可用、数据分片路由、数据库治理、云化服务管理等企业级数据服务能力建设,实现更好的业务连续性、更快的交付能力、更优的成本控制,有效满足海量数据、超高峰值等业务场景需求。


金融核心系统分布式迁移还需考虑数据库对批量业务处理的支持。银行核心应用不仅提供联机交易服务,同时也需支撑日终对账、报表统计等批量服务。批量服务的特点是数据统计量大、逻辑相对简单、日间联机小批量时效性要求高,同时需尽可能避免大型批量作业影响联机实时交易,这是典型的HTAP 应用场景。金融核心系统迁移的批量业务处理可选择如下几种解决方案:

  • 一是可采用具备较强 HTAP 能力的分布式数据库产品进行承接,或通过数据复制引入具备HTAP 能力的辅库进行批量处理:这种解决方案采用统一的SQL 接口和统一的数据主备复制协议,无需数据ETL(Extract-Transform-Load)过程,降低应用研发技术栈的复杂度。

  • 二是可通过大数据平台实现对数据的批量处理。


(二)开放平台传统应用转型场景


1、业务需求

目前,金融行业开放平台也存在部分大型传统集中式应用面临扩展性不足的问题,因与数据库特性高度耦合,成为数据库架构转型中的难点。开放平台传统应用转型存在如下几点需求:

  • 一是需满足业务系统性能要求。开放平台传统应用与数据库高度耦合的优势就在于减少了系统组件之间的交互开销,此类应用的业务场景往往对系统性能有较高要求,需在满足业务性能指标要求的前提下开展数据库架构转型。

  • 二是需保障迁移过程中的系统稳定性。在金融业务创新、应用逻辑重构的过程中,也在不断实现底层系统架构的迁移和迭代,随着金融行业数字化转型不断深入,存量的开放平台传统应用往往具有历史比较久远、业务长期稳定、关联应用较多等特点,必须有效控制迁移风险,保障迁移过程中应用服务平稳运行。

  • 三是需平衡知识产权风险和迁移成本。部分商业数据库产品的高级特性和软件包存在知识产权壁垒,国际化金融机构在数据库迁移过程中需更加重视目标数据库产品的知识产权风险,保障技术供应链的安全合规和稳定可靠。完全兼容商业数据库、无需应用层改造的迁移方案是否适合金融行业大规模推广使用,目前业界尚无定论。


2、解决方案

金融行业与数据库技术栈高度耦合的开放平台传统应用转型,可借助异构数据库迁移辅助工具自动化进行语法分析和转换,快速低成本地实现从商业专用平台向开放创新平台迁移;后续根据业务发展需要,随业务创新逐步重构相关应用模块,最终实现应用业务处理逻辑与数据库技术栈的解耦。


在具体实施上,需从开发成本控制、服务连续性保障、测试效率提升、数据复制优化、灵活部署等方面开展技术攻关,确保开放平台大型传统应用转型的便捷性和稳定性。为提升数据库版本升级和故障期间的服务连续性,可采用同城双集群解耦部署方案,通过磁盘级增量日志强同步,实现集群间切换RPO = 0,RTO < 60 秒。

通过建设配套的自动化数据库迁移工具,对应用SQL 代码进行语法分析,提前评估和规划迁移工作进程,识别迁移风险,再通过工具自动化进行语法转换和逻辑校验,降低迁移成本、控制迁移风险。



金融行业数据库技术应用的思考


1、多种数据库产品并行发展


与金融行业使用的商业集中式数据库相比,分布式数据库产品发展时间普遍较短,技术成熟度和产品稳定性有待金融行业生产环境长时间平稳运行的检验,目前还没有绝对优势产品出现,金融应用场景面临多种数据库产品选择的局面还将持续。


考察金融行业数据库技术应用发展历程,从商用数据库DB2、Oracle、SQL Server 到开源数据库MySQL、PostgreSQL,以及文档数据库、大数据平台的引入,再到近些年繁荣发展的各种分布式数据库产品,金融行业使用的数据库产品和技术日趋多样化,这是金融业务不断创新发展在技术层面的体现。随着金融行业数字化转型逐步深入开展,金融应用持续创新,金融服务不断优化,金融业务场景的广度和深度都大幅扩展,对金融数据的使用方式日益多样化,单一数据库产品已难以支撑金融行业所有应用场景。多种数据库产品并行发展的现状将在金融行业持续存在,需针对具体应用场景对数据库能力的需求和侧重,选择合适的数据库产品。


金融行业数据库架构转型的重点难点场景,使得分布式数据库成为业界关注的焦点,但集中式数据库的应用场景并未消失,集中式与分布式数据库各有其适用的应用场景。分布式数据库解决了集中式数据库性能容量扩展能力不足的问题,相应地也在系统层和应用层付出了多方面的成本。


在系统层面:从专用大型机服务器迁移到通用服务器,单体设备可靠性降低,采用分布式架构可以实现更高的可用性和扩展性,同时也带来冗余备份、网络交互等方面的开销,硬件节点使用规模快速扩张为大型数据中心的节能减排和机房规划带来较大压力。大规模分布式集群的系统复杂度呈指数级上升,必须具备与之适配的运维管理能力作为支撑,需要在运维管理配套的系统能力建设和人才储备方面加大投入。


在应用层面:根据业界实践,将分布式系统完全封装成一个逻辑单库的解决方案虽然能够简化应用开发模型,但系统性能开销太大,因此适用场景有限。为充分发挥分布式架构优势,应用层也需要投入更多的研发设计成本,一是需要进行合理的数据分片设计,通过高内聚低耦合的数据规划,尽可能减少跨节点访问;二是需要在系统架构设计中充分考虑节点故障的容错及柔性事务的处理。


对于小型系统和业务规模稳定的应用,可优先考虑集中式架构能否满足要求。基于同样原因,大多数分布式数据库产品都支持集中式单体部署模式,在业务规模较小时规避分布式架构的成本开销,同时保留了随业务规模增长而横向扩展的灵活性。


2、各类技术路线相互融合


作为金融信息系统关键核心基础设施,数据库一直是学术界和产业界持续创新的重点领域,技术热点频现,产品型态众多,各数据库技术路线高速演进,呈现出相互融合发展的趋势。


  • 一是市场竞争推动技术力量整合。部分研发实力较强的数据库厂商,前期并行投入多条技术路线。随着数据库市场竞争白热化,不约而同开始推动数据库品牌统一和产品线融合。

  • 二是单一产品跨多条技术路线发展。从数据库产品的层面,各种产品互相借鉴引入其它技术路线数据库的能力,通过大量工程优化弥补架构设计上的不足,在适用场景上有很大程度的重叠,已经出现了一款数据库产品同时跨多条技术路线的情况,比如部分NewSQL 数据库往云原生方向发展、部分中间件架构数据引入原生分布式一致性协议。


各技术路线在融合与交织发展中,共同向着解决用户不断发展的业务需求和使用痛点这一目标动态收敛。分布式数据库产品在金融行业的应用与推广,无论选择哪条技术路线,都需更加重视产品化能力提升。满足金融行业在高可用容灾、数据一致性、业务连续性和系统可扩展等方面的更高要求,提升分布式环境下对应用研发和系统运维的支持能力,是金融级数据库最核心的竞争力。


例如,分布式数据库产品不仅需要提供金融级高可用能力,在节点级/园区级异常故障场景下保证数据服务可用性,还需充分考虑新旧数据库系统迁移期间、数据库版本升级期间、云底座或网络等基础设施升级变更期间、应用版本数据库对象投产期间、大批量作业执行期间等各类实际落地的应用场景,提供完整的业务连续性解决方案。技术驱动型产业需依次经历技术、产品、生态三个发展阶段,分布式数据库目前已转入产品竞争阶段。分布式数据库在技术上屡有突破,在多数单项技术指标上都能实现对传统数据库的超越。而在产品化方面,分布式数据库因为发展时间普遍较短,分布式环境下又引入了新的挑战,产品化程度对比商业集中式数据库还存在一定差距,需要通过实际的应用场景持续打磨,提升产品成熟度。

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存