从引进到自研再到开源融合,这10年腾讯大数据平台经历了什么
▲点击上方 雷锋网 关注
腾讯资源管理容器平台TKE和分布式数据库TBase开源。
文 | 灵火K
3000米高空,一架民航客机拖着冒烟的机翼,在空中划出两条黑线。不远处,13名乘客被卷出机舱,生命垂危。此刻,不远处的老贾(钢铁侠搭载的智能助手)通过大数据算法得出上百个解决方案,又将其一一排除。突然,铠甲启动制动,一个人影开始在空中踱步,1、2、3......眨眼间,13名乘客全数获救,整个过程刚好30秒。
《钢铁侠3》中,空难救援的片段堪称经典。钢铁侠通过授权AI,使用大数据、云计算等技术实现在1/30s做出准确决策。
电影中展示的极端情况,激起我们对这类技术的好奇心。现实生活中,大数据、云计算等技术的迭代、融合和落地更是影响着上层应用(企业端)的方方面面。
11月6日,雷锋网应邀参加了腾讯举办的Techo开发者大会。期间,腾讯云副总裁、腾讯数据平台总经理蒋杰就腾讯大数据平台演进历程、腾讯大数据平台发展方向以及AI、云技术的融合使用进行分享。
腾讯业务部门的资源和大数据平台机器资源的结合,形成大数据全平台算力。
蒋杰透露,截止目前,该算力资源池目前已有超过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、做开源的成本有哪些?对比国内外开源的进度,打造腾讯大数据平台时如何在技术上作取舍?
答:开源一定会带来人力成本的消耗,会涉及到一些额外的工作量。我相信每一个推动开源的人、组织和企业都是富有社会责任感的,如果没有社会责任感的企业是不会做开源这件事情。对于腾讯这样体量的企业,去消耗一部分人力去做生态的建设,投入是非常值得的。
无论国内国外,整体上是一个逐步前进的过程,而开源社区的认同感是社区可以给予的,越来越多的开发者也开始认可国内开源社区的存在。其次,国外有很多商业机构在做商业的大数据产品,这是基于企业的生产需要。开源大数据项目,更多是形成监督和共建的机制,反过来推进团队更好地往前的发展。
往期推荐
雷锋网年度评选
寻找19大行业的最佳AI落地实践
创立于2017年的「AI最佳掘金案例年度榜单」,是业内首个人工智能商业案例评选活动。雷锋网从商用维度出发,寻找人工智能在各个行业的最佳落地实践。