腾讯蒋杰:深度揭秘腾讯大数据平台
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在传统IT行业工作了五年。随着互联网在中国的爆发,我也从传统IT行业转移到了阿里巴巴,在那里的五年也是我在互联网行业起步和成长的五年。之后有机会与腾讯结缘,对我来说也是进一步提升和发挥的机会,于是就举家由杭州南迁到深圳工作至今了!
十多年的职业生涯,转换过公司也转换了工作生活的城市,但一直不变的是我的工作始终围绕着“数据”展开,无论是在传统IT行业,还是之后的互联网行业,“数据”始终是我工作的核心内容,而我自己最大的职业追求也离不开“数据”,我想可能未来十年到二十年之内我的工作还是会围绕着“数据”,因为我热爱大数据的技术,也在不断发掘数据中蕴藏的巨大价值,并相信数据在不断地改变着我们的生活!
问:可否介绍一下目前腾讯数据平台部的技术团队规模和结构是怎样的?
蒋杰:目前我们数据平台部共有200多人。整个数据平台是按照基础平台、核心应用、产品包装和质量监控的思路分为四部分:
数据中心,负责建设管理腾讯大数据基础平台;
精准推荐中心,负责研发落地以数据挖掘为核心的大数据应用;
产品中心,负责大数据产品的策划和运营;
质量中心,负责我们的质量监控与保障。
问:能简单说说腾讯目前的数据情况么?
蒋杰:要说腾讯的数据情况,得从不同的业务说起。其中主要包括以下5种:
QQ:月活跃用户超8亿,最高同时在线1.9亿;在线人际关系链超1000亿;
微信:月活跃超3.5亿;日均消息量超50亿;
空间:月活跃用户超6亿;日均相册上传超过4亿;日写操作总数过10亿;
游戏:腾讯游戏月活跃用户4.5亿;手机游戏月活跃用户近2亿;
网站:日均浏览量PC侧超17亿,手机侧近13亿;日访问用户量PC侧近1.3亿;手机侧近8千万;
从这些数据可以看到,腾讯每天的数据量是一个天文的数字,目前最高日接入消息条数8000亿,日接入数据量200T B,并发分拣业务接口10000个。
问:能不能详细介绍一下这个平台架构的架构设计思路?
蒋杰:其实这些你都可以从腾讯目前的发展看出来,主要考虑的是数据开放、专业化、成本三点。
数据开放:使得公司数据集中形成数据开放,在保障数据安全性的前提下,提供自助化服务平台,从人肉服务模式转向平台自动化服务方式,帮助BG数据分析人员通过自助服务的方式,降低人工成本,满足快速增长的需求。
专业化:从提供大量独立的系统/工具转变向提供集成、一体化、自动化数据开发平台服务。来源各个业务块数据进行整合和深入挖掘产生用户画像,为业务提供有价值的服务,并且快速孵化更多的数据应用。
成本与性能:优化平台存储和计算方案、优化的数据模型和算法、去除重复计算和存储;通过建设大规模集群,形成规模效应,提升平台能力并降低成本;随着平台上的数据量、用户数、任务数不断增长,每个新用户/新任务带来的新增成本不断降低,成本优势可以不断放大。
问:能不能详细介绍一下这个平台架构的构建过程?
蒋杰:腾讯大数据平台现在主要从离线和实时两个方向支撑海量数据接入和处理,核心的系统包
括T DW、T RC和T Dbank。
数据平台部服务介绍
T DW是我们从2009年开始自研的腾讯分布式数据仓库,我们基于开源的hadoop+hive架构做了大量优化,包括兼容商业数据库语法和hadoop单点消除及可扩展性提升等。从2011年正式发布上线到2013 年初,T DW完成了对腾讯公司内部几乎全业务的覆盖,成为腾讯最大的离线处理平台,目前接入的数据量已达到百P级别,并伴随业务的发展和新业务的出现不断快速增长。
2010年起,随着业务对实时数据处理需求的增强,我们开始进行新的平台规划与建设:我们基
于storm研发了腾讯实时计算平台T RC,我们将社区的storm用java重新改写以提升稳定性和效率,并且使它运行在我们的统一资源管理平台GAIA上,进一步提升集群效率和扩展能力;为了方便用户使用,我们为T RC开发了SQL和Pig用户接口,并且在此基础之上进一步提供了可视化拖拽式开发环境,使业务开发实时计算逻辑更加方便;目前T RC每天提供几万亿次实时计算能力,在以效果广告为代表的趋势预测、交叉分析、实时统计等领域的应用上取得了非常好的效果。
与此同时我们在数据接入方面研发了实时数据接入和分发系统T Dbank,这个系统使业务数据采集延迟从之前的天级别,缩短到当前的秒级别;我们主要对T Dbank做了异构数据源适配,跨城公网
传输,数据高一致性保证,分布式消息队列等;目前T DBank每天收集的数据量接近10000亿条,这些数据主要输送给T DW和T RC,分别作离线分析和实时计算,可以说,这是我们成功支撑海量实时和离线处理的前提。
问:能不能和我们详细的介绍腾讯大数据平台具体模块的底层如何实现以及它们的作用?
蒋杰:刚才说到了腾讯大数据平台有如下核心模块:T DW、T RC、T DBank、T PR和Gaia。简单来说,T DW用来做批量的离线计算,T RC负责做流式的实时计算,T PR负责精准推荐,T DBank则作为统一的数据采集入口,而底层的Gaia则负责整个集群的资源调度和管理。
Gaia
Gaia的目标是实现更高效的资源调度,基于Yarn的通用资源调度平台,提供高并发任务调度和资源管理,实现集群资源共享、可伸缩性和可靠性,不仅可以为MR等离线业务提供服务,还可以支持实时计算,甚至在线service业务。
Gaia 技术特点:
强扩展性:支持单cluster万台规模 (已达到6000节点,14w+核,1250个pool)
高调度吞吐:毫秒级的下发效率(App并发3.5k,Container匹配时间0.2ms)
弹性内存管理:hardlimit+softlimit相结合充分利用整机资源
多维度资源管理:新增Network IO、Disk IO等资源管理维度,提升了隔离性
丰富的用户api:为业务提供更便捷的容灾、扩容、缩容和升级等方式
建立“on Gaia”生态圈:支持storm、spark、MR等各种应用
Gaia-应用情况:
上层业务包括MR 、Hive、PIG、Strom 、Spark等
为业务提供自动的容灾、资源管理与调度、权限管理、自动扩容缩容支持等
单集群8800节点,业内最大集群
T DBank
T DBank是从业务数据源端实时采集数据,进行预处理和分布式消息缓存后,按照消息订阅的方式,分发给后端的离线和在线处理系统。