从自主可控金融级数据库看腾讯“智能+”技术中台之路


作为“互联网+”和“智能+”的主要技术供应商,腾讯在2017年11月的全球合作伙伴大会上提出了“云化”已经成为重要的创新模式,各行各业都将进入“互联网+”的下一站——“智能+”阶段。在此过程中,腾讯云将充分发挥“连接器”的作用,用“智能”连接各行各业。

3月12日,腾讯云全新发布自主可控金融业务支撑平台,该平台融合了可支撑数百万虚机的专有云平台TCE、服务过380亿账户的分布式数据库TDSQL,以及在腾讯海量业务场景淬炼出来的微服务平台TSF、大数据及人工智能平台TBDS&Ti等在内的优势能力,帮助金融机构打造自主可控,安全稳定的金融云平台。

腾讯云这套自主可控金融业务支撑平台最显著的特点是以主流开放开源技术标准为核心,降低金融机构在基础设施及应用场景中对单一技术方的过度依赖,为行业提供一站式技术服务能力。其中的TCE和TDSQL支持国产芯片及操作系统部署,是自主可控的“智能+”技术中台。国内首家云上银行微众银行在腾讯金融云的自主可控核心技术上构建了全行级分布式技术架构,实现了可支撑亿量级客户的高并发交易核心系统,截止2017末累计向1200万人在线发放贷款8700亿,贷款不良率为0.64%、低于银行业平均水平,是普惠金融的代表。

TDSQL金融级分布式数据库是腾讯云基于开源和自研的分布式技术代表,其领先的产品性能、自主可控的核心特性以及完备的产品化体系,充分打消了国内金融行业拥抱开源技术时对可持续性、开发和运维能力以及安全等问题上的顾虑。作为腾讯云自主可控金融业务支撑平台的核心技术代表,TDSQL在腾讯内部支撑计费及金融业务日均交易量超10亿次,充分体现了腾讯的“智能+”技术中台特色。2018年11月,TDSQL以总成绩第一,成为了首批通过数据中心联盟金融分布式事务数据库评测的数据库产品。

腾讯云数据库技术发展历程

操作系统、数据库和中间件是三大企业级基础软件,任何一款基础软件产品必须经过多年的沉淀,数据库也不例外。在3月12日腾讯云举办的自主可控金融业务支撑平台发布会现场,腾讯云数据库产品总监王义成和腾讯云分布式数据库TDSQL负责人潘安群给我们分享了腾讯云数据库的自主可控发展之路。

(腾讯云数据库产品总监 王义成)

腾讯云金融级分布式数据库是一套完整的体系,包括核心功能以及运营配套服务,可满足当前金融行业对于数据的分布式和高一致性需求,目前的公有云及私有云客户已经超过500家。

(TDSQL架构图)

TDSQL的萌芽阶段在2002年左右,也是腾讯首次接触计费的时候。此前,由于QQ业务的关系,腾讯以Key Value非关系型NoSQL开源数据库为主,NoSQL数据库主要针对互联网和游戏的海量网页文件存储等业务场景。因此,腾讯历史上也没有采用过Oracle等商用数据库,而是从一开始就采用开源数据库。

到了2007年左右,腾讯计费业务的规模日益变大,Q币等数据资产要像银行那样不能丢失数据,对高一致性和可靠性的要求越来越高。腾讯在2007年的时候开发了一款完全自研的简化版分布式数据库,当时很好地满足了腾讯业务的发展。当时的腾讯数据库技术在保证了数据高可靠性、一致性的情况下,还可以快速地进行水平分布式扩展。

2009年腾讯正式开放平台,大量的新客户和新业务场景涌入,实现了腾讯第二次腾飞的同时,也对数据库技术产生了新的要求。2009年那一年,腾讯仅计费业务一年对数据库进行了近900次扩容,很好的支持了业务的快速增长。

2012年,随着腾讯开放平台和技术的发展,从最开始的游戏业务到各行各业的应用,腾讯发现有很多场景是之前没有考虑到,而且之前的数据库是基于腾讯业务场景的定制化解决方案,无法满足更多的合作伙伴诉求,当时的金融业务对关系型数据库的要求比较高,腾讯当时考虑到业务的规模越来越大而导致要求系统的水平扩展能力,最终决定在开源技术上自研的道路。2012年,腾讯启动TDSQL,希望在高可靠性、高一致性的前提下,做到更加通用化、适用更多的业务场景,也就是瞄准Oracle或DB2这样的通用关系型数据库产品。

两年后,2014年微众银行开始筹建,在调研了国内外分布式关系型数据库之后,认为腾讯TDSQL最能满足自主可控以及银行业务需求。2015年,TDSQL在腾讯公有云上线,2016年推出了面向专有云的版本,到2018年TDSQL已经服务超过500家的公有云客户和28家的专有云客户。

本次腾讯云自主可控金融业务支撑平台发布,TDSQL也新发布了1.13版本,性能较上一版提升了80%,同时完全支持国产化操作系统、芯片和服务器,使得核心数据库平台的可控性达到新的高度。基于MySQL以及MariaDB开源关系型数据库技术的TDSQL,让腾讯云以及国内金融行业用户可以跟进未来的业务发展趋势,做到超前的自主可控。

除了面向私有云版本的TDSQL外,腾讯云还在公有云上提供了分布式数据库服务CynosDB,基于共同的分布式金融级数据库技术,满足金融机构的多种需求。

高度产品化的TDSQL

TDSQL是腾讯云在开源关系型数据库MySQL、MariaDB以及Percona基础之上的综合自研数据库解决方案。在全球数据库排行榜DB-Engines上,MySQL是全球排名第一的开源关系型数据库,MariaDB和Percona都是MySQL的可替代分支改进版本,其中MariaDB全球排名12左右、Percona Server for MySQL排名90左右,这二者对MySQL有着各自的改进。

TDSQL全称为Tencent Distributed SQL,是腾讯云数据库团队维护的金融级分布式架构和MySQL内核分支的统称,腾讯90%的金融、计费、交易类业务核心系统都承载在TDSQL 中,也应用到众多政府、银行、保险、制造业、物流、电商等客户的核心系统。TDSQL可以交付关系型数据库、分布式数据库、分析性数据库等形态的数据库技术,也提供强同步数据复制、线程池、热点更新、内核优化等能力,以及事前、事中、事后的全维度安全方案等。

TDSQL兼容绝大多数常用的MySQL语法,通过分布式事务、全局唯一序列、支持数据交换格式JSON等有效弥补了分布式架构的不足,解决了因分布式架构而导致的数据库高级功能与数据库性能之间的矛盾。TDSQL深度定制开发了MySQL内核,例如:支持三种数据读写分离方案,以有效实现读数据的水平规模扩展;自研了基于MySQL协议的异步多线程强同步复制方案,在保证数据强一致的同时,做到自动化管理集群节点、每个节点可随时切换、无需共享存储设备;对业务层的无感知、无侵入,通过逻辑表屏蔽了物理层的数据处理,业务层无需做任何改变,在数据库层就能实现强一致、读写分离等功能,从而达到高度产品化。

作为支持金融级核心交易业务场景的数据库,TDSQL也是MPP大规模并行处理架构,其分布式架构中的每个分片都各自承担部分分布式任务,从而实现大规模的并发性能、处理能力和支持存储容量的线性增长。TDSQL进行了多种系统内核计算负载优化,通过sysbench的压力测试可达到单个分布纯写入操作超过12万+TPS(每秒交易处理量)、纯查询操作性能超过48万QPS(每秒查询率),性能是当前主要使用的MySQL 5.6版的4倍、5.7版本的2倍以上。

TDSQL的核心模块主要包括:调度集群(Tschedule)、物理节点组(SET)和接入网关集群(OLTP-Proxy)、决策集群(TzooKeeper)以及赤兔自动化运维平台。TDSQL支持在线实时扩容,采用腾讯自研的自动再均衡技术以保证自动化的稳定扩容,无需业务停机,并经过腾讯内外部海量业务迁移实践。在支持金融级高可用性方面,传统金融机构都要求两地三中心架构,而在腾讯内部的金融业务方面很早就实现两地四中心,即同城三中心多活的架构,达到更高可用性和更低成本。

腾讯云TDSQL数据库有很多管理模块,可以更好的方式管理数据库,达到国际数据库产品水准。打包在TDSQL产品中的赤兔自动化运维平台,让80%-90%的数据库运维操作都能够通过外部网页界面完成,就像使用公有云的体验一样,降低了客户的使用门槛,不需要掌握大量知识就能运维TDSQL数据库。在数据库故障检测方面,TDSQL专门积累了腾讯十多年来超过20亿数据库实例运维的专家知识库,以智能DBA的方式提供给客户,能在故障检测和维护时做到快速定位问题、以高效和高可用方式解决问题。

运营管理是大部分国产数据库产品化时容易忽略的方面。数据库的核心功能再强,但也要让客户使用起来。以前国产数据库往往交付给客户十几页到几十页的使用手册,而赤兔自动化运维平台则一键就可以搞掂数据库运维,不需要太复杂的命令和操作,误操作的可能性非常小。另外,赤兔自动化运维平台也是开放架构,可以与企业内部的OA系统、权限管理系统等打通,实现审批流操作等,对银行来说达到更高的系统可控性。

除了自动化运维外,腾讯云还将在2019年发布TDSQL认证体系,未来将对合作伙伴进行资质认证。通过广大认证的合作伙伴,让客户在实施交付数据库的时候更加放心,推进产品化的服务体系。

走过了那些坑儿

腾讯云数据库产品总监王义成介绍,在做TDSQL研发的初期,当业务压力来临撑不住的时候就要做读写分离,读写分离之后发现账单业务的读延迟比较大,导致大量的业务部门投诉,因为有延迟就相当于钱上的损失,当时想倒逼业务层面做容错,但业务部门认为应该由数据库负责,因此就反逼数据库花了很长时间开发MySQL开源社区里没有的功能,“逼着我们往前看”。

经过长时间的积累,腾讯数据库运维人员逐渐理解了就算数据库技术再好,也要让业务层无感知,即压力在数据库技术内核层面解决后,让业务可简单接入。而在性能方面,因为腾讯的海量业务场景,即使性能优化10%、硬件成本降低10%,一年可能就是几千万、上亿的成本节省。TDSQL在性能方面“抠”了很多点,在存储、引擎、性能等方面的优化,降低成本的同时,确保满足金融行业需求。

当时的腾讯数据库运维人员有一个目标叫做安心喝咖啡,即底层技术运维人员不再担心半夜被叫起来处理故障。“以前腾讯有同学就说,游泳都不敢去,因为游泳时手机不能放在身边,手机也不能防水,当时也没有手环。”后来,故障处理多了,就知道突发流量对数据库的要求是什么,怎样才能满足几十倍峰值流量的冲击。潘安群表示,现在整个腾讯的数据库产品和运营体系都很完善,实现了故障的秒级自动切换,运维人员收到告警也不需要像以前那么急,多睡一会儿也没有关系,只需要起来的时候看一下故障原因再分析就可以了。

(腾讯云分布式数据库TDSQL负责人 潘安群)

值得一提的是,最开始基于MySQL开发适应金融场景的TDSQL时,那个时候的MySQL在数据复制上其实不具备金融级要求,TDSQL在数据强一致复制等方面进行了大量的自研创新。TDSQL的水平伸缩功能也经历了几个版本,最开始在实际运营过程中并不太稳定,TDSQL团队进行了彻底的性能优化,最终满足腾讯海量业务场景的要求。在Oracle比较擅长的ACID金融交易事务处理方面,TDSQL开发了分布式事务处理,为了保障在故障时的交易事务成功,TDSQL团队7X24不停运行自我破坏性模拟,包括机房断电、宕机等异常,确保银行转帐等交易事务的健壮性。

总体而言,腾讯分布式数据库TDSQL在设计理念上,对MySQL等开源数据库的高度兼容,实现在分布式架构下数据强一致性、高可用以及水平扩展,是高度产品化的开源自研分布式金融级数据库产品。腾讯金融云总经理胡利明强调,包括TDSQL在内的腾讯云金融业务支撑平台,降低了金融机构在基础设施及应用场景中对单一技术方的过度依赖,为行业提供一站式技术服务能力。

“到去年底为止,腾讯申请的专利数达到25000,在全世界的互联网公司当中排名第二,仅次于谷歌,其中AI的专利达到了3000个。在云计算领域申请通过的专利数,也在国内互联网公司中排名第一,同时在云计算最核心的虚拟化领域,腾讯在开源社区的代码贡献在国内云厂商中连续两年排名第一。”胡利明强调,腾讯2014年帮助微众银行构建了第一家全行分布式架构系统,“当时引起了很大的轰动,为国内银行业自主可控转型提供了强心剂”。

从TDSQL的开发历程中,可以看出腾讯“智能+”技术中台之路:开源+自研的高度产品化,发挥腾讯的产品化基因,以开源生态和开源技术为连接器,广泛连接企业级技术和客户,实现企业级“数字生态共同体”,从而成为自主可控“智能+”的基石。(文/宁川)

原文地址:https://blog.51cto.com/cloudtechtime/2364950

时间: 2024-10-06 14:31:42

从自主可控金融级数据库看腾讯“智能+”技术中台之路的相关文章

巨杉金融级数据库多活架构实践

今年以来,公有云事故频发,大有"黑天鹅"不断爆发之势头.近期,北京一初创公司清博数控表示,在使用国内某厂商云服务器8个月后,放在云服务器上包括备份的数据全部丢失,导致公司几年来的平台数据全部丢失,造成"近千万元损失".此后,该云平台对此回应称,向该公司表达歉意,愿意赔偿该公司在平台产生的实际消费共计3569元,本着帮助用户迅速恢复业务的目的,承诺为该公司提供13.29万元现金或云资源的额外补偿,赔偿加补偿金额总计13.64万元达到其在平台中用云金额的37倍. 此外,

【腾讯优测干货】看腾讯的技术大牛如何将Crash率从2.2%降至0.2%?

小优有话说: App Crash就像地雷. 你怕它,想当它不存在.无异于让你的用户去探雷,一旦引爆,用户就没了. 你鼓起勇气去扫雷,它却神龙见首不见尾. 你告诫自己一定开发过程中减少crash,少埋点地雷,但总是不得其法. 降低Crash率,需要的是技巧.工具.耐心与时间. 本文由腾讯天天P图测试团队现身说法,为你讲述他们将Crash率直降90%背后的故事,希望能为你“排雷”提供一些思路. PS:以后每周四记得关注这里哦!小优将为你精选“干货”,让腾讯的开发&测试大牛们陪你一起为提升产品质量!

百万级数据库优化方案数据库SQL优化大总结

一.百万级数据库优化方案 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库. 备注.描述.评论之类的可以设置为 NULL,其他的,最好不要使用NULL. 不要以为 NULL 不需要空间,

智和网管平台国产化AIOps智能运维 建立自主可控网络安全体系

没有网络安全就没有国家安全,中国作为一个崛起中的大国,网络安全至关重要.新一届中央高度重视信息安全自主可控的发展,Gartner研究报告表明,2019年中国三分之二的数据中心.IT基础设施支出流向中国本土厂商,因此,如智和网管平台SugarNMS以国产化.高拓展性为核心的智能化运维软件成为行业的前沿力量. 自主知识产权 全面深入IT国产化 IT国产化体系复杂,产业链涉及网络基础设施.服务器.存储.数据库.中间件.操作系统等众多环节.现在,服务器.PC和网络安全国产化率较高,如服务器领域依靠华为.

[转帖]一本正经的八卦一下CPU的自主可控

一本正经的八卦一下CPU的自主可控 https://zhuanlan.zhihu.com/p/36391482 比我自己写的好多了.. 自己虽然知道一些.. 一本正经地八卦一下CPU的自主可控 (2018年的4月16日,美国商务部发布对中兴通讯出口权限禁令,禁止美国企业向其出售零部件,史称“中兴禁运事件”.马上中兴事件就要一周年了,在这一年内,中国上上下下都知道了芯片这个东西,自主可控已经成为大家的共识,但是如何实现自主可控却存在着五花八门的看法.值此一周年之际,特地写几篇文章说一说芯片的自主可

[转帖]一本正经的八卦一下CPU的自主可控 之二

一本正经的八卦一下CPU的自主可控 之二 https://zhuanlan.zhihu.com/p/62399200 一本正经的八卦一下CPU的自主可控 之二 上回书说到CPU自主可控第一个层面的指令集问题.这回聊一聊接下来的设计问题. 第二篇 CPU设计篇 在设计层面,也有两种路线:一种是自主设计,一种是拿来主义. CPU自主设计的含义是,从目标需求和功能定义出发,完全正向设计CPU的每一个单元和模块.说得白话一点,一针一线.一砖一瓦都是我自己的,里里外外.上上下下我都一清二白.这种设计思路显

可信计算:信息安全自主可控的必经之路

“可信计算”是指计算运算的同时进行安全防护,使计算结果总是与预期一样,计算全程可测可控,不被干扰,是一种运算和防护并存.主动免疫的新计算模式,具有身份识别.状态度量.保密存储等功能. 6月27日,中国可信计算技术创新与产业化论坛在北京成功召开.本次论坛从产.学.研.用等不同角度介绍了我国可信计算领域取得的成果,回答了可信计算是什么.可信计算有何作用.我国可信计算产业和应用现状等一系列问题,探讨了可信计算下一步的发展方向. 中国工程院陈左宁副院长致辞并指出,利用可信计算技术有助于实现我国重要信息系

【转】数据库SQL优化大总结之 百万级数据库优化方案

原帖地址:http://www.cnblogs.com/yunfeifei/p/3850440.html#undefined 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库. 备注.描

数据库SQL优化大总结之 百万级数据库优化方案(转)

出处:http://www.cnblogs.com/yunfeifei/p/3850440.htm 网上关于SQL优化的教程很多,但是比较杂乱.近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充.这篇文章我花费了大量的时间查找资料.修改.排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到.纠正以及补充. 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对