最近,腾讯大数据官方网站 data.qq.com 正式上线,引来业界的猜测和讨论,上线背后的含义是什么、大数据的创新应用模式有哪些、腾讯大数据平台的关键技术是什么......带着这些问题,笔者采访了腾讯数据平台部高级产品经理赵文昊和高级工程师赵伟。
InfoQ:启用 data.qq.com 这个重量级的二级域名,看起来像是一种战略层面的体现,能否解释其背后的过程和含义?
赵文昊:相比较其他互联网公司,腾讯在大数据方面发声较少,一直非常低调。然而外界对于腾讯大数据一向非常的关心和好奇,data.qq.com 的出现就是为了解答外界对腾讯大数据的所有疑惑,并希望借此平台可以对外界分享腾讯相关的信息、技术以及产品,同时促进更多与外部的合作。
腾讯经过 10 余年的发展,在业务发展的同时,也在数据应用和平台能力方面积累了很多的经验,我们相信这其中会有许多对行业发展十分有益的地方,我们认为现在是一个很好的时机将其中的一部分回馈给行业。从去年开始,我们逐步将腾讯分布式cangku.html" target="_blank">数据仓库(TDW)等对社区进行开源,这是我们整体计划中的一部分。我们希望 data.qq.com 的上线可以有助于缩短我们与行业领先开发者/平台之间的沟通距离,期待更多具有创新和实际商业价值的合作案例可以延伸开来。
InfoQ:目前腾讯的大数据平台团队规模多大,其负责的业务范围包括哪些?
赵文昊:目前专门支撑该平台的团队规模共有 200 多人,分别在技术平台建设、数据挖掘算法应用、产品策划运营和质量保障等各领域上努力着。同时,腾讯各 BG 业务线的产品及技术运营团队也是腾讯大数据平台的一份子,共同为腾讯的大数据战略而战斗着。
InfoQ:现在很多企业的大数据平台都是服务于其核心业务,腾讯大数据官方网站的上线,是不是意味着腾讯的数据平台也逐渐走向前台,以产品的形式服务于更多的客户?
赵文昊:如前所说,我们认为现在是一个很好的时机,将我们多年来在数据领域摸爬滚打沉淀下来的在技术架构、产品应用等各方面经验回馈给行业,也很期待通过 data.qq.com 建立起与行业、社区的直接联系,催生更紧密、创新且具有商业价值的合作。在大数据应用页面可以看到,目前我们已经有许多基于大数据的应用,并以成熟的产品形态服务着我们外部的客户。未来我们会有更多基于大数据的 To B 和 To C 产品来面向外部的客户。
InfoQ:大数据的产品和服务形式未来会有哪些创新和突破?
赵文昊:未来我们希望能够在健康医疗、征信金融、影视娱乐等方面有更多的大数据应用,从而改变目前传统行业粗放、低效的现状。大数据的核心在于海量信息处理带来的精准和预测,因此我们未来的产品一定也会紧紧围绕这两方面的能力去展开。
InfoQ:技术和业务是如何驱动腾讯大数据平台发展的?
赵文昊:从 2009 年我们开始自研腾讯分布式数据仓库(TDW),2011 年正式发布上线到 2013 年初,TDW 完成了对公司内部几乎全业务的覆盖。期间,随着业务对实时数据处理需求的不断增强,我们基于 Storm 又研发了腾讯实时计算平台 TRC。与此同时,在数据接入方面我们研发了实时数据接入和分发系统 TDBank,使得业务数据采集延迟从之前的天级别缩短到目前的秒级别。可以说,是腾讯的海量数据和业务不断提升的要求驱动我们成长为今天的规模,达到了 8800 台单集群服务器,10000 亿日接入消息数,8.5PB 日扫描数据量等业内引以为傲的体量。可以说我们从离线海量计算平台朝实时海量计算平台的发展是中国互联网行业在数据领域高速发展的一个缩影。
InfoQ:数据平台的技术架构是什么样的?设计思路是什么?
赵伟:数据平台部的技术架构如下图所示:
TDBank 为整个平台提供数据接入功能,是数据平台部与其他业务数据交互的接口。TDBank 大部分数据输送给了两大基础平台,TDW 离线计算平台和 TRC 实时计算平台。除了 TDW 和 TRC 两大基础平台,我们还有 tPG、HBase、Hermes 这些平台来满足业务多样化的数据处理需求。整个平台还包含统一的集成开发环境,用来进行 TDW 和 TRC 上的业务开发;统一任务调度 Lhotse,驱动和管理各种工作流;统一服务框架,对外公司内外提供高性能、跨语言、高可靠性的数据服务 API。所有这些系统,都是通过 Gaia 进行资源调度和管理的,目前 Gaia 也支持 Doker 管理。
平台的设计思路是平台化、规模化、实时化、服务化。平台化是将业务由共性的需求,抽象出来,做成平台,例如针对业务的离线计算,我们建设了 TDW 平台;针对实时计算,我们建设了 TRC 平台。规模化是将我们的系统规模做大,以提升资源共享能力和运营效率。实时化是一个趋势,我们的系统一开始都是离线的,随着规模和稳定性的提升,我们会向准实时、实时演进,为业务带来更快速,时延更小的数据服务。服务化是我们在一个系统成熟时,我们会将它以 API 服务的方式,暴露给外部,让我们的系统与外部业务整合更容易。
InfoQ:对于海量数据的离线和实时接入和处理,腾讯数据平台分别采用了哪些系统?
赵伟:TDBank 主要负责海量数据离线和实时数据接入,它具备高可靠、高一致性、低延迟等特点,解决了异构数据源适配、公网传输、加密、分布式缓存等问题,目前数据平台部的大部分系统都是通过 TDBank 接入数据的。
我们离线数据处理使用 TDW 平台。TDW 基于 Hive、Pig、Hadoop、Spark 等研发,支持 SQL、Pig Latin、MR、SPARK 等编程接口,为业务提供离线服务。
TRC 是我们的实时数据处理平台。它基于 JStorm,是我们使用 Java 重写的 Storm 版本。为了方便业务使用,我们为 JStorm 开发了 SQL 和 Pig Latin 语言接口,并且提供了集成开发环境。
赵伟:TDW 的关键技术点:
TDW 是我们研发时间最长的一个系统,从 2009 年开始到目前一直在演进。TDW 我们使用了 Hive+Hadoop 的架构,但是在运营过程中,我们做了大量优化。
在 Hive 方面,我们在功能扩充、易用性、性能、稳定性方面都做了大量优化:
我们改造过的 Hive,开源到腾讯外部,可以访问这里查看。
在 Hadoop 方面,我们在稳定性、性能、成本方面做了优化:
TRC 的关键技术点包括:
InfoQ:在大数据系统研发过程中,遇到过哪些难点,有什么解决的经验?
赵伟:归纳一下,主要有以下三方面的问题:
InfoQ:如何看待大数据技术的未来发展趋势?
赵伟:大数据技术未来的发展大趋势是处理的数据量更大、处理逻辑更复杂、实时性要求更高、技术更迭更快。例如 MapReduce 技术虽然前几年很火,但是因为在一些场景下性能不高,使这些业务选择了 Spark 和 DAG 计算。相信随着大数据应用的丰富和深入,对基础平台的技术的要求会越来越高。我们也在不断关注和探索相关的大数据技术,持续创新,为大数据技术的进步做出贡献。
编后语
在未来的 IT 主流趋势中,云计算和大数据是一对双子星。相比云计算,大数据领域总是给人一种看不见摸不着但是用得着的感觉。腾讯大数据官网的上线是一种良好的开端,开发社区可以近距离地观察和理解大数据的实际应用和生态系统,至于如何搭上巨人的顺风车,则是“仁者见仁、智者见智”了。
采访嘉宾
赵文昊,腾讯数据平台部高级产品经理。2011 年毕业于浙江大学,获得管理学和文学双学士学位。同年进入美国约翰霍普金斯大学深造,于 2013 年获得理学硕士学位。2014 年加入腾讯,负责腾讯大数据的产品设计和品牌营销。腾讯大数据官网 data.qq.com 的主导者和负责人,腾讯大数据报告的策划和负责人。
赵伟,腾讯数据平台部高级工程师。2009 年毕业于哈尔滨工业大学,同年进入腾讯数据平台部,从事腾讯分布式数据仓库 TDW 研发工作,先后主导了 TDW SQL 查询引擎、TDW 集成开发环境、tPG 等的研发项目 。专注于数据仓库的构建,致力于 Hive、Hadoop、PG 等在数据仓库中的应用。目前负责 TDW 平台功能、性能、易用性的规划及研发及分布式 PG 的研发工作。