TDSQL inside之路
“力争让每一张钱都能打上TDSQL inside的标签”,距离潘安群在自己的朋友圈立下的这个flag,已经6年。
8月26日,在看到相关新闻之后,激动之余的老潘在朋友圈这样写道:
“2016年第一次去人行立下的flag,今年要实现了”,并且附上了6年前的朋友圈截图,下面是众多同事和领导的感叹和祝福。
我们素人无法理解一个技术老兵对于TDSQL的溺爱,就像我们无法理解年轻人对于爱情有多么渴望。
这一天,距离老潘等第一次去现场技术交流,已经过去整整2190天。
硬着头皮也要往前冲
“我们要做就要做一款无愧于这个时代的产品”,这个不是一句空话,谈到为什么要做TDSQL,老潘的眼里甚至在发光,从这款14年前诞生在腾讯内部的数据库产品,到如今在全球软件舞台大放异彩的软件产品,常人根本无法想象,背后付出多少艰辛。
“他不像一座摩天大楼,普通人可以看到他与日俱增然后拔地而起。一款软件从写出第一行代码,到被亿万用户喜欢,甚至根植于普通人的每一天,肉眼根本看不到。”
但这并不妨碍他的伟大。
“我们每天都在不断地写代码,改bug,做测试,搞迭代,新版本上线,已经不记得有多少个日日月月了,虽然真的挺辛苦,但心里对TDSQL是真爱,我们就是要有这股不服输的劲。”
数据库到底有多难搞?
当我在知乎上敲出这个疑问的瞬间,一个标题为“中国跨过数据库这座大山了吗?”的高赞帖子吸引了我的关注。
从1978年,萨师煊老师在黑板上写下“数据库”三个字,数据库理论正式进入中国,到如今,国产数据库整整走了43年,但是反观国内,依然是老牌国外厂商的天下。
一个网友的问答直戳人心:
“数据库中储存着大量的关键数据,而数据就意味着信息,信息就意味着情报,情报就意味着价值。在数据分析和处理技术越来越成熟之后,大量的数据背后能推测出来的信息量超乎想象。”
一条简单数据的增删改查,背后是一套严密的计算机执行逻辑,涉及无数个计算机程序。
而这只是1条数据,那么100条,10000条,甚至一亿条呢,如今,我们随随便便一个简单的客户系统,动辄就是百亿级的数据量,那么背后的数据库复杂难度可想而知。
从这个角度看,数据库被称为国内软件领域的一座大山的原因不言自明。
正因如此,数据库被国人列为继操作系统、中间件之后的第三大基础软件。
但就是这样一款关系国计民生的一款软件,长期被国外厂商占据领导地位,要想从传统的老牌数据库厂商分一杯羹,堪称虎口拔牙。
但是,抛弃纯粹的商业吹捧之外,国内数据库这几年的进步也有目共睹,尤其是在云数据库这块,以TDSQL为代表的国产数据库一路高歌猛进。
TDSQL自诞生起,身上就有一种“临危受命”的使命感。
“在2007年之前,腾讯还在完全使用以MySQL数据库为主的开源数据库,一些海量的数据分析和财务部分也还跑在Oracle数据库上。”腾讯云数据库专家工程师雷海林回忆。
然而,腾讯壮大的速度远远超过了开源数据库的承受能力。
“增长太快了,当时每天早上我们看报表,发现报表时间到了,数据却没有跑出来,那就是已经挑战了集中式数据库的系统极限。”腾讯云副总裁,腾讯计费平台部总经理李纲说。
“2006年,QQ用户量增长速度创造了历史纪录,QQ同时在线人数逼近2000万,开源的数据库没见过这么大的阵仗,市面上的开源数据库和传统商业数据库没有一家能够支撑腾讯庞大的流量需求。”
怎么办,只能自己搞。
就这样,李纲拉了潘安群、雷海林等几个人立即开干。
但是要做就要做一款用的爽,高可用的数据库,7*24小时高可用、数据一笔不差、金额一分不差成为这个团队对自己的要求。
理想很丰满,现实很骨感。
腾讯内部的业务还好说,虽然体量大,但是好在模式单一,数量不是那么多,有限的人力还能应付过来,但是随着2010年,腾讯推出“开放战略”,一大波小厂商蜂拥而至,而且每个客户的诉求各式各样,业务场景的不同,需要TDSQL具备服务多元化客户的能力。
同时,因为涉及到计费,和钱有关的业务,对TDSQL的每一笔操作都要做到零差错,也是需要应对的挑战。
但是开工没有回头箭,硬着头皮也要往前冲。
早期核心团队
前排右三就是潘安群
羽翼渐丰
如果非要梳理出TDSQL从内部自研库蜕变成规模化商业产品的发展历程,那么以下四个阶段不能不提:
2007-2009 年,这个阶段,开源的MySQL在面对腾讯爆发式增长的业务,已经越来越捉襟见肘,开始研制服务于计费、定位于金融场景的分布式数据库 TDSQL逐渐提上日程。
2009 年-2012 年,腾讯进入开放时代,海量业务群雄并起,以开心农场等为代表的众多亿级应用比比皆是,TDSQL在性能上逐渐突破了性能瓶颈、数据可靠性保障、高可用等“不可能三角”的技术难题。
2012-2014 年,云计算兴起,数据库上云、多租户、标准化成为标配。腾讯云数据库的能力逐渐外溢,TDSQL由于优异的性能已经拥有众多外部客户,TDSQL在经过公有云海量数字化、大规模高并发业务场景的打磨,内核级的深度自研优化之后,逐渐形成标准化的国产分布式数据库产品,包括金融级分布式的 TDSQL、计算与存储分离的云原生数据库 TDSQL-C 等产品,获得了云原生技术、多租户隔离能力。
2014-2020 年,数字化升级成为行业大势,TDSQL走向大规模应用阶段,包括微众银行,TDSQL 作为其分布式数据库底座承担了核心作用;帮助张家港农商银行上线新一代核心业务系统;帮助平安银行打造信用卡“A+”新核心系统。
伴随着能力的不断完善,腾讯云数据库整体能力也正在以前所未有的速度发展。
2019年,Gartner的报告称,腾讯云数据库市场份额增速达123%,位居国内所有厂商之首,并在全球范围内保持连续两年增速前三。
2020年上半年,Gartner的报告又显示,腾讯云数据库的全球市场份额排名已经提升至前六。
“对于入榜Gartner,标志着腾讯云数据库正式进入世界顶级数据库的行列,同时也是国产数据库发展史上的一个重要里程碑。”李纲强调。
TDSQL inside之路
回到2014年,这一年对于TDSQL有着特殊的意义。
这一年,不仅成功支持央视春晚,还成功接下了为微众银行提供数据库支持的项目,打出了TDSQL冲击金融领域的第一枪。
作为国内首家互联网银行,微众期待把普惠金融的IT架构做好,希望既能够服务海量用户,又可以把每个用户的成本控制到很低的范围内的要求。
但是第一次面对客户,在腾讯内部舒适区待久了的TDSQL显然对突如其来的客户挑战没有准备。
“给客户做数据库的时候,很多也是未知的领域,做的不好的话,不是在自己家改一改就好了,人家真的会骂你。”潘安群说。
就像初次见面的年轻男女,“你知道我的不怀好意,我知道你的故作矜持”,彼此还是有一定的隔阂,双方也经历过“微众觉得TDSQL不懂银行,TDSQL觉得微众不懂互联网”这个阶段。
但磨合之后,就知道彼此的好。
现如今,微众银行基于TDSQL搭建的分布式银行核心系统可以做到7*24小时全天候不间断服务。已成功服务超过2.5亿客户,实现年均日交易3.6亿笔,单日交易峰值近6亿笔,最高TPS(每秒传输的事物处理个数)达到10 万+,也为微粒贷、微业贷等业务的数百个核心系统提供了坚实支撑。
说到TDSQL在金融行业的发展之路,不能不提张家港农商银行。
这个项目最大的意义是,这是在国内银行首次在传统核心业务系统场景下,采用国产分布式数据库,打破了该领域对国外数据库的长期依赖,率先响应了国家对金融核心领域技术自主可控的要求。
而这个过程也充满艰辛,在面对客户对分布式数据库相对于集中式数据库有什么优势,TDSQL到底靠不靠谱的疑问时,TDSQL数据库专家张文就跑到张家港待了足足一个多月,让张家港行掌握了分布式数据库的正确使用方法,并最终赢得了行方的信任。
直至2019年8月,项目行将结束之时,张文在朋友圈里记录了这样一段文字:
“记得年初第一次来张家港银行,那时开发人员对分布式数据库根本无从下手,核心系统改造当时看来还是天方夜谭。再看今天,全行核心业务跑在分布式架构下稳如磐石,性能轻松碾压行业同类产品,软硬件综合成本降低75%。”
时间继续流淌,TDSQL inside之路还在继续:
平安银行信用卡A+新核心系统国产化,这是业界第一个将金融机构核心业务系统由国外大型机集中式架构迁移到国产分布式架构的成功案例;还有第七次全国人口普查、健康码等。
随着越来越多机构选择TDSQL,一个个大单的落地,越来越多国民级应用系统平稳运行在TDSQL之上,TDSQL给行业带来了对国产数据库的强劲信心。
而来自客户的声音更让人信服和感动:“2019年我们选择TDSQL的时候,还会担心选择是不是对的,今年就完全没有这个疑问了,选择TDSQL,很稳。”
TDSQL inside已经不再是一句slogan,而是一个关系你我,护航未来的国之重器。