专栏首页腾讯大数据的专栏大数据江湖十年:腾讯底层技术的进化往事

大数据江湖十年:腾讯底层技术的进化往事

生活不可能像你想象得那么好,但也不会像你想象得那么糟。人的脆弱和坚强都超乎自己的想象。有时,我们可能脆弱得一句话就泪流满面,有时,也发现自己咬着牙走了很长的路。

本文转载自:鹅厂技术派

人们常说,腾讯因为微信,拿到了进入移动互联网时代的一张站票,但是在互联网数据像火山一样爆发的前夕,大数据何尝不是腾讯能够屹立顶级科技公司的另外一张隐性门票。

去年9月份,腾讯云对外宣布其大数据平台的算力弹性资源池达500万核,每日分析任务数达1500万,每日实时计算次数超过40万亿,能支持超过十万亿维度的数据训练。

这一系列数据不仅让腾讯云一举成为国内算力最强的云厂商,同时成为国内日实时计算量最大的公司。

但是一路走来,并不容易。

时间拨回到10年前,那时很少有人想到,因为3G通讯网络全面普及,会让中国的互联网公司都开始尝到业务爆炸式增长所带来的好处。

不过与之同时而来的海量数据却也让这种成长如芒在背。当时的互联网人发现其业务数据的增长速度已经渐渐超出系统处理能力的承载范围了。

这其中又以腾讯的情况最为典型,据统计在08年左右QQ的日数据量就接近10T的量级,并且还保持着高昂的增长态势。

3G时代的文字、4G时代的图片、到5G时代的短视频,技术给用户带来的变化,除了精神的愉悦和感官的刺激之外,还会给应用服务商带来甜蜜的负担。

数据的疯狂增长带来的第一个问题,就是原有的IOE中心化架构变得难以为继,且不论支撑如此高并发的IOE系统(IBM的小型机、Oracle的数据库和EMC的存储)成本会有多惊人,即使是当时最强大的科技公司,也没有经历过如此海量数据的洗礼。

一场技术领域的巨大变革正在酝酿。互联网技术人希望寻找到一种“普世”的技术架构来解决海量数据带来的高并发、高性能等问题。

在过去的十年里,腾讯逐渐成长成世界级的科技巨头,而其底层技术支撑力量也在不断增强。

接下来,我们就以腾讯大数据为切面,和你一起回顾底层技术进化的十年往事。

跌跌撞撞进入大数据时代:2009-2011爆发 

10年前的腾讯就开始在X86服务器、开源数据库产品、分布式存储解决方案等方面开展了研究和探索。而随着分布式架构的应用,又催生了用户行为、硬件日志等不同于以往的数据维度,非结构化数据迎来井喷式的爆发,大数据时代的大幕徐徐拉开。

欲戴皇冠,必承其重,对从业者来说,大数据是史无前例的机遇和挑战,失败了就止步于此,成功了就大有可为。

早期的互联网企业内部的数据系统大多采用LAMP(Linux、Apache、MySQL、PHP)架构,但是实际上,LAMP是对照着IOE版本的“婴儿版”、“幼儿版”产品。这样的架构虽然可以解决一时的问题,但是在面对持续的数据增长之时,性能和效率依然难以为继。

这样的“照抄”并不解决问题,腾讯以前也尝试过LAMP架构。

现在回过头来看,腾讯的工程师刚开始很显然低估了数据量的来势之猛,LAMP架构很快就被推倒重来了,原因是它扛不住庞大的数据增长。互联网带来的不是廉价,而是更迅猛的数据资源爆发。

互联网技术发展的驱动力和背后的用户行为密切相关,对于腾讯来说,企业用户行为数据要要远远大于交易数据的量级。但是行为数据带来的系统架构靠廉价的LAMP架构这条路行不通,人们开始探索一种高并发、高扩展、更松耦合的高服务能力的大数据技术来应对这种海量的数据增长。

在此之前,谷歌在03到06年间连续发表了三篇很有影响力的文章,分别是GFS、MapReduce、 BigTable。我们今天谈到的大数据都源于谷歌的经典论文MapReduce : Simplied Data Processing on Large(《基于集群的简单数据处理:MapReduce》)。

MapReduce的伟大在于,将大数据由集中式计算过渡到分布式计算,以前提升算力的思路是让服务器越来越强,而分布式只需要增加服务器节点的数量,就能处理更大的数据量。

同时,分布式系统的业务连续性,并不是靠高可用性来保证,而是靠整个服务的容错能力造就的。同样的,去IOE,不是找一个像WPS的软件去替代Office的版本,而是要找到分布式架构,能够碾压一体机、适应万亿记录规则场景的方法。

2009年1月,腾讯抱着试试看的态度,搭建了第一个Hadoop集群,并成功承载了QQ蓝钻业务,虽然这个初代集群只有30台服务器,但其对效率的提升却是立竿见影的,只要30分钟,就能完成以前一个月的数据分析。

尝到甜头之后,腾讯的大数据技术人似乎找到了未来的技术方向。腾讯大数据业务的快速增长,正是在此刻开始的。

几个月后,腾讯高级执行副总裁汤道生将《开心农场》引入QQ空间,这后来成为了中国互联网史上最疯狂的增长之一。

5月22日,游戏上线的当天,游戏开发公司“五分钟”的服务器就被流量挤爆,在不得不将服务器的管理权限让渡给腾讯后,后者开始面对每天高达100万的用户增长。

一方面喜悦于业绩的疯涨,一方面又只能一次次增加服务器,并随时面临爆棚的危险。

在2009年的下半年,最后追加给《QQ农场》的服务器超过了4000台。“那是一个不可思议的数字,也许在很长的时间里,都不会被打破。”汤道生这样评价。

这一增长最终转化为巨大的商业价值,在腾讯2010年的中报里,腾讯的半年利润一举超过阿里、百度、新浪和搜狐的总和。

另一方面,这一事件也让腾讯大数据团队的成员们意识到,传统的数仓已经难以支持腾讯业务的发展,全面拥抱大数据技术已箭在弦上,势在必行。

跻身一流行列:2012-2014

2012年,大数据领域“大神”级人物蒋杰正式加盟腾讯,在此之前,他已经在数据打了十年的交道。

作为一位低调、务实且在技术领域有着强烈追求和敏感度的工程师,蒋杰刚进入腾讯就对所负责的大数据技术做了一番“摸底考查”。

“腾讯大数据团队可能落后领先水准三年左右”。

之所以下这个判断,是因为当时腾讯大部分业务还跑在Oracle的数据库上,Hadoop的集群只有几百台规模。

为了能早日查缺补漏,迎头赶上,他经过一番调研之后,在接手之初为腾讯大数据设定了三阶段目标,要让腾讯大数据的算力资源池分别突破1000台、2200台和4400台。

为什么要定这样的目标?这数据不是随便拍着脑袋决定的。

这背后其实代表着大数据平台能力的水平,跟当时网络环境的发展是密切相关的。

在2012年底,腾讯大数据的单集群规模成功突破了4400台,基本实现了从关系型数据库到自建大数据平台的全面迁移。

腾讯的技术发展一直是为业务服务的,Hadoop对Oracle的取代,主要满足了腾讯对海量报表类数据进行规模化离线计算的需求,也是替代传统的数据仓库的一种模式。

但是让蒋杰团队没有想到的是,因为腾讯自身业务当时实在发展也太快,这就导致,当初规划的阶段性目标还没完成,就要面临落伍的风险。

2010年,汤道生开始领导互联网增值业务部门,并在2011年12月正式上线了广点通业务,广点通基于大数据模型研发,开创了“效果广告”之先河,用户会看到为其定制化的广告,腾讯的网络广告整体收入实现突破。

同一时间,移动互联网也进入爆发期,流量纷纷涌向移动端,在推出语音对讲功能后,微信用户一度以每天10%的速度进行增长,个性化内容推荐的模式异军突起。

实际上,在2012年之后,移动互联网进入高速发展阶段,这让腾讯的业务数据在五六年间增长了几千倍。

当时腾讯的情况是,经常上线了某个业务,5分钟后总办的领导就会过来问运营数据,每当大数据团队的成员回复“不好意思,明天十点钟才能给你报表”,就有被“狂怼一顿”的风险。

而这些需求的变化也让蒋杰的团队意识到,腾讯的数据不但变得更“大”,腾讯业务对数据处理时效性需求也在变“高”——要求小时级、分钟级乃至秒级的数据采集和查询。只能满足“大”的Hadoop离线计算框架已经无法满足新的需求,腾讯需要更进一步的“实时计算”。

时间来到了2014年9月,腾讯大数据在单集群达到8800台后,正式开始在吸收开源技术的基础上,结合腾讯自身的需求进行重写,重新定制了分布式内存计算框架Spark & Storm,探索流式计算、秒级采集系统的建设,构建企业级的实时数据分析体系。

由于内存在读写上的速度优势,其在数据处理环节上全面领先于MapReduce,到2015年2月,腾讯的Spark集群规模成为全球第一,对蒋杰来说,这个Spark集群的意义还在于腾讯大数据领域的技术水平,正式跻身国内第一梯队。

转向AI,拥抱开源:2015-2019

2015年初,微信公众号逐渐兴起,知识付费渐成潮流,可以说内容广告的精准投放是这一阶段互联网巨头竞争的高地,机器学习是解决当时广告推荐瓶颈的最佳选择。

当时,虽然人工智能的各类算法已经提出了三十多年,但业界关注点大多集中在图像识别、语音识别等领域,一些开源的机器学习和深度学习平台如TensorFlow、Pytorch等,也并不太适应腾讯的业务需求。

于是在2015年,腾讯联合北京大学共同研发的Angel项目诞生了。

不难发现,这个项目和腾讯大数据以往的技术路线也有明显的传承和联系。Angel本质上是一个大规模、分布式的机器学习平台,架构核心是高性能参数服务器,主要聚焦在稀疏数据和高维模型领域。这一领域与腾讯的业务息息相关,比如推荐模型和图网络模型(可用于社交网络分析)。

2016年初,Angel在腾讯内部上线,被应用到微信支付、广点通等多项业务之中,并于2017年6月16日在Github上开源。

腾讯长期以来一直是开源的受益者,从Hadoop到Spark、Storm、Flink,腾讯大数据的发展离不开开源社区的支持。

实际上,在蒋杰来到腾讯后,腾讯大数据同样经历过一次开源和自研“二选一”的路线讨论,而腾讯最终选择拥抱开源。自研Angel项目,很大程度上也是因为当时没有更符合腾讯业务需求的开源机器学习项目。在其他业务场景,开源项目也在被广泛使用。

在几年之前,开源的理念往往被国内的科技公司所忽视,因为我们更乐于说如何做好一个产品,或是“自主可控”。

但近些年来,人们逐渐发现开源才是技术人协同工作的最佳方式,开源在IT领域的影响正与日俱增,一个受欢迎的项目,通过开源接受全社区的检验和评价,以及优秀开发者对其的完善,得到的提升长期来看要快于内部的研发,并且有利于在更大范围内形成技术生态,扩大其影响力。

从2014开始,腾讯大数据便将第一代平台的核心,腾讯版的Hive进行了开源 ,而代表了腾讯大数据第三阶段最大成果的Angel,在2017年开源后有超过100家公司和机构使用,包括华为、小米、OPPO、拼多多、新浪微博等,并在2018年进入LF AI基金会孵化。外界能够明显感受到,腾讯加快了开源的脚步。

曾经我用开源,现在是开源用我。

Apache Hadoop社区推出的新一代分布式文件对象存储系统Ozone,于去年9月发布1.0.0版本,并于10月下旬宣布从Apache基金会毕业,正式成为Apache顶级开源项目。它能够解决Hadoop分布式文件系统HDFS的扩展性上限,满足千亿级小文件的存储需求。在众多实际场景下,已广泛获得用户好评。

而早在2018年,腾讯大数据团队就已经看到了Ozone的巨大潜力,开始积极参与社区并逐渐主导了项目的研发。由于在开发过程中的突出贡献,腾讯大数据团队Ozone项目的技术负责人,更是被社区推选为Apache Ozone的首位项目主席(Chair)。

投入到Ozone项目开发的这段历程,可以说也是腾讯从“使用开源”到“回馈开源”、甚至“主导开源”的又一个切实体现。

在ApacheCon 2019上,腾讯面向全球开发者宣布开源其核心平台——实时数据采集平台TubeMQ,并捐献给Apache社区。紧接着在2019年11月的Techo开发者大会现场,蒋杰再次重磅宣布,开源其资源管理平台核心TKEStack和分布式数据库TBase以及Tencent Kona JDK,这也意味着,腾讯正在成为中国大数据领域开源最全面的厂商。

2019年12月19日,Angel从LF AI基金会毕业,成为中国首个成功从LF AI基金会毕业的项目。

在基金会中,还有来自百度、华为、中兴等多个中外项目还在孵化中。在GitHub上,截止2020年10月,Angel项目已经获得6.1k颗星。蒋杰将Angel的顺利毕业,视为腾讯大数据第三阶段圆满结束的标志,也是下一个阶段的起点。

“我们从小树成长为大树,我希望我们能成为森林。”他说。

再出发:2020-?

以2009年搭建的第一个Hadoop集群作为腾讯大数据的起点,10年时间,我们会发现在腾讯商业版图的扩张中,许多关键节点,都有腾讯大数据的身影。

从2010年到2020年,还有一个变化,商业模式创新的影响力,已经大幅让步于依托复杂技术体系的整体竞争,巨头之间是如此,创业公司也会有面临这样的选择:是腾讯云还是阿里云、AWS?是Angel还是TensorFlow?这是新的趋势,未来行业ISV们以SaaS形式输出产品,而巨头在IaaS之上,以PaaS的形式向ISV们输出自身的大数据和AI能力——巨头需要思考的,是如何去引领潮流,吸引更多的人跟随。

为支撑海量用户和内外部业务发展,腾讯已经建立了“大数据+AI”的双引擎技术架构。

其中,最底层为分布式存储层,存储结构化及非结构化数据,第二层是资源调度层,做CPU、GPU和FPGA的管理,第三层是计算层、分析层、数据采集层,而顶层则是业务应用层。通过四层完整的技术架构,自下而上为腾讯的整个应用生态保驾护航,保障亿万用户能安全顺畅地享受到腾讯的优质服务。

面对企业自建大数据平台、机器学习平台成本高昂、人才难觅的困境,腾讯推出了以TBDS和智能钛TI为首的大数据+AI双引擎,通过腾讯云对外开放,让每个企业,不需要专业的大数据和AI团队,也能便捷用上领先的大数据和AI的能力。

不久前,腾讯云发布的全链路数据开发平台WeData,通过在云端构建统一的元数据管理能力,来有效降低企业数据开发门槛。同时,打通包括EMR、CDW数仓、MySQL甚至对象存储等在内元数据,以便于企业数据在不同云端数据设施之间进行无缝流转的同时,还能保障其元数据的一致性和可维护性。

2020年,腾讯大数据第四阶段开始的元年,这一阶段腾讯大数据的目标,是在下一代计算平台中,探索大数据与智能融合以及数据湖和联邦学习等前沿技术。

比如腾讯正在研发的联合安全计算平台,将安全加密技术与大数据计算、人工智能相结合,能够有效解决跨机构、跨公司之间的数据协作问题。在保护数据隐私的同时,提供联合数据分析、联合数据建模等能力,实现数据的互融互通,释放数据价值。

蒋杰表示:“大数据和人工智能融合在一起,成为支撑业务的基础设施,然后以公有云和私有云的形式混合部署,能够实现跨域数据共享和边缘计算,是未来腾讯大数据内部应用和对外输出的主要趋势。”

目前,腾讯大数据集群超过500万核,并且还在以每年20%-30%的速度增长,做好精细化运营,让有限的机器处理更多的数据量是他们的重要目标。同时,通过弹性集群、在线离线混部、安全容器、智能调度等技术,将大数据作业运行在公司各类临时资源、空闲资源以及碎片资源上,进一步提升算力,节省成本。

为了解决内部跨数据源、跨数据中心、跨执行引擎进行数据共享分析的问题,腾讯自研了漂移计算引擎SuperSQL,作为统一的数据分析入口,通过智能CBO优化器,将计算下推到分布在各地的异构数据源,成倍提升了数据分析性能,并且数据量越大优势越明显。这一统一大数据SQL分析平台/中间件SuperSQL也将被持续改进,并在适当的时间对外开源。

蒋杰的团队最明显的标签就是低调的强者,“你们应该多关注默默做事的人。”蒋杰在采访中谈到,“虽然做得很不错,但很多没我们好的,比我们要有名。”这也是整个团队的真实写照。

长期以来,腾讯大数据作为内部的技术支持部门而存在,并不为外人所知;但腾讯的大数据技术已广泛应用于政务、安全、金融、零售等诸多领域,并获得业界多项荣誉,近年来,还通过腾讯云为用户提供全方位的大数据解决方案,助力合作伙伴提升数据洞察力和产业效能。

腾讯在互联网时代的崛起,背后不仅是产品经理们的奇思妙想,更是技术团队们的默默耕耘。

在20余年的中国互联网发展中,底层技术的进化从未停止。

互联网的世界没有什么岁月静好,只是有人在替大家砥砺前行。过去十年,从迈入大数据时代到今天ABC(人工智能、大数据、云计算)融合,技术人一直在默默耕耘。

法国作家莫泊桑说过,生活不可能像你想象得那么好,但也不会像你想象得那么糟。人的脆弱和坚强都超乎自己的想象。有时,我们可能脆弱得一句话就泪流满面,有时,也发现自己咬着牙走了很长的路。

而腾讯大数据团队,就是这群一路咬着牙走过来的人。

这也是,过去十年腾讯一路快速发展,底层技术进化的故事。

扫码关注 | 即刻了解腾讯大数据技术动态

本文分享自微信公众号 - 腾讯大数据(tencentbigdata),作者:鹅厂技术派

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-01-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 腾讯携手九大博物馆,用青年创意活化传统文化

    ? 在腾讯,有一群人热衷“捣古”,古代的古。 他们造访故宫,宫里的美人们都骚动了。 ? 「姑苏城外寒山寺,夜半钟声画新番。」 他们想到歌,就让古画唱起了歌。...

    腾讯文旅
  • 年末盘点 | 2018年文旅行业大事迹

    ? ? 腾讯×云南“一部手机游云南 ” 10月1日上线运营 “一部手机游云南”由云南省政府和腾讯主导发起,腾讯在云南省昆明市设立控股子公司腾云公司,负责“...

    腾讯文旅
  • 「递归」第5集 | 从网瘾少年到极客大神:没有什么是一段代码解决不了的

    ? 我们为什么叫「递归」 “递归” (recursion) 是一种在程序设计语言中被广泛使用的算法。它有两大特点,一是调用自己,二是化繁为简。我们当中那些优...

    腾讯技术工程官方号
  • 腾讯文旅与湘江新区达成战略合作,打造文旅融合新标杆

    ? 6月10日,长沙文旅行业迎来大事件。湖南湘江新区发展集团有限公司与腾讯文旅宣布达成战略合作,双方将发挥各自优势,打造湘江新区全域旅游目的地、构建文旅数字化...

    腾讯文旅
  • DNSPod十问黑湖智造:让工厂数字化如搭积木一样简单

    ? 问答时间:2021年5月20日 嘉宾简介:刘崇明,现任黑湖科技副总裁。ICT行业经历15年,曾任华为技术有限公司国家经理、公共关系与政府事务部高级总监等职...

    腾讯云DNSPod团队
  • 响铃:云计算的时代 2.0的江湖 百度的新赛道战术

    云计算最近“大事”不断,基础架构和信息载体的不断更新和迭代,赋予了云计算更多更新的角色。可以说,云计算正处在一个三叉路口,向左继续基础能力演进,向右转向产业全面...

    曾响铃
  • 为了你们的「部落」,一起来认识这些安全守护者(三)

    腾讯云安全
  • 真果科技贾求真:数字新经济,金融新业态|腾讯SaaS加速器·CEO说

    ? 来源 |  腾讯SaaS加速器首期项目-真果科技 ---- 腾讯SaaS加速器 二期30席项目招募 报名方式 腾讯SaaS加速器,作为腾讯产业加速器的一个...

    腾讯SaaS加速器
  • 数字文旅周报61期 | 江西省与腾讯签订战略合作协议,助推江西文旅产业转型升级

    ? ? 1.江西省与腾讯签订战略合作协议,助推江西文旅产业转型升级 10月19日,江西省文化和旅游厅与腾讯科技(上海)有限公司签订战略合作协议。双方将聚焦江西...

    腾讯文旅

扫码关注云+社区

领取腾讯云代金券