本期,我们采访的是腾讯TDW开源项目负责人、腾讯高级工程师赵伟。
赵伟,腾讯数据平台部高级工程师,腾讯大数据平台分布式数据仓库(TDW)的技术负责人,开源软件爱好者,是腾讯内部Hive、Pig、PostgreSQL、ZFS等开源技术的引入和推广者。目前主要负责TDW平台的稳定性、性能、易用性建设,同时负责TDW对外开源工作。
TDW,腾讯分布式数据仓库项目,在hadoop的基础上开发的腾讯内部最大的离线数据处理平台。TDW支持Oracle功能兼容的SQL语法,支持PB及的存储和TB及的计算等。
以下是采访记录。
CSDN:请简单的介绍一下TDW项目的应用场景。
赵伟:这个项目主要的应用场景是构建低成本的数据仓库。我们知道传统的数据仓库需要专用的硬件和昂贵的软件授权,使用TDW,可以基于廉价的PC Server构建数据仓库。我们希望通过开源的TDW,降低数据仓库的成本和建设门槛,促进企业对数据价值的发掘,提升国内企业的信息化水平。
CSDN:TDW历经4年研发,这四年间产品的设计思路和实现方式是否经历了什么变化?
赵伟:TDW在过去几年的设计思路一直是“开源软件”+“腾讯定制和优化”。使用开源软件,大大节省了我们的研发成本和时间,可以快速搭建起原型,比如TDW核心的查询引擎,是基于apache hive这个开源软件。但是仅仅使用开源软件,又不能完全满足腾讯的业务需求,因此,我们需要再开源软件基础上,根据腾讯的业务特点,进行定制和优化。在TDW的研发过程中,我们基于hive和hadoop,依次经历了数据仓库功能完善、易用性建设、高可用和稳定性加强,性能和成本优化,安全建设等定制和优化。
CSDN:TDW在“腾讯海量数据处理平台”中的位置及作用是怎样的?
赵伟:TDW是腾讯海量数据处理平台中最核心的模块,它有以下几个作用:
提供海量的离线计算和存储服务。TDW 是腾讯内部规模最大的离线数据处理平台,公司内大多数业务的产品报表、运营分析、数据挖掘等的存储和计算都是在TDW中进行。这是TDW提供的最基础的服务。
数据集中于共享功能。腾讯产品线较长,数据丰富,为了挖掘数据价值,经常需要访问多个产品的数据。TDW 是腾讯公司级的数据仓库,这里集中了大多数业务的数据,业务在这里可以方便的进行数据共享和管理。
TDW为其他大数据服提供基础和平台。这有两个含义,首先是TDW 对腾讯内部开放各种API接口,很多业务的数应用、数据处理平台可以基于TDW之上,由TDW提供最基础的存储于计算,业务在TDW之上定制个性化的数据产品。其次,TDW内存放了腾讯大量有价值的数据,对于这些数据,各个业务有可能有一些不同的需求,这些需求可以抽象出一些固定的数据服务,如海量数据点查询、快速多维分析、流式计算等,这些服务是TDW衍生出来的精细化的服务。
CSDN:作为一款分布式数据仓库,TDW的技术架构是怎样的?在TDW的设计和开发过程中最注重的是哪些部分?
赵伟:在架构上,TDW并没有对开源软件做大的修改。TDW的存储和计算,主要采用hadoop的HDFS和MapReduce,TDW的SQL查询引擎主要基于Hive。
TDW在研发的不同阶段,有不同的侧重点。在TDW研发开始那三年,我们主要对Hive进行定制和优化,使它更功能更丰富,更稳定,更易用。最近两年,我们为了支撑更大规模的集群,在hadoop层做了大量优化,主要包括hadoop的master分散化和高可用。
CSDN:与其他类似分布式数据仓库相比,TDW的优势是什么?
赵伟:与其他商业数据库比,当然是成本优势。与社区的hive+hadoop比,TDW包含了大量功能,稳定性和性能优化,并且经过了腾讯生产环境的验证。
CSDN:TDW今后的目标和开发计划是什么?
赵伟:我们的目标有两个:一个是使TDW运行效率更高,用户体验更好,包括将一些新的存储计算引擎引入到TDW中,提供更快速的查询分析响应;另外一个是更节省成本,我们将持续优化我们的存储策略和计算机模型,使TDW的运营成本计量下降。
接下来一段时间的开发计划大致有:
TDW对外部开源
TDW支持yarn
TDW支持shark、hbase等快速查询引擎
TDW SQL优化器优化
CSDN:您能否简单谈下您在本次大会上要分享的话题。
赵伟:我本次大会上的议题是《基于开源软件构建腾讯大数据平台》,希望跟大家分享TDW所使用的开源软件,以及基于之上的各种优化,以及TDW对外开源进展。