5月10日,由企业网d1net举办的2023全国cio大会盛大召开。本届大会以“企业承压,it怎么干?”为主题,汇集300 企业cio及it高管,旨在搭建cio与同行交流的高质量交流和社交平台,通过观点与思想的激烈碰撞,可落地的实战干货分享,帮助cio用户群化解困惑和焦虑,助力广大cio找准数字化机遇、少走弯路,应对数字化转型过程中的诸多挑战。主论坛外,另设新安全、数据赋能、新技术增效三个分论坛。包括cio中年职业危机应对也是本次大会的议题之一。
以下是现场速记。
腾讯云数据库产品总监 王云龙
王云龙:谢谢大家,我也是第一次参加cio大会,两天都有参与到学习和讨论,确实学到了很多行业的经验,也有体会到各行各业cio企业信息化转型过程中的各种问题。作为数据库厂商,我也在思考数据库层面怎样给各个行业、各个企业的cio带来自己的企业价值,或者降低整体信息系统的成本。
今天我的主题就是“腾讯云tdsql助力政企核心系统国产化”,主要分为这样几个部分:腾讯tdsql产品的进阶过程,为什么发展到了现在这样一个状态,腾讯tdsql当前可以提供给各个企业,能够体验到的产品价值,过去一段时间各行各业在国产化数据库做的一些案例分享,最后是希望能够通过国产化数据库推动给各个企业的产品输入,能够做到整个企业数据库技术的提升和人员的壮大。
tdsql产品进阶之路分为三个阶段,其实也是源于腾讯自有业务,最初腾讯的各种产品底层都是有数据库的支撑,更多的都是通过tdsql数据库统一对外,就是服务企业内部。腾讯2015年开始做公有云数据库产品,逐步把tdsql推送给企业的各个客户或者各个行业,相当于有了一个目标,就是投身产业互联网。腾讯原来to c的行业逐步向产业互联网经营,消费互联网向产业互联网转型。最近两年刚引入的攻坚金融标杆,顺应国家整体国产化的战略,软件、硬件的底层核心系统和核心技术全部国产化替换,优先从金融行业做起。随着金融行业和其它各种行业经验的逐步积累,国产化的风潮肯定会越来越大,趋势肯定会逐步蔓延到各行各业,我们希望把这些经验逐步复制。
我们现在做的就是数据库厂商,但我本人最初也是跟在座的各行各业一样,服务于腾讯内部的数据库系统,最初我的工作是运维部,主要就是做数据库系统的运维和整体业务系统的运维。互联网公司的生产资料其实就是各种程序和互联网服务,整体的it设施本身就是自己的生产资料,底层很多技术都是自己开发、研究、使用,因为和实体经济不一样,互联网公司就是要做这件事情。因此对数据库团队来说,需要支撑自身支撑数据库业务的事情,腾讯内部的各种各样的系统,根据不同的业务场景和对数据库的要求,使用大量的数据库技术,包括开源的mysql、postgre等等,通过这些技术的沉淀和积累进一步适应高并发和大场景下的需求,然后对业务系统进行很多变更,数据库团队也对这些数据库内部的核心技术做出调整,逐步发展腾讯自有的分布式数据库tdsql产品。
公有云业务国内的市场就是2013年到2014年启动,腾讯也是2013年左右开始做公有云市场。整体思路可能跟之前是相似的,只不过是把原来对内的技术能力通过公有云的方式对外提供,赋能各个行业。除了基于开源iaas资源层面的输出,需要把更核心的数据库能力或者自有能力对外输出。我们可能在微众银行、人口普查、数字广东系统大量引入腾讯的技术,包括数据库技术。我们可以通过这些客户自有的业务特点发现都是新建业务,所以整体的互联网技术进行赋能的过程中,很多都是赋能新建的这些业务场景,微众银行也是比较新的银行,很多系统都是需要重新搭建的,并不是对已有系统的替换。
在此过程中,我们就有发生互联网技术和传统技术的碰撞,但很多之前的技术在向to b行业赋能的过程中并不适合,我们要和各行各业自有业务和不同业务系统的开发人员进行学习和碰撞,最终进行适配,目标还是希望能够帮助客户在业务层面达到成功。
我们可以进一步推动国产化,这也是最近两年正在做的,通过第二阶段的打磨,我们确实有一部分的自有业务可以对外输出,开始就是核心的金融行业。为什么从金融行业开始推动?不知道大家是否知道,国家层面在信创领域下了很大力气,也有很重要的文件下发到各大金融行业和大型企业,要求大家在2025年之前把核心系统,包括操作系统的硬件和数据库完全达到国产化替换。金融行业作为大型企业,肯定是需要优先认领国家这些任务,我们也同时适应这种任务的推进。我们是从微众银行做起,也是腾讯自有的银行业务,把数据库技术向张家港银行、平安银行,国有的中行和农行进行复制,最终达到这样的效果。说明互联网公司的数据库不仅能够服务互联网能力,也可以影响到实体金融行业,甚至应用到核心关键系统里面。
通过这样几个阶段,我们简单总结一下:腾讯数据库第一阶段是自给自足,打造腾讯自有业务的坚实后盾,打磨自有的核心系统和核心技术。第二阶段是产业互联网阶段,服务各行各业,更多的还是通过公有云的系统进行服务。第三阶段开始向私有云、私有化转移,把互联网之间碰撞的技术直接私有化,就是有些核心数据或者安全性比较高的系统不用非得上到公有云,可以把整体全套系统进行私有化输出,能够在我们自己家的服务器或者数据中心打造自有专有公有云的服务。
总结下来,我们需要保持坚持和敬畏之心,要向不同行业业务保持学习的心态,最终满足各行各业对技术的要求。
通过这些打磨,我们看一看腾讯to b私有化的产品整体框架,主要分为这样三层:底层需要适配国产的芯片和硬件系统,可以跟当前主流的国产服务器鯤鹏、海光进行全面适配,腾讯自有研发的产品技术平台统一输出。我们对云的需求分为专有云和金融云,专有云就是把整体腾讯公有云完整的技术体系和技术生态复制到自有的数据中心,数据中心并没有建得那么大,但仍然有专有的诉求,可以直接帮助行业客户建立行业专有云,也就是金融云,帮助金融客户建立这样的自有云。两朵云的基础上,我们提供各种各样的大数据平台、云原生paas基础技术,也包括国产化tdsql数据系统,整体的linux国产操作系统,可以提供敏捷开发的组件,最终还是支撑各行各业自有的核心业务。
看一看tdsql能够给大家带来的技术能力,图中就是tdsql产品框架图,也是按照三层进行划分。
最重要的就是中间的业务层,tdsql提供的是全套的数据库分布系统,包括应用驱动、计算引擎、存储节点,所以从应用层到计算层和存储层全面分布式系统适配。不同的点还有不同的技术能力实现,应用驱动层,原有大部分业务系统都是基于java实现,但在我们进行国产化替换的时候需要换一套全新的驱动才能连接或者访问全新的数据库,但这个换驱动的过程可能会对原有的业务系统逻辑造成自己的影响,影响过大的话整个业务逻辑都要重构,这些对企业带来的成本和替换的复杂度是很高的。
我们在应用驱动层做了大量数据库兼容的逻辑,就是希望客户替换数据库的过程中更加平稳。计算引擎提供多种计算模式,我们有mysql引擎和pg生态引擎,要想替换oracle数据库的话就会用oracle模式替换。
存储层就是行存和列存混合存储,行存就是正常支撑自有业务,更新不频繁但需要复杂查询、复杂统计信息的数据适合列存,所以行列混存,放在一套数据库进行存储,方便选择不同的场景和不同的存储结构。
再往上就是自动化运维的能力,我本身也是数据库运维出身,dva很苦恼和困惑的就是怎么调整数据库,要是数据库慢了,怎么证明是哪个sql慢了?应该怎样优化,指导应用,调整业务达到更好的响应效果?基于这些内部数据库运维的沉淀,我们提供智能化运维系统,就是生命周期管理、智能运维和调优手段提供全套的平台。
底层就是异构数据库迁移的替换过程中需要的不同工具,包括刚才说的智能管家以及sql开发的工具。
我们的数据库能力包括高可靠和高可用,这些是数据库必须具备的,另外就是数据库分布式架构和性能。腾讯云tdsql前不久刚拿下全球tdcc榜单,我们已经打破两年前的纪录,现在已经达到全球tdcc的第一。我们通过更低的成本,tdcc的指标就是每次计算消耗的成本量更低,我们是降低了一半。我们不仅仅是承担数据库,需要对使用者友好,我们启动智能运维管理能力。我们在企业安全的数据库层面不能再让企业操心,整体来说可以从应用系统、数据传输系统、数据分析系统更加进一步增强,数据库系统搭建自有的安全合规数据安全能力。
有了国产化数据库,怎样进行替换?我们把这些能力跟已有的核心系统进行替换,我在交流的过程中,很多企业提到一个问题,原来已经购买很多x86服务器,现在进行国产化替换,需要换成鯤鹏服务器和海光服务器,成本到底怎么承接?两部分的资源池怎么使用?后面的资源浪费能不能提效?避免原有的资产受损?我们最新发布这样一个能力,就是可以把x86资源池和信创国产化的资源池同时部署,现在还有x86服务器,可以用x86服务器,也可以新建信创资源池,同一个集群通过数据复制在两个不同的资源池实现并行。达到一定程度以后,我们把整体业务完全切到信创资源池,达到核心系统从上到下全部的国产化。
我们有一云多芯产品能力,实现业务双轨并行,按需切换。
再说一个难点,也是我跟客户实际交互的过程中遇到的挑战。刚才说的可能都是新建的业务系统,我们还有很多年前的业务系统的创建。需要面对历史的oracle系统替换,现在看来真的还是挺难的。oracle本身语法特性比较多,几十年前的开发是把大量的业务逻辑应用在数据里面。很多逻辑虽然是java系统,但调用的时候是通过oracle sql,1个系统大概有300万行sql,完全运行在oracle数据库,我们进行替换的话不仅仅是承载数据层面,而是承载整体业务系统的替换。代码量比较大的话,我们在业务测试的过程中需要更加仔细。我们的凯发在线的解决方案就是内容层面做到语法兼容,性能层面做到形神兼备,样子兼容不够,性能上也要和oracle一致。我们的使用习惯也要进行兼容,因为很多都是oracle时代过来的研发,一下子切换的话很多习惯不同,需要尽可能劲敌学习成本。
再来看一看我们的几个系统案例。
政务云的案例是新建系统,整体全面按照国产化的技术实现,应用层面和数据层面全面替换,进行单元化改造,业务单元化 数据库单元化。
保险行业的案例是将近十五年的老系统,而且还在持续迭代,相信在座的各位也有很多类似的系统,数据量很大,代码量也很大。我们要求做到业务不动,因为老代码已经找不到谁来帮忙更新,我们做到数据库层面的兼容和替换。
兼容性测试通过以后,大部分不兼容的都是通过数据库内核进行兼容,40%是通过刚才说的应用层面进行兼容,可能还有1%不到的点需要业务真正小改一下。
最后讲一讲我们的生态策略,我们希望跟凯发在线的合作伙伴共创国产数据库的市场,也有行业isv凯发在线的合作伙伴,腾讯提供产品加上凯发在线的合作伙伴共同提供服务的方式,但我更想讲的还是这一页,所以稍微花点时间把后面tdsql的生态策略跟大家进行简单的分享。
我们也有看到数据库的整体推广,但从数据库厂商来说,不仅仅是要把产品卖给大家,更希望能够把整体数据库技术让每个客户都实现自主可控,建立自己的数据库的运维和技术团队。我们也可以跟企业客户去做定向开源,因为社区开源是一部分,当然还有很多核心能力放在商业版,我们也可以定向开源给商业客户,如果有自己的运营和研发能力可以拿到核心代码能力进一步学习,甚至定义自己自有的数据库平台。当然,有些客户已经开始跟我们进行类似的合作,不仅仅是我们推动国产数据库的替换,而是由企业内部自驱的信息部门推动自有的国产化替换,能够对自己的数据库技术做到自主可控,提升数据库研发、运维和服务的能力。
可以看到现在我们已经把行业客户放在最上面,最下面就是前几年公有云的客户衍生的游戏、政企的客户,自上而下都是整体客户的演进。