前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯,大数据是一碗白饭

腾讯,大数据是一碗白饭

作者头像
腾讯大数据
发布2023-04-04 11:40:15
3410
发布2023-04-04 11:40:15
举报
文章被收录于专栏:腾讯大数据的专栏

导语:

两千多年前,毕达哥拉斯学派提出来一个概念,即“万物皆数”,虽然从今天看当时的发现过程,不免有其偏颇之处。但是它揭示了,万物之间的关系,都可以归结为数与数之间的关系。

几乎在同时代,老子也有类似观点,如《道德经》所云:道生一,一生二,二生三,三生万物。内中的含义是,事物的变迁规律,是一个数据从少到多,从简单到复杂,再从复杂归于简单的一个完整过程。

这说明,人类很早就有了朴素的数据驱动思维。

只不过,在电子计算机和互联网发展起来之前,人类从来都没有办法拥有足够的数据,去发现和掌握这个世界的运作规律。

但今天一切都不一样了,我们将一去不返的进入一个智能化的时代,而大数据是一切的基础。

1、历史的互相选择

你可能很难想象,仅仅在几十年前,最早的计算机存储器,是由工程师莫齐利二战期间为军用雷达开发的一种存储装置,名为水银延迟线。其通过物理方法进行存储,而且需不断刷新,所以内存极小,大概只有几十比特。

而今天,你在京东购买一块300元左右的SSD硬盘,就可以储存8796093022240 比特的数据。

催生数据存储成本极速下降的,是人类对数据存储、处理、使用需求的极度攀升。

虽然个人计算机在上世纪80年代就开始普及了,互联网在上世纪60年代就出现了军用版本,但真正带来数据井喷的,是只有十多年历史的移动互联网。

移动互联网彻底解决了“在线”和“不在线”的问题,当智能手机、物联网设备开始大普及后,每个设备都永远实时在线,它们随时产生海量数据,而且更新速度极快。

然而,就好像海水需要专门的设施才能提炼出合格的食用盐,数据也并非自动就产生价值,如果没有专业化处理并高效有序地存、管、用,数据就不会发挥价值,所谓的“数据资产”随着时间的流逝逐渐成为数据垃圾,成为社会和企业的负担。

2009年1月7日,中国移动正式向社会提供3G服务,被认为是中国移动互联网的元年;无独有偶,腾讯也是在2009、2010年相继受到了极大的震撼,从此快速走上了自主创新的道路。

但是从需要大数据能力和练成大数据能力,并非一步之遥。但腾讯的优势在于,大数据平台作为腾讯底层的基础设施之一,每天必须处理千万级规模的离线数据任务及百万亿级别的实时计算,否则无法满足业务每天数以亿计的数据分析计算的需求,为了支撑这样的数据总量,腾讯大数据平台算力规模已经突破千万核,腾讯的大数据技术也在这样极限压力下的打压磨练中,逐渐形成了自己的产品格局和技术路线。

2、TDW的三重门

其实,真正让腾讯有启动大数据自研这个想法的,还不是微信,而是一款小游戏。

2008年底到2009年上半年,QQ空间引入了“开心农场”业务,开启了疯狂增长的模式。从业务数据来看,垂直的增长曲线让业务人员乐得合不拢嘴,技术人员看着曲线却笑不出来。如何能快速构建全新的数据仓库,满足业务快速增长的计算需求,他们在努力寻找答案。

也幸亏是2008年底这个时点,触发了腾讯去从底层升级自己的数据体系。

否则,腾讯的大数据可能就接不住2011-2012年井喷的微信崛起,而如果没有微信的崛起,也就没有腾讯发展历史上的第二个黄金十年。当雷军在2年后被米聊的数据问题劝退时,腾讯却因为数据体系能够顶住(此刻只能说是顶住,还算不上闲庭信步)得以继续发展。

如果单纯从分布式系统对算力的需求而言,百度可能是最高的。但从规模上来说,腾讯的数据计算量是最大的。这一点至关重要,正是因为基于未来数据还会几何级数的增长这个前提,腾讯的大数据自研,必须选择一个兼具效果和成本的路线,而如果另起炉灶,似乎就只有开源这条路了。

万幸的是,当时的学术界里,正好存在一个相对较优的选择。

具体的背景是,由于HDFS和MapReduce在Nutch引擎中有着良好的应用,所以它们于2006年2月被分离出来,成为一套完整而独立的软件,并被命名为Hadoop。到了2008年年初,Hadoop已成为Apache的顶级项目,并被多数很多大型互联网公司使用,比如雅虎。

除此之外,HDFS有高容错性的特点,并且天生是设计用来部署在低廉的(low-cost)硬件上,这两点令当时的腾讯垂涎欲滴。

而且,它具有强大的、可靠的性能,因为它假设计算元素和存储会失败,因此会维护多个工作数据副本,确保能够针对失败的节点重新分布处理,它还是以并行的、可伸缩的方式工作,能够处理 PB 级数据。

当然,像腾讯这样体量的巨轮掉头,是非常不容易的。所以和许多伟大的工程一样,Hadoop在 2008 年底开始启动时,也就是从不同部⻔抽调了几个人,申请了一间会议室来封闭开发。这些人从 Hadoop社区里拉了一个分支版本,第一个集群的规模只有 30 多个节点。

后来成为腾讯云副总裁的刘煜宏对笔者回忆说:“要说我们当时就规划好了一二三四代的产品,那是假话。我们技术的演进都是跟着业务的需求一点点往前走的。

好几个参加TDW1.0版本的程序员后来都回忆,其实,他们内心很挣扎,2008年的中国程序员还考虑不到什么“卡脖子”的问题,只是每个程序员都有一个梦想——我为什么不能原创一个自己的大数据,而要用社区上的开源产品呢?

但实话实说,当时腾讯的技术底子,还只能“拿来主义”。即使是“拿来主义”,也是很不容易的。因为当时腾讯主流的业务收入是电信增值,所以这帮人都是用C语言写计费系统的,而当时方兴未艾的大数据开源的主流是JAVA,所以也只好临时“自废武功”,从头练起。

如果你在大型科技企业工作过,你会发现一个有趣的现象,那就是越牛逼的部门,就越不愿意迁移。因为人家原有的业务已经优化到了极致,迁移既会增加风险,也可能造成性能削减。所以每一次平台级的迁移,更主要的工作,往往是做业务负责人的工作,其次才是技术工作。

TDW 0.1 版本就吃了这个亏,闭门修炼一年后,他们自己觉得,拿出的新版本,比那个从社区直接拿来的开源版本,在集群的性能、可靠性都有了质的变化,特别是对于HDFS的优化,让他们自信满满。

但是第一炮就打哑了,那时腾讯内部由于没有统一的开发框架,每个业务团队又都有自己的开发习惯和开发语言,让开发协作出现了许多问题。

幸好这时有一大一小两件事,救了TDW。

大事,是马化腾从2011年开始推动腾讯的内部开源。内部开源的方式,让各部门可以相对自主选择较优的技术栈,这样就让无数门派渐渐的聚合成若干个主流门派,虽然还不是一统江湖,但整合的难度低了很多。

“小事”就是腾讯大数据这帮人的自强不息,他们对 Hive进行了大手术,按照腾讯业务的组织架构和权限管理进行了适配,特别是进行了语法兼容。最后的结果,虽然没有达到“让业务一行代码都不需要改动就能顺利迁移”,但也空前的降低了复杂性。

于是,厚重的部门墙开始松动了,从蓝钻业务开始,黄钻、红钻、QQ 会员等业务团队,一个业务一个业务地逐步迁移……一直到2013年,腾讯使用的基于某传统数据库构建的数据仓库全部下线,一个新的时代开始了。

其实,腾讯大数据的三重进阶,也不是完全贯序进行的,而存在一定的并行关系。

例如,第⼆代TDW平台,其中的一个核心能力的提升,就是有了实时采集系统,同时对底层实时计算引擎Storm使用Java重写。

某种意义上,如果说第一代完全是自下而上推动的话,第二代则包含有某种自上而下的推力。

我们谈到,腾讯这种数字原生的企业,天然具有某种数据驱动的思维。而“数据驱动”不仅意味着依靠数据来做决策,也取决于数据的提供效率。

举例说,对于马化腾来说,在一小时、一天和几天的时间里得到自己需要的数据业务,对经营决策产生的结果,是完全不一样的。

腾讯很早就有数据汇总的意识,一位资深员工回忆,大概在2006、2007年左右的时候,马化腾和刘炽平这个层面,就可以拿到当天的一些主要数据,形式主要是用邮件发送的报表。

但是到了2011年——2012年之后,如我们在开篇中讲到的,智能手机开始迅速发展,手游业务快速增长开始手机快速发展的时候,老板的要求也随之变化。一个老员工印象最深刻的是,当时,天天酷跑上了一个新版本,仅仅半个小时后,公司最高层就来要数据,而当时的系统完全无法支持这种需求。

另外,作为大数据的源点业务,广告系统也需要实时反馈,因为互联网广告是一个非常复杂的体系构成的,要在这个复杂的体系下,实现实时分析、实时预警、实时营销的全套实时数据提升,进而帮助商家和运营人员做好业务增长,这种数据驱动能力,在行业里能做到的屈指可数——当时腾讯就遇到了挑战。

为了解决这个问题,大数据团队可以说是操碎了心——这并不是一个纯技术问题,而是一个经济学问题,即“弹性运力”问题。

据说,当年程维和柳青因为早晚高峰的加价被网友痛骂,他们无奈之下去只好去请教经济学家周其仁。周其仁听了以后说,这其实是一个经典命题,也就是说,凡是波峰波谷差距特别大的运输企业,一定要设置大量灵活的弹性运力,来削峰填谷。

腾讯大数据的团队发现,其实很多问题,是习惯问题而不是技术问题。比如很多部门喜欢在晚上传输数据,原因是一般人认为晚上的带宽相对宽松。但所有的人都这么认为,反而使得一到晚上,带宽就特别满,就需要调集很多临时的带宽,造成成本高而效率不高。

另外,以前的团队背对背研发,导致数据汇聚的中间环节太多,于是当时就做了一个实时的采集平台,直接从源头里面抽取数据。这样,所有的带宽因为减少环节和分摊在不同的时间,不但速度提升了,而且实时采集也达到了秒级,腾讯总办终于可以随时随地看到自己要的数据业务了,这是2014年。

而时间到了2015年,第三代平台酝酿待发,这时候一个新命题出现了。

3、大数据是一碗白饭

公众对AI的认知,往往是开始于2016年的AlphaGo战胜人类棋手。

但对于中国的AI前沿企业来说,2015年是一个关键年份,此时的百度,已经拥有了硅谷人工智能实验室(SVAIL)。

而对于蒋杰来说,他的目标在于,2015年开始的第三代TDW,除了日趋成熟的通用大数据计算外,开始支持机器学习、深度学习等AI场景,Big Data与AI在平台层面逐步融合。

而且,除了继续和开源社区进行交流和回馈外,这一代平台也将圆梦自研。

笔者曾经和蒋杰讨论过一个问题,就是这些年大家讲的ABC合流(人工智能+大数据+云计算),到底是一个真命题,还是一个伪命题。

蒋杰则毫不犹豫的告诉我,这不但是一个真命题,而也正是TDW在第三代自研实践中印证过的命题,更是腾讯正在延展的命题。

他说:“我是这么来看的,数据需要存储、要有收集、还有很多分析的诉求。如果没有大数据的话,你快速的计算能力搭建在哪里呢?你分析的、训练的数据来源在哪里呢?所以我觉得对于ABC来说,大数据是每天要吃的白米饭,要想在上面加上鱼和肉,就可以通过AI和Cloud去创造价值,但一切的baseline都是大数据,这也是我们这么多年走过来的一条路”。

他继续强调“白米饭”的价值——我们在上马大模型以后,能够带来广告GMV 20%的提升。很多人的眼光就始终停留在大模型上,但大模型只是肉,如果现在我们数据仓库的数据不是已经达到了EB级的话,大模型也很难达到这样的能力。

蒋杰提醒笔者注意一个事实——在以前,大数据跟云是分开的两个体系,云专门有自己的云的集群,大数据有专门大数据的集群。而现在,基本上在大数据体系里面做到了实时跟离线的统一,变成了实时的湖仓一体的体系,这是腾讯这两年一直在追求的一个模式,也是最大的进步之一。

再简而言之,腾讯大数据的第三阶段,首先还是数据加工,是先有大数据的处理(这里面有离线特征,也有实时特征),处理好的数据才能进入大模型进行训练,训练完了沉淀成能力再放到线上做推理,而和以前不同的,整个的过程已经充分的云原生了,这就是ABC的合流。

在这个过程中,一条主线是我们反复讲述的,那就是以Hadoop生态为核心的大数据的演进,从Hadoop开始到Spark到Flink,这种体系的发展,代表了离线计算体系逐步的终结和改变,现在,腾讯大数据是一个一体化的体系,已经没有离线和在线之分,而是湖仓一体的,SuperSQL来实现语法的标准化,对用户来说无需关心底层,一套标准的界面就能解决问题。

更重要的是,在这个阶段里,AI的能力形成了——腾讯联合北大自研了AI框架Angel,这是非常难的一件事情。虽然全世界有无数的深度学习框架,但成为主流的只有TensorFlow、Pytorch等少数几个。

自从2019年的国际地缘动荡,不仅中国的企业受到了各种各样的影响,GitHub、Node、React等开源平台针对俄罗斯开发者的严格限制,也给不少企业的产品开发、商业运作蒙上了一层不确定的阴影。

在这样的语境下,软件的自主可控再度成为舆论场上的焦点,特别是作为AI基础技术的深度学习框架,更是聚焦了无数开发者的关切。深度学习框架属于AI的底层技术创新,一旦这些技术被套上枷锁,千行百业的智能化转型将被制约,甚至会影响国内第四次工业革命的进程。

而Angel的诞生价值,不仅仅是大模型、广告业务增长这些光鲜的事实,它对于整个中国加速进入智能化时代,同样是重要的——因为中国的大部分中小企业并不具备专业的AI算法开发能力,开发定制 AI 模型绝不是一件容易的事,而Angel可以通过大模型泛化出各种能力,提供给千行百业使用。

另一方面,腾讯贡献的不仅仅是技术,一般人较少看到的,是作为开源的受益者,腾讯大数据对于开源社区的回馈,早在 2014 年,腾讯就把自己的 Hive 版本进行开源,它对 Oracle 语法兼容等特性广受欢迎;高性能分布式机器学习平台 Angel 在2017 年就开源了,2018 年还进一步捐献给 Linux 基金会;2019 年,腾讯一口气开源了四大平台:实时数据采集平台 TubeMQ(捐献给 Apache 社区)、资源管理平台 TKEStack、分布式数据库 TBase 以及腾讯版本的 OpenJDK# —KonJDK。2022年6月,腾讯捐献的一站式大数据集成框架Apache InLong,已从Apache孵化器毕业成为社区顶级项目。

这是一个从受惠者到施惠者完整的十多年,它链接起了2010年之后腾讯在自主研发上的投入,到2018年的科技向善(Tech for  Good)这个多方共建的研究、对话与行动平台。前者是后者能力的保证,后者是前者成果的体现。

中国的信息化建设从无到有的工作是三十多年前开始的,那时候,我们基本没有选择——在实践案例和实施对标方向上,我们是以西方特别是美国的信息化实践为师的;在软件和工具体系上,我们同样也没有太多的选择,所谓的IOE化就是从那个时代开始。

腾讯的技术发育则是近十几年的事情,它提醒我们,一个依赖别人的时代结束了,一个依靠自己的时代,必将也必须开始了。科技创新没有终点,中国已经在ABC领域都成为全球唯二的创新策源地,面向未来,腾讯大数据为代表的技术创新,将更多的站在全球技术的前沿,这也意味着可参考、可对标的方向会越来越少,这也要求腾讯为代表的中国企业,必须更加自立自强,适应从跟随到引领的转变,学会自己设定靶标和方向,迎来更多自主创新的成果。

交流、合作、互动

可以扫描二维码添加我的个人微信

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯大数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档