国产数据库技术发展的探索与思考

2021-11-25 14:45:07 浏览数 (2)

本文根据王义成老师在〖2020 Gdevops全球敏捷运维峰会〗现场演讲内容整理而成。

讲师介绍

王义成,腾讯云数据库副总经理,深耕数据库领域10余年,数据库技术专家工程师。从事过数据库研发、数据库管理员以及云数据库产品经理多项工作。作为腾讯云数据库核心人员参与腾讯云CynosDB、TDSQL、DBBrain等产品的自主研制与设计,带领团队持续用核心技术帮助企业完成数字化转型和业务创新。

我是来自腾讯云数据库团队的王义成,大家可能比较熟悉腾讯了,但是对于腾讯云数据库还不是特别了解。其实腾讯是一家崇尚产品文化的公司,每年年底都会举行产品“名品堂”大选,其中有大家耳熟能详的一些产品,比如微信支付、微信、王者荣耀、腾讯视频都是“名品堂”产品。

一直以来,腾讯云数据库都在支持着这些“名品堂”产品成长,同时腾讯云数据库也不断扩展了很多发达国家的客户,今天由我来给大家分享一下腾讯云数据库这么多年来发展的一些历史和情况。

一、云时代,未来已来

首先分享一个观点,根据Gartner预测,到2023年,世界上3/4的数据库都会跑在云上。

我非常相信这句话。为什么呢?因为在今年年底,我们可以看到以下两个趋势:

  1. IDC上云的成本逐渐降低。看看IDC在云下部署的成本,如果算上带宽、基础的租用成本和机架租赁成本,这个整体成本已经超过了购买服务器的成本。于是,我们看到更多的一些以前在云下自建的客户开始选择用公有云来部署基础设施服务。
  2. 过去在中国,以金融、政府、运营商为代表的传统行业还是很难拥抱云计算,多以自建形式管控基础设施,不过这种情况已发生了改变。
  • 近年来,在金融领域,像建行构建了自有的建行生态云,银联今年也发布了独建的生态云。在明年,建行将基于腾讯云构建更大的生态云,继续支持生态合作伙伴一起拥抱云计算;
  • 再看另一个传统的领域,就是政务。像一些GDP大省,浙江、广东其实都在构建自己的省政务云,像浙江省有“老百姓最多跑一次”这样的省政务云;腾讯云也参与了“数字广东”的业务,整个广东省的医保、人社、教育系统全部都搬到云上;
  • 最后再看运营商,其实运营商这几年也在构建基于公有云的底座,比如联通沃云、移动云。

从整体来看,不管是哪个行业,中国已经开始趋于全面拥抱云。正如Gartner的预测,世界上3/4的数据库将跑在云上,对此我们深信不疑,觉得一定会实现这个愿景。

二、立足国内,布局全球

基于以上的大趋势,腾讯云数据库一直在开疆辟土,依托腾讯云部署了多个领域,目前全球已经遍布腾讯云数据库的服务,无论在全国任何地方,都可以依赖于腾讯云数据库服务来支撑业务。

最近这一年,国产数据库的风口已经到来。大家都在问,在“去IOE”或者“去O”的过程中,中国到底经历了几个阶段?我个人总结认为,中国大概分为三个“去IOE”的阶段:

  • 第一个阶段,以BAT为代表的泛互联网行业的兴起。在2000年,BAT的业务都没有选择商业数据库,而是使用MySQL这类开源数据库,在逐步可控、自控之后选择走上自研的道路。2011年,随着4G开始普及,出现了像滴滴、美团这类泛互联网业务。在整个世界范围来看,中国整体泛互联网的市值体量其实不比美国差太多。中国“去IOE”的第一个大的历程,就是从泛互联网行业的基础数据库没有选择商业数据库开始。
  • 第二个阶段,转折点就是金融、政务等传统行业的一些新兴类业务开始选择了国产数据库来支撑自己的业务。举个例子,像中国的第一家互联网银行微众银行,其全栈的银行核心交易系统都没有选择商业数据库,都是用腾讯云的底座来支撑。再看到一些互联网类的金融业务,据我所知,招商银行的网上银行没有选择商业数据库,很多互联网保险也没有选择商业数据库。
  • 第三个阶段,就是现在所处的阶段,整个大型的传统企业最核心的部件开始选择把数据库拿到开源数据库上来,像银行、保险、政府的核心业务系统的下移。

腾讯云数据库在以上三个“去IOE”阶段中都起到了相应的作用,下面我按照这个脉络跟大家分享一下。

腾讯云的数据库起源于自研,以自研支撑业务。在泛互联网行业兴起的时候,腾讯内部就没有选择商业数据库,内部的腾讯云数据库最初开始是支撑支付类的业务。今天腾讯所有的计费类业务都跑在腾讯自研的数据库之上,比如你用Q币充值,在王者荣耀上买皮肤,所有与交易相关的数据都存到腾讯自研的数据库上。基于腾讯云数据库,我们也支持了微信支付、微众银行这些腾讯自研的业务。

随后,我们开始做产学研结合的研究,与人民大学、清华大学合作高端或者精准的研究课题。最后开始步入到第三个阶段,就是我们如今开始拥抱大型的行业,实现行业大型的主机下移、数据库下移,做到产用结合,支持中国银行、平安银行这类客户的重大数据库系统下移。

三、有力支撑内部业务

对于腾讯内部的使用,我举三个腾讯云数据库支撑内部业务的案例。

1、微信支付

腾讯云数据库支持了微信支付的商家库。目前腾讯云TBase数据库集群已经部署了200多个节点,可以支撑月数据量新增200亿,月新增存储为10TB以上。微信支付商家助手就是看重我们能够自动做冷热数据的分离,帮助用户节省成本,从而有效提升整体数据库的扩展性。

2、王者荣耀

大家都非常清楚,这个游戏其实已经打破了一个正常游戏本身的生命周期。王者荣耀长期霸网,它的底层都有腾讯云数据库的支撑,平均每天8000万局,平均每分钟5万多场。王者荣耀团战的数据都被存储在腾讯云的数据库上。

3、 腾讯会议

腾讯会议是To B的产品,它是中国现在发展最快的在线视频会议系统,疫情期间助推了该产品的增长。腾讯会议的好处就是长在云上,生在云上。目前腾讯云的数据库产品正在支撑腾讯会议的整体发展,包括使用腾讯会议时注册登录,在会议系统里面使用红包等等所有相关的信息和关系数据全部都存储在腾讯云的数据库之上。

为什么腾讯云数据库能够很好地支持业务?这其中涉及很多的功能支持,还有运维的经验等等。总结来说,最核心的一点就是我们演变出一套联邦式的分布式架构,通过上层的协调节点能够支撑业务数据打散,在底层通过GTM-S帮助用户做这种一主两从模式实现高可用。

因此,在内部凭借着这套分布式的架构,我们整体完成了对于腾讯内部很多核心业务的支撑。我觉得,良好的分布式扩展能力就是腾讯云数据库能够很好支撑业务最核心的一点。

四、走出腾讯,服务三百六十行

在充分支持好内部业务后,我们开始去服务好三百六十行。为什么要服务三百六十行?我觉得很重要的一个观点就是在2008年之后,腾讯的战略发生了变化,从原来的什么都做,转变到“连接 投资”这样的模式。

在中国,到今年为止,腾讯系投资的公司已经超过十万亿。在当时2008年高层的战略是要通过投资投出一个腾讯,目前腾讯系投资的市值已经是腾讯本身的20倍,其实腾讯的投资是非常成功的,在投资的背后也是有基础的设施帮助这些投资的技术公司达到相应的成长。

腾讯投资过很多优质的企业,像拼多多、美团、京东、每日优鲜、B站,还有很多游戏类的公司,这些优质的公司由腾讯投资以后,通过本身的业务发展,像微信和背后的流量给这些公司很大的扶持,同时腾讯云作为底座的支撑也起到了很大的作用,因此腾讯云数据库团队也跟着腾讯云支撑这些腾讯系的互联网创业公司。

举个简单的例子就是拼多多,拼多多刚开始运营时还非常小,随着近三年的发展,它的市值从百亿增长到目前将近2000亿美金,它的数据量在底层呈现爆发式增长,订单数也是从很小一步步发展过来,包括所有的订单数据、交易数据、快照数据等全部都是在腾讯云数据库之上。可以说是腾讯云数据库的产品能力与服务助力了腾讯的互联网朋友圈公司得到快速发展。

为什么能够同时支持这么多的客户在业务上蓬勃发展?主要有两点支撑:

一是腾讯云数据库这么多年来构建了全栈的数据库解决方案,从基础的PaaS开始,有基于关系型数据库的托管服务,像MySQL,也有非关系型数据库服务,同时我们也有自研的企业级分布式数据库TDSQL,包括TDSQL(原TDSQL和原TBase TP及HTAP版)、TDSQL-C(原CynosDB)和TDSQL-A(原TBase AP增强版和ClickHouse),同时还有一些云数据库。

在PaaS产品之上我们有全栈的数据库SaaS产品,包括数据迁移、智能管家、数据管理服务等等。其中有一个“DBA智能管家”,这是我们为用户开发的一款DBA的智能服务,我们将所有数据日志,主机内所有相应的数据进行全站收集,基于AI的技术来做分析,为用户实时产出一份7×24小时的诊断报告。这能对用户产生什么样的价值?

假如一个拼多多的DBA,在早上9点上班的时候,突然老板说夜里两点半数据有些抖动,数据库到底发生什么样的问题?如果你没有这套东西是很难判断的,有了这套诊断工具就可以实现7×24小时诊断。因为数据已经存在了,可以基于一个时间点进行产出,在这个时间点上,业务的抖动是由于数据库IO发生什么原因导致,再发现IO出问题是因为慢爬虫导致的,基于慢爬虫的原因我们会给出相应的优化建议,所以对于DBA整体服务自己的业务有很大的帮助。

二是我们在适配或者说积极思考云的变化。今年腾讯云的战略是“一云四端”,就是在整体上充分利用腾讯云和我们广大的端,包括微信小程序、QQ、企业微信等这些很好的端。

我们做了一个小程序的云开发,就是与小程序云端结合产生很大的价值。对于开发者来说,他希望的是未来使用数据库不再是资源化和池化的。基于这样的思想和理念,我们构建了一个将计算和存储完全分离的数据库架构,计算层可以完全透明的无限扩展,数据通过普通网站可以传输到存储层,底层是一个分布式池化的数据,同时感知MySQL制定的协议,然后再以自动能力做回放。

这样做带来的好处是计算层面与存储数据解耦,不再像以前把存储和计算能力放在一起。在过去,扩容某个节点或者读的能力要做很大的数据搬迁,现在不用了,可以瞬间拉起或者瞬间关闭一个读节点,对业务基本上是无运营影响的,就能很好地适配小程序的云开发场景。

如果客户需要使用数据库的时候,我可以迅速拉起一个节点来提供相应的读操作或者写操作;如果发现前面没有链接,会迅速把计算节点杀掉,下次有链接的时候再把它拉进来,这是一个很好的面向开发者的场景,也是Serveless级的数据库。随着这款存储架构的演进,未来在线下将演变成通过替换一个模式能够应用的架构。

我们这么多年来正是基于全栈的数据库解决方案,适配一些腾讯云战略以及云端的一些开发者变化,去积极思考数据库价值的变化。

五、在金融关键领域的国产数据库突破

在很好地支持腾讯广大的泛互联网朋友圈之后,我们今年开始逐渐突破线下的客户。国产数据库至少在这两年已经到达舆论的顶点,所以我们一直在突破一些传统领域。

近两年来我们做的一个比较大的案例就是人保财险,人保一直在思考基础设施的变化,从单体架构改成分布式架构,从前端的微服务化到底层适配,底层应用了我们的分布式数据库,这样为用户构建两地四中心的整体解决方案。

目前腾讯的数据库支持了人保,只有非常少的业务还没有迁上来,但现在已经覆盖了全国36个省,28个业务。商业险包括财险的业务全部都用腾讯云数据库支撑,这套系统未来也会迁移核心上云,像整体车险类业务,各省业务都会迁移到基于腾讯云数据库和腾讯云构建的专署云上。所以这也是我们看到国产数据库或者国产厂商的技术能力,能够帮助传统行业来做相应的数据突破。

我们的数据库在张家港农商行也取得了突破,帮助他们做了一个整栈数据库的下移,形成了从传统商业数据库向国产数据库替换的过程,实现了降本增效、性能提升以及同城双活高可用的三大价值。

继张家港农商行的成功之后,国产数据库在股份制银行有了更大的突破。最近我们做了一个平安银行的案例,其实这是第一个中国业内把国外集中式大型机拿下来放在国产分布式数据库系统之上的,就是银行的信用卡中心,活跃卡量在6000万以上。

为什么能够很好地支持金融行业的发展?我们一直本着以下六个数据库的设计理念,持续为用户产生价值,也为用户选择腾讯云数据库奠定坚实的理论基础。

六、积极探索服务国计政务民生

做好金融领域以后,我们开始服务政务、民生领域。政务、民生是最关键的行业,在今年整个中美关系到了一个非常焦灼化的状态,政府的核心数据关系到整个中国的民生。

我们在支持政务领域的第一个重点案例就是今年第七次人口普查,第一次从线下搬到了线上,腾讯云的产品全栈支持第七次人口普查,从前端收集的TDSQL数据库,中间有实时工具同步到TBase数据库,然后为一些普查员、领导在网上提供相应的决策,比如判断这个地域是不是应该建学校或者医院,去做一些实时的分析,整体支持人口普查的基础设施服务。

今年在疫情影响之下,腾讯云支持微信来构建防疫健康码,目前用户已达十亿,累计亮码次数已达90亿人次。

最后一个案例是省政务云。现在所有的GDP大省都在构建自己的省政务云,目前腾讯云数据库正支持“数字广东”,帮助实现老百姓在线上办理所有的业务。各省各市已经逐步在做社保、医保、人社、护照这些业务,对于老百姓来说,可以在线化解决一些必须跑好几个地方才能解决的问题,因此对于民生类的拓展和有效提升民情起到了很大的作用。

为什么能支持这么多行业的发展?因为今年我们积极探索产品的布局,做了一个数据库的一体机,能够实现软硬一体结合,云上云下进行数据库的互通。另外,我们还构建了一套基于在线迁移,Oracle异构的迁移工具和兼容商业数据库的体系,来为这些相应的行业提供基础的数据支持。

对于腾讯云未来数据库的整体发展策略,在产品上我们会坚持以云原生为基础的理念来支持开发者,支持新兴业务。随着中国人口红利的逐渐消失,我们认为数据库要做到足够的自治,能够减少DBA的人才缺口量,帮助DBA解决一些业务上的压力。最后随着5G、新基建的到来,多种场景融合也将会到来,所以我们基于传统的布局也会在多模、业务、场景与管理的融合策略上输出相应的产品体系的发展。

七、未来不断探索与完善

数据库需要一个强大的生态,今年我们也会全力投入腾讯云数据库生态建设。

  • 帮助服务合作伙伴包括ISA做整体业务的发展;
  • 渗透相应的行业,要打通上下游ISA集成商去做用户和数据库的结合,在国产数据库替换中起到联合的作用;
  • 释放一部分资金来投入腾讯云数据库培训人才体系的建设,我们创办了腾讯云数据库的学院,目前已经开发了个人及企业级数据库能力认证,截至目前已经有将近五千个成员已经通过腾讯云数据库的认证,未来我们也会更多地开放培训,把腾讯云数据库的培训认证体系建立得更加完善,更体系化。

最后想说,今年整个国产化的替换已经到了一个非常关键的时刻,我相信以腾讯为代表的一些数据库厂商可以团结上下游的力量,一起抓住机会,共创国产数据库美好的未来。谢谢大家!

0 人点赞