从引进到自研再到开源融合,这10年腾讯大数据平台经历了什么


3000米高空,一架民航客机拖着冒烟的机翼,在空中划出两条黑线。不远处,13名乘客被卷出机舱,生命垂危。

此刻,不远处的老贾(钢铁侠搭载的智能助手)通过大数据算法得出上百个解决方案,又将其一一排除。

突然,铠甲启动制动,一个人影开始在空中踱步,1、2、3......眨眼间,13名乘客全数获救,整个过程刚好30秒。

《钢铁侠3》中,空难救援的片段堪称经典。钢铁侠通过授权AI,使用大数据、云计算等技术实现在1/30s做出准确决策。

电影中展示的极端情况,激起我们对这类技术的好奇心。现实生活中,大数据、云计算等技术的迭代、融合和落地更是影响着上层应用(企业端)的方方面面。

▲腾讯云副总裁、腾讯数据平台总经理蒋杰

11月6日,雷锋网应邀参加了腾讯举办的Techo开发者大会。期间,腾讯云副总裁、腾讯数据平台总经理蒋杰就腾讯大数据平台演进历程、腾讯大数据平台发展方向以及AI、云技术的融合使用进行分享。

日数据计算量超30万亿

腾讯业务部门的资源和大数据平台机器资源的结合,形成大数据全平台算力。

蒋杰透露,截止目前,该算力资源池目前已有超过20万台的规模,每天实时数据计算超过30万亿条,而这样的成果并非一日得来。10年间,腾讯大数据平台的发展一共经历三个阶段:

1、离线计算

2009年1月,腾讯搭建起第一个Hadoop集群,开始做数据规模化。

这是一个由Apache基金会所开发的分布式系统基础架构,它实现了一个分布式文件系统(简称HDFS)。

HDFS有高容错性的特点,适于设计用来部署在低廉的(low-cost)硬件上;它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。

HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了算力。

2、实时计算

2012年,移动互联网爆发,腾讯大数据平台发展进入第二阶段——从Hadoop转向Spark和Storm体系。

在吸收开源技术的基础上,该平台结合业务需求进行了重写。期间,腾讯开始探索流式计算、秒级采集系统的建设,并构建企业级的实时数据分析体系。

大数据平台的在线分析和实时计算功能在实时报表、实时查询、实时监控等诸多场景下得以应用。

3、机器计算

2015年至今,为了支持业务数据挖掘的需求,开始主要建设机器学习平台。从数据分析到数据挖掘的转变,是大数据平台“智能化”的体现。

2016年,腾讯自研机器学习平台Angel,专攻复杂计算场景,可进行大规模的数据训练,支撑内容推荐、广告推荐等AI应用场景。

蒋杰称,腾讯大数据平台的发展,是一个从引进到自研、从离线到实时、从分析计算到人工智能的全维度的演进历程。随着资源管理平台核心TKE和分布式数据库TBase正式对外开源,与开发计算平台TDW、全栈机器学习平台Angel、开源实时数据采集平台TubeMQ一起构成腾讯大数据开源阵营,证实了腾讯大数据平台从开源中来,在具备自主研发能力后积极推动开源,回馈产业。

大数据平台新方向:融合

当谈到发展方向时,蒋杰重点强调了“融合”二字。在他看来,腾讯大数据平台正向着这三个特点进行迭代:

1、批流融合,批量计算、实时计算从分离,到SQL层面的融合,再到底层计算引擎层面、存储层面的多方面技术融合;

2、ABC融合,即人工智能、大数据和云的融合,前两者天生就应该绑在一起的,腾讯自研的机器学习平台Angel就是一个融合的案例,Angel目前已经实现了预处理到数据训练融合,当把整个体系能搬在云上后,即实现ABC的真正融合;

3、数据湖,实现跨IDC、跨平台、跨异构数据源的数据共享,通过联邦学习来解决数据共享中存在的数据安全和隐私的问题。

技术的发展,并不总是一帆风顺的。蒋杰表示,在经历大数据平台发展的阶段中,走过的坑可谓只多不少。

在资源调度领域,原生Hadoop的可承载规模较小,这就意味着需要自研调度器。通过自研调度器,腾讯在2014年让Hadoop单集群规模达到8800台,目前超过4万台。解决完离线规模的问题以后,腾讯大数据团队再度面临解决在线资源问题。他们需要实现在线平台和离线平台的混合部署,这个过程需要更好的资源隔离,并且需要容器具备虚拟机一样的隔离能力。同时,还要获得在线业务的优先调度能力,以提高在线资源率。

在数据采集方面,腾讯大数据团队在开始阶段主要引入和使用开源软件,经常会出现数据重复和数据丢包问题,后来自研了TubeMQ来解决,从2013年到目前,该平台数据规模从百亿到35万亿,翻了几千倍。10万亿规模的数据消费存在延时问题,TubeMQ要在如此大规模之下达到平均5毫秒的延时要求,他们采取软硬结合的技术来解决。

在数据处理方面,腾讯要以毫秒级的速度对数据中心里分布在不同的国家、不同的存储系统、不同的集群的异构数据进行快速处理,漂移计算SuperSQL解决方案应运而生。SuperSQL通过智能CBO优化器(基于成本的优化),将计算下推到分布在各地的异构数据源,实现高效的异构数据分析,使得数据分析过程的整个性能表现比传统处理方式高出26倍,特别是针对海量数据情况下,这样的解决方案优势也就越发明显。

最后的难点,是腾讯面临着万亿规模的大数据训练需求。最开始,他们的数据训练需求来源于广告业务,他们使用Spark来构建数据训练体系,但只能支持千万级别维度的训练。因此他们自研高性能的机器学习平台Angel来解决,从最开始Anlge支持十亿维度,逐步提升到千亿。目前,Angel平台的训练量级已经从千亿扩增到万亿。

10年间,走过的坑有多深,只有腾讯大数据团队知晓。而他们,把这些都搬上云,同时,他们从2014年起就对外开源,希望为同类厂商及广大开发者提供可行性的解决方案。

踩过的坑,别人就别再踩了

蒋杰称,腾讯大数据平台的底层技术本源自于开源,通过发展、迭代,再以开源的方式回馈社区是最好的选择。

目前,腾讯云已经提供了对外开放的能力,其中包括存储网络、数据库到上层整个大数据平台、机器学习平台,到上层服务于SAAS、语音NLP的整个体系。通过云上的产品,企业可以在没有专业大数据和AI人才的前提下进行大数据的各项分析。

雷锋网了解到,2014年,腾讯的第一代开发计算平台TDW开源,到2017年第三代的计算平台Angel也已经开源,该平台已经捐给Linux基金会。到今年9月份,腾讯开源了实时数据采集平台TubeMQ,并将其捐献给Apache基金会。

会议当天,蒋杰宣布,资源管理容器平台TKE和分布式数据库TBase开源,随着在大数据开源领域的开源逐步加速,腾讯正在成为中国大数据领域开源最全面的厂商之一。

会后,蒋杰在采访环节阐述了更多关于大数据平台技术发展的观点,这里将采访内容整理出来以供分享:

1、TBase作为在线交易数据库,都有哪些适用场景?TBase和其他类型数据库如何协同运作,其中是否存在多存储管理?

答:现在某大型保险公司在用TBase数据库,其他像云南省公安、数字广东及十多家其他传统行业的企业都在用TBase数据库,应用场景还是比较多的。

具体来说,这家保险公司是用TBase作为新一代的分布式数据库来替换传统集中数据库,这使得其一些关键应用实现了迁移及生产上线。TBase经过专门的设计可以做到HTAP,也同时支持高效的OLAP和海量的OLTP。

2、会上您说腾讯大数据全部开源,这样做对于腾讯来说好处体在哪儿?另外请您详细分享一下刚才会上您提到的ABC融合。

答:开源的目的主要是为了更好的回馈社区,另外我们也希望能有更多的开发者和团队加入到这个生态中来,这样的话整个大数据的功能会越来越多。

对腾讯来说,去做开源主要有两点:

第一,其影响力优势能够吸引更多的开发者加入跟我们一起来研发。

第二,只有整个开源生态的繁荣,才能够让开源软件的功能更加完善,也能够更好的支撑到我们的业务。

关于ABC,这其实也突显了今天说到的融合这个主题。

首先,因为机器学习平台和大数据平台属于一个大团队,底层研发力量的融合。另外,Angel就是AB融合中的一个很好的成果体现,我们把数据处理和数据训练,在Angel里面做闭环,所以一个Angel就能呈现出一些同类产品不具备的优势。

在上层应用上,如果光有AI、没有数据去支撑,整个业务其实很难跑得起来。和C的融合,指的是无论CPU资源还是GPU资源,亦或是FPGA资源,要拥有很好的弹性和开箱即用的能力,就需要云的能力,所以希望把这些能力都放在云上,能够提供给开发者和企业,来实现整个的ABC的融合。

3、第一个问题,现在业界谈自主可控比较多,开源在自主可控方面具有哪些优势?第二个问题,腾讯在开源建设和开源项目上做了很多尝试,那么具体做了哪些努力?取得了哪些成果?

答:相对于闭源软件,基于开源最大的好处是无任何厂商绑定风险。自主可控不等于从零开始研发,使用主流的开源技术,厂商和用户联合创新,核心的技术由企业自己掌握。在这个基础之上来谈自主可控,通过吸收自己以外的一些能力和资源,更好的实现自主可控。

在2017年,腾讯将第一代计算平台Angel开源出来;到了2019年,新开发的Angel3.0平台也已开源,现在已经有像华为、小米、新浪微博等公司在使用这一平台。

今天大会上,我们再度开源资源管理平台核心TKE和分布式数据库TBase。

未来,类似漂移计算、联邦学习数据库等这样的能力,我们都会陆续去开放和开源。所以整个开源生态,其实如果由企业来推动大家来加入这才是一个正生态,如果好东西永远都留在自己家里,那其实这个生态很难去繁荣。

4、关于大数据的四个方向,具体是什么?

答:大数据平台发展的四个方向:

第一个是批流融合,一直以来,批和流的引擎都是分开的,近几年批流融合的尝试越来越多,但是基本都是在SQL层面做融合,未来有没有可能从底层的计算引擎融合?我们正在做这个方面的研究。

第二是ABC的融合,上一个问题也说过了,不再重复。

第三个就是数据湖和联邦学习。刚才分享过的漂移计算就是数据湖方向的,是为了解决跨IDC、跨平台、解决异构数据的共享计算的问题,而联邦学习是为了解决数据共享带来的数据安全和数据隐私的问题。

第四个是必须具备混合部署的能力,公有云、私有云,不同的集群,都能管理好。还有跨域的数据共享,不同区域,不同机房,不同的云。

5、Angel平台目前针对于哪些复杂计算场景在做数据的训练?

答:Angel原来更专注解决大数据、大模型体系。举一个最简单的例子,在Spark引擎下现在只能支持几千万维度的计算,而我们现在的实际需求已经达到了万亿,就是说这之间有几百倍的差距,所以必须要去做自研。

主要的应用场景像我们本身的广告、金融、微信支付、整个社交体系等都有应用。除了上述提到的几家厂商,现在又在平台上迭代了一些新的能力,让开发者应用,希望将Angel做成一个全栈式的平台,能够给开发者更好的体验。

6、腾讯的数据库有很多,为什么选择TBase开源?选择开源的标准是什么?

答: TBase源于开源的PostgreSQL,功能强大,适合企业级应用。

可以用来开源的平台,第一基础是至少这个平台是稳定的、可靠的,并且在腾讯已有的大业务经过历练的。第二个基础,开源出去的东西对业界是有价值的,而不能说光在腾讯环境下有用。最后一个基础,腾讯在大力推动开源协同的技术战略,这是自上而下的,整个腾讯的数据库大方向会是开源协同。

7、腾讯(大数据类的)开源项目能为运营商提供怎样的助力(偏向运营商角度)?

答:包括电信、联通、移动在内,现在的运营商都在做云。云架构的搭建和优化对运营商本身的基础建设是有很大帮助的。

5G技术的发展,会带来非结构化数据大规模的增加,包括AI能力的实现,需要更多去寻找数据本身的价值,通过数据的价值去回填于运营商自身业务的发展。

也就是说,所有数据相关的动作,都是跟业务强关联的,有商业价值的,才有我们长期发展的空间。值得注意的是,在做数据价值挖掘的时候,需要大数据平台和AI的平台来构建底层建设,这是一脉相承的逻辑。

8、做开源对于企业来说有哪些商业价值的回馈?

答:首先互联网公司最大的价值是人才,开源会聚集很多的人才。

在我看来,研发和开发只有高端人才云集,我们才能做出高价值的产品,能够服务我们高价值的业务,这是很关键的一个逻辑。所以开源其实没有直接的商业价值,但间接的商业价值是一定会有的并且会越来越大。

9、Spark on Angel和Pytorch on Angel这两个平台的区别在哪里?各自带来的优势或者是能力是什么?

答:主要是深度学习和图计算的能力,为了满足不同的开发者,我们会去支持不同的引擎,这个我觉得是一个功能和生态的延伸。可能未来有新的好用的开发平台出来,我们也会去支持,因为这才能够活跃生态。

10、做开源的成本有哪些?对比国内外开源的进度,打造腾讯大数据平台时如何在技术上作取舍?

答:开源一定会带来人力成本的消耗,会涉及到一些额外的工作量。我相信每一个推动开源的人、组织和企业都是富有社会责任感的,如果没有社会责任感的企业是不会做开源这件事情。对于腾讯这样体量的企业,去消耗一部分人力去做生态的建设,投入是非常值得的。 

无论国内国外,整体上是一个逐步前进的过程,而开源社区的认同感是社区可以给予的,越来越多的开发者也开始认可国内开源社区的存在。其次,国外有很多商业机构在做商业的大数据产品,这是基于企业的生产需要。开源大数据项目,更多是形成监督和共建的机制,反过来推进团队更好地往前的发展。

更多精彩内容请关注雷锋网网络安全栏目或雷锋网旗下微信公众号宅客频道。

分享到