潘安群:TDSQL突破分布式数据库瓶颈助力金融核心

 公司新闻     |      2024-08-06 08:55

  随着移动互联网、大数据、云计算、人工智能的发展,我们已逐步迈进数字化时代。金融行业以领先的数字化技术、创新的服务模式、产品形态以及运营流程引领着我国经济发展进行开创性变革。传统的线下服务模式正在逐步向线上转移,金融机构通过互联网为遍布全国乃至全世界的客户提供更加便捷、个性化的金融服务。新技术的应用不断助力数字金融快速发展,大数据技术的应用使金融机构能够更准确地评估风险,提高贷款审批的效率和准确性;云计算技术的引入极大地降低了金融机构的运营成本,提高了业务处理的效率;人工智能技术的发展,使金融服务可以实现24小时无人值守,提升了客户体验。所有的这些创新与变革,都不离开底层IT设施的积极转型。

  现代金融业务具备线上化、普惠化、规模化,以及动态和不可预测性的特点。过去低频大额交易转向高频小额,低门槛理财产品的普及,以及线上业务突破地域限制带来的规模化、线上活动带来业务峰值的不可预测性等,都对基础IT设施提出了更高要求。

  ● 更好弹性:满足高峰期请求量是平时的数十倍,如微信红包除夕夜峰值可能是平时的千倍。

  ● 一致性与高可用:在处理海量用户高并发请求的同时,保证7*24小时服务及数据准确性。

  面对这些要求,传统商业数据库产品在容量、弹性、成本等方面已力不从心,数据库技术架构亟需升级转型,以适应新时代的要求和新业务的发展。

  云时代的分布式数据库带来了互联网技术的延伸,在扩展性、性能方面表现出优势,但在金融政务等传统产业应用中,面临着极高的要求。

  中国人民银行发布的《金融科技发展规划(2019-2021年)》中曾明确强调“加强分布式数据库研发应用,妥善解决分布式数据库产品在数据一致性、实际场景验证、迁移保障规范等方面的问题”。金融级分布式数据库需要满足金融核心业务强一致、高性能、高可用、低成本等最为严格的要求,数据库技术经过近年的发展,仍面临着诸多挑战。

  ●传统集中式数据库难以适应金融业务模式变化带来的规模挑战。例如,某头部银行手机银行用户规模破亿,线上交易并发量较传统线下交易增长数千倍,集中式数据库难以承载如此大的业务规模。

  ●近年来新兴的分布式数据库在系统扩展性上具有优势,但它们主要针对互联网业务设计,对数据一致性等要求较低,难以满足金融领域核心业务对数据强一致、系统高可用的严格要求。

  面对上述挑战,分布式云数据库在性能和弹性方面虽具有优势,但如何在大规模分布式数据库中有效保证数据的强一致性和可用性以满足金融级需求呢?

  腾讯云数据库TDSQL将传统数据库ACID理论中的一致性与分布式系统的一致性相结合,创新地提出了多级一致性理论。在该理论基础上:一是通过自主研发的强同步复制协议,TDSQL能确保数据在跨机架、跨IDC和跨城市场景下的可靠性,实现零错乱、零丢失和多副本架构下的数据强一致性,同时不损失性能。TDSQL首创“多地多中心”跨区容灾,整体可用性达99.999%以上,并且实现30秒内数据零丢失自动切换的高性能强同步。二是分布式事务并发控制算法创新和优化,使TDSQL能够在大规模场景下实现扩展性,并在保持良好的线性扩展比的同时,仍能确保各个级别事务的一致性。

  传统数据库主要采用资源预规划与独占模式,这种模式导致资源浪费严重。例如,为了应对春节红包或双11的高请求量,系统需要准备充足的资源,但这些资源在平时大多处于空闲状态,无法被其他系统利用。现代金融的不确定性和动态性,如突发的交易峰值,使资源评估变得困难,评估过高导致资源浪费,评估过低则可能导致系统过载、不可用。因此,传统数据库的弹性能力较弱,资源浪费严重,成本高昂。

  云时代的数据库基于x86/arm等开放平台构建,因此不同数据库之间,数据库与业务系统之间亦可共享一套底层的IaaS资源池,再结合IaaS与数据库的弹性调度能力,能满足业务的快速变化,提高资源利用率,降低成本,同时确保可用性。

  腾讯云数据库TDSQL采用了基于负载感知的自适应调度和弹性伸缩技术,通过优化单机性能、分布式水平扩展性、超大规模集群稳定性,以及可弹性伸缩的分布式云原生架构,实现了性能和成本的优化。2023年3月,TDSQL以8.14亿的tpmC和每tpmC成本1.27元人民币的评测成绩,刷新了纪录,实现了tpmC和性价比双榜世界第一。

  分布式数据库系统在带来弹性和成本优势的同时,也带来了新的难题:运营体系。高效、安全的运营体系是现代数据库的重要组成部分,也是保证数据库系统稳定可靠的基础。更大的数据库规模和更长的数据处理链路对性能优化和故障诊断提出了巨大的挑战,仅依靠人工或专家经验显然是无法完成的。据我们的调研,金融机构在选择数据库产品时,稳定性、安全性和性能是最看重的三个因素,占比分别达到80.4%、72.6%和59.6%。

  为此,TDSQL自主研发了自动化运营系统“赤兔”和智能DBA平台“DBbrain”,实现了数据库的全面自动化管理运营。赤兔从管理员视角提供TDSQL的全面运维功能,包括管理物理资源、调度决策系统、备份恢复系统、可用区管理和实例管理等。DBbrain则利用机器学习快速沉淀专业DBA经验,实现智能快速定位、分析数据库故障和SQL性能问题,并能基于机器学习不断优化规则策略库,提升智能化决策管理,快速排除障碍。这种自动化管理体系极大地提升了数据库运维效率和准确性。

  2.服务生态:建立国内系统完善的自主可控分布式数据库技术生态与产品服务生态体系

  (1)自主可控生态适配。TDSQL已实现多项基础软件设施的生态支持,包括支持适配全系操作系统和国内芯片、全系列国内服务器等。目前,TDSQL已助力30多家金融机构完成了核心系统替换,推动金融核心数据库自主可控进入规模化复制阶段。其中,基于TDSQL打造的张家港农商银行新一代核心业务系统,是国内银行首次在传统核心业务系统场景下采用自主可控分布式数据库,打破了该领域对国外数据库的长期依赖;TDSQL助力昆山农商银行打造的新一代核心系统,采用“微服务应用+分布式数据库”架构,在同类银行中尚属首次。

  (2)开放服务伙伴体系。一个好的数据库产品,除了能专业服务好企业客户,如何能让更多的数据库从业者都能了解它使用它,并从中受益,从而一起推动中国的自主可控数据库事业向前发展,也是至关重要的一环。目前,腾讯云数据库有超过2000家合作伙伴,共同服务超过10000家企业客户,主要合作伙伴平均业务增长率超100%。此外,腾讯云数据库还共同打造覆盖20个行业累计超过100个的行业解决方案。

  (3)坚持产学研用一体。腾讯云数据库和人大构建了协同创新实验室,参与到教育部的协同育人计划中,合作至今,双方在科研方面研发超过10项前沿技术原型系统、申请数十项专利、多篇论文入选SIGMOD、VLDB、ICDE、TKDE等国际顶会顶刊,持续深耕产学研创新。

  (4)拥抱开源体系。在技术生态建设上,TDSQL广泛与国内外数十家技术社区合作,并积极主动拥抱开源。TDSQL内核TXSQL和TBase分别于2009年和2019年先后对外开源。目前TDSQL社区品牌OpenTenBase,已于2023年捐赠给开放原子开源基金会。根据内部开源节奏,TDSQL还计划向开源基金会OpenTenBase社区委员会提出,将TXSQL内核贡献给社区。

  为助力企业数字化转型,加强自主可控数据库技术的自主演进。腾讯云数据库将持续与国内众多厂商合作,在功能、稳定性、安全、性能等方面不断完善根社区特性,共建OpenTenBase开源社区发行版的下游生态。

  目前,腾讯云数据库已联合权威团队积极探索新技术,基于非易失性存储新硬件对TXSQL性能进行优化。TXSQL还创新“热点更新”功能,通过存储引擎行锁级别的优化,大幅度优化了“秒杀场景”下的系统性能,此为业界首创特性,并申请专利。针对ARM和x86平台,腾讯云数据库将持续进行软硬件特性优化适配,提升性能和稳定性。同时,为不断完善生态兼容适配,降低用户使用门槛,截至目前腾讯云数据库已经完成500余个合作伙伴的产品认证,涵盖中间件库,芯片,应用软件等,未来,还将从根社区角度共建联合实验室适配更多生态,降低最终用户使用门槛。

  数据库产品是造出来的,更是用出来的。腾讯云数据库TDSQL经过十多年的磨练,除了在技术上持续追求突破,也获得了大量客户与合作伙伴的信任与认可,TDSQL是当前国内率先进入国有大型银行核心系统正式投产的自主可控分布式数据库,国内两家国有大行,已基于TDSQL进行银行核心系统分布式改造,并将核心系统下移至TDSQL分布式架构。至今,TDSQL已助力超过30家金融机构实现对核心系统数据库的平稳替代,十大银行中有7家都选择了TDSQL。

  腾讯云数据库投入已近二十年,正是因为有着技术、产品、与应用上的不断突破与认可,我们才坚信基础创新突破与转型升级是我们要始终坚持走的路,也是数据库自主可控与金融IT必须要走的路。数据库是核心基础软件,腾讯仍将坚持长期投入,坚定致力于数据库领域的深入研究,与学术机构、行业生态伙伴及广大客户共建新一代自主可控的数据库行业与生态。