aaa0557880
作者aaa0557880·2015-03-24 11:47
产品经理·TWT

从业务驱动和技术实现角度谈腾讯大数据

字数 2995阅读 1454评论 0赞 0

最近,腾讯大数据官方网站data.qq.com正式上线,引来业界的猜测和讨论,上线背后的含义是什么、大数据的创新应用模式有哪些、腾讯大数据平台的关键技术是什么......带着这些问题,笔者采访了腾讯数据平台部高级产品经理赵文昊和高级工程师赵伟。

启用data.qq.com这个重量级的二级域名,看起来像是一种战略层面的体现,能否解释其背后的过程和含义?

相比较其他互联网公司,腾讯在大数据方面发声较少,一直非常低调。然而外界对于腾讯大数据一向非常的关心和好奇,data.qq.com的出现就是为了解答外界对腾讯大数据的所有疑惑,并希望借此平台可以对外界分享腾讯相关的信息、技术以及产品,同时促进更多与外部的合作。

腾讯经过10余年的发展,在业务发展的同时,也在数据应用和平台能力方面积累了很多的经验,我们相信这其中会有许多对行业发展十分有益的地方,我们认为现在是一个很好的时机将其中的一部分回馈给行业。从去年开始,我们逐步将腾讯分布式数据仓库(TDW)等对社区进行开源,这是我们整体计划中的一部分。我们希望data.qq.com的上线可以有助于缩短我们与行业领先开发者/平台之间的沟通距离,期待更多具有创新和实际商业价值的合作案例可以延伸开来。

目前腾讯的大数据平台团队规模多大,其负责的业务范围包括哪些?

目前专门支撑该平台的团队规模共有200多人,分别在技术平台建设、数据挖掘算法应用、产品策划运营和质量保障等各领域上努力着。同时,腾讯各BG业务线的产品及技术运营团队也是腾讯大数据平台的一份子,共同为腾讯的大数据战略而战斗着。

现在很多企业的大数据平台都是服务于其核心业务,腾讯大数据官方网站的上线,是不是意味着腾讯的数据平台也逐渐走向前台,以产品的形式服务于更多的客户?

如前所说,我们认为现在是一个很好的时机,将我们多年来在数据领域摸爬滚打沉淀下来的在技术架构、产品应用等各方面经验回馈给行业,也很期待通过data.qq.com建立起与行业、社区的直接联系,催生更紧密、创新且具有商业价值的合作。在大数据应用页面可以看到,目前我们已经有许多基于大数据的应用,并以成熟的产品形态服务着我们外部的客户。未来我们会有更多基于大数据的To B和To C产品来面向外部的客户。

技术和业务是如何驱动腾讯大数据平台发展的?

从2009年我们开始自研腾讯分布式数据仓库(TDW),2011年正式发布上线到2013年初,TDW完成了对公司内部几乎全业务的覆盖。期间,随着业务对实时数据处理需求的不断增强,我们基于Storm又研发了腾讯实时计算平台TRC。与此同时,在数据接入方面我们研发了实时数据接入和分发系统TDBank,使得业务数据采集延迟从之前的天级别缩短到目前的秒级别。可以说,是腾讯的海量数据和业务不断提升的要求驱动我们成长为今天的规模,达到了8800台单集群服务器,10000亿日接入消息数,8.5PB日扫描数据量等业内引以为傲的体量。可以说我们从离线海量计算平台朝实时海量计算平台的发展是中国互联网行业在数据领域高速发展的一个缩影。

数据平台的技术架构是什么样的?设计思路是什么?

qq1.png

TDBank为整个平台提供数据接入功能,是数据平台部与其他业务数据交互的接口。TDBank大部分数据输送给了两大基础平台,TDW离线计算平台和TRC实时计算平台。除了TDW和TRC两大基础平台,我们还有tPG、HBase、Hermes这些平台来满足业务多样化的数据处理需求。整个平台还包含统一的集成开发环境,用来进行TDW和TRC上的业务开发;统一任务调度Lhotse,驱动和管理各种工作流;统一服务框架,对外公司内外提供高性能、跨语言、高可靠性的数据服务API。所有这些系统,都是通过Gaia进行资源调度和管理的,目前Gaia也支持Doker管理。

平台的设计思路是平台化、规模化、实时化、服务化。平台化是将业务由共性的需求,抽象出来,做成平台,例如针对业务的离线计算,我们建设了TDW平台;针对实时计算,我们建设了TRC平台。规模化是将我们的系统规模做大,以提升资源共享能力和运营效率。实时化是一个趋势,我们的系统一开始都是离线的,随着规模和稳定性的提升,我们会向准实时、实时演进,为业务带来更快速,时延更小的数据服务。服务化是我们在一个系统成熟时,我们会将它以API服务的方式,暴露给外部,让我们的系统与外部业务整合更容易。

对于海量数据的离线和实时接入和处理,腾讯数据平台分别采用了哪些系统?

TDBank主要负责海量数据离线和实时数据接入,它具备高可靠、高一致性、低延迟等特点,解决了异构数据源适配、公网传输、加密、分布式缓存等问题,目前数据平台部的大部分系统都是通过TDBank接入数据的。

我们离线数据处理使用TDW平台。TDW基于Hive、Pig、Hadoop、Spark等研发,支持SQL、Pig Latin、MR、SPARK等编程接口,为业务提供离线服务。

TRC是我们的实时数据处理平台。它基于JStorm,是我们使用Java重写的Storm版本。为了方便业务使用,我们为JStorm开发了SQL和Pig Latin语言接口,并且提供了集成开发环境。

能否详细介绍下几个关键系统的技术点?

归纳一下,主要有以下三方面的问题:

  1. 腾讯数据量“大”的问题,腾讯的用户和产品数量都比较多,数据量大,数据分析的复杂度高,对底层技术平台的要求自然很高。如此大量的数据和复杂的分析,每天要高效、稳定的在我们的数据平台上运行,对我们的平台技术有很大挑战。我们在系统的容灾、监控、问题处理与恢复做了大量工作,确保系统出现问题或者我们做重大变更时,对业务的影响尽可能的少。为了达到这个目标,在系统设计时,我们要做到无单点故障,所有的模块都是分布式的,我们现在基本上做到了。
  2. 开源软件的不可靠的问题,我们的很多系统是基于开源软件研发的。开源软件能快速搭建原型,但是真正在用的时候,会发现很多问题,有的问题可能只有腾讯这样的数据规模遇到。我们过去几年,花费了大量的人力物力,修复开源软件中的bug,优化它的性能,并基于腾讯的业务特点进行定制。
  3. 成本被挑战的问题,当我们的大数据系统成熟好用时,业务的数据存储和计算需求也开始暴增,由此带来的平台的成本压力也非常大,受到老板的挑战。平台在过去几年做了大量优化成本的工作,包括差异化压缩,使数据相对文本有20倍的压缩比,引入Hadoop Raid技术,使用估值算法代替精确计算节省计算资源等,使整个平台的单位成本,使整个平台的单位成本持续大幅度降低。

如何看待大数据技术的未来发展趋势?

大数据技术未来的发展大趋势是处理的数据量更大、处理逻辑更复杂、实时性要求更高、技术更迭更快。例如MapReduce技术虽然前几年很火,但是因为在一些场景下性能不高,使这些业务选择了Spark和DAG计算。相信随着大数据应用的丰富和深入,对基础平台的技术的要求会越来越高。我们也在不断关注和探索相关的大数据技术,持续创新,为大数据技术的进步做出贡献。


在未来的IT主流趋势中,云计算和大数据是一对双子星。相比云计算,大数据领域总是给人一种看不见摸不着但是用得着的感觉。腾讯大数据官网的上线是一种良好的开端,开发社区可以近距离地观察和理解大数据的实际应用和生态系统,至于如何搭上巨人的顺风车,则是“仁者见仁、智者见智”了。


如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广