业务挑战
该银行是一家全国性股份制商业银行,拥有商业银行、金融租赁、基金管理、银行理财等金融牌照,设立了数千个分支机构,该银行将民企服务作为战略重点,持续创新业务模式和产品服务,提升民企金融服务的特色优势。随着业务规模的持续增长,该银行面临以下业务挑战:
1. 海量数据&高并发
银行作为金融领域的核心枢纽,积累了海量的数据资源。这些数据涵盖了客户的基本信息、存款信息、贷款信息、支付结算信息、投资理财信息等各个方面,其数据量呈现出快速增长态势,业务访问量急剧增加,传统的集中式数据库系统难以应对这种增长。
2. 数据安全
数据是银行的重要资产,在推动业务经营和银行发展过程中具有重要意义。数据安全关乎客户个人隐私、财产安全及银行信誉,随着《网络安全法》、《数据安全法》、《个人信息保护法》等陆续出台和实施,数据安全已经成为银行经营的合规底线。
解决方案
2019 年,该银行开始使用 ShardingSphere 构建分布式数据库访问层,充分利用 ShardingSphere 的可插拔架构的特点,采用分片方式统一处理 MySQL、PostgreSQL、openGauss、GoldenDB 等数据库,构建统一的数据库接入层组件,与银行业务系统优化整合,在分布式环境下提供海量关系数据库服务,解决了集中式数据库的访问压力及瓶颈,提供全行统一的分布式数据访问层解决方案。
目前,基于 ShardingSphere 构建的分布式数据库访问层,已经成为该银行的战略级组件,提供高安全、高可用、高兼容、高扩展、高稳定性、易管理、低成本、部署灵活能力,强有力地支撑银行核心系统从集中式向分布式转变,满足数字银行对快速弹性、无限扩展的新架构诉求,为更多的应用从传统 IOE 模式向国产化、自主可控的技术架构迁移提供了强大的保障。
1. 使用数据分片技术,提升数据库整体性能
使用 SphereEx 数据分片技术,将银行数据库中单表的数据分散地存放至多个数据库或表中,每个分片包含一部分数据,从而提升银行数据处理的性能、可扩展性和并行处理能力。SphereEx 数据分片的拆分方式主要包括垂直分片和水平分片,SphereEx 支持使用一主多从、多主多从等数据库集群架构,可以有效的避免数据单点。
该银行使用 SphereEx 数据分片技术,取得了以下应用效果:
• 高并发访问:在处理大量用户请求的场景中,SphereEx 数据分片显著提高了系统的并发处理能力,确保服务的响应速度。
• 海量数据处理:在海量数据处理处理场景中,SphereEx 数据分片可以将数据分散到多个节点上,突破了单一磁盘和数据库实例的存储限制。
• 业务扩展:随着业务的发展,数据量不断增加,SphereEx 数据分片具备在线弹性伸缩能力,可以方便地支持存储设备在扩展,满足业务增长的需求。
2. 满足银行分布式核心系统的高可用性、高容错性要求
对于银行分布式核心系统而言,高可用性、高容错性至关重要,直接关系到银行业务的连续性和稳定性。
SphereEx 提供 Driver 和 Proxy 这 2 种数据库访问层接入方式。Driver 以 SDK 的形式集成在应用系统中,与 Java 应用无缝集成;Proxy 则独立部署,以数据库“代理”的方式工作,应用可通过原生“数据库”的方式访问使用。本项目采用了 SphereEx 的 Driver 和 Proxy 混合部署架构。
该银行分布式核心系统中集成了 SphereEx 的 Driver,系统采用无状态集群方式部署,通过集群技术来保障应用系统的可用性和稳定性,负载均衡器根据集群中每个节点的负载情况,将用户请求转发到合适的节点上。当某个节点故障时,负载均衡器会将用户请求转发到其它节点,整个系统仍能持续提供服务,从而保证业务系统持续可用。
Proxy 以集群方式独立部署,具备高可用能力和容错机制,能够应对硬件故障、软件错误或网络问题等各种异常情况,当集群中的某个节点出现故障时,其他节点可以接管其工作,确保服务的连续性。
3. 平滑对接银行密钥管理中心(KMC)
该银行部署了 SphereEX 数据安全平台,与银行的密钥管理中心(KMC)对接,对银行的敏感数据进行加密,实现银行数据的安全合规,防止数据泄露和非法访问,防范内外部风险。
SphereEX 数据加密技术具有以下特点:
• 应用免改造:无需改造应用程序,快速实现数据安全合规改造。
• 零停机上线:业务系统无需停机,在线完成密文转换及密钥轮转。
• 安全可逃生:业务系统改造安全合规改造无风险,可回退。
• 行列级加密:加密范围灵活可控,支持行级、列级加密,安全程度高。
• 多种算法支持:支持 SM2、SM3、SM4 等国密算法。
方案亮点
本项目是一个开源软件向商业软件转化的典型案例。2019 年,该银行开始使用开源软件 ShardingSphere 构建分布式数据库访问层,由 ShardingSphere 开源社区提供技术资料和技术支持;后来,该银行结合业务需求引入了商业版软件 SphereEX ,SphereEX 软件提供了更加丰富的功能,同时思斐公司能够为该银行提供更加专业、及时的商业服务。
客户收益
1. 构建了全行统一的分布式数据库访问层,提供高安全、高可用、高兼容、高扩展能力,并具备高稳定性、易管理、低成本、部署灵活等优势,满足了数字银行对快速弹性、无限扩展的新架构诉求,满足未来业务量的增长。
2. 打造银行数据安全底座,采用数据加密、访问控制等技术保护银行敏感数据,实现银行数据安全合规,防范内外部风险。
3. 实现数据库技术栈的统一,减少管理复杂度,提升业务系统性能、稳定性及安全性,降低运维成本。