腾讯有中国最全的社交数据,面对一个数据金矿,腾讯不可能坐视不理,腾讯基于hadoop研究了自己的大数据平台,最大的一个集群规模超过5600台。本文简单分析下腾讯的大数据平台的技术特点。
下面这个图是腾讯的技术架构图:
整个系统相对比较简单,主要有以下几大组件组成。
TDBank(Tencent Data Bank):数据实时收集与分发平台。将数据处理系统同数据源解耦,基于“发布-订阅”模型的分布式消息中间件,它起到了很好的缓存和缓冲作用,系统类似kafka,目前的资料不清楚,是否是kafka改造而来?
TDW(Tencent distributed Data Warehouse):腾讯分布式数据仓库。主要支持海量数据的的离线存储和计算,TDW集群总设备8400台,单集群最大规模5600台,总存储数据超过100PB,日均计算量超过5PB,日均Job数达到100万个。TDW是基于Hive优化的,主要是从易用性和性能上做了优化,HIVE的性能再优化针对小数据无能为力。所以后面腾讯研究方向是HBASE和spark。
TRC是基于开源的Storm深度定制的流式处理引擎,用JAVA重写了Storm的核心代码。为了解决了资源利用率和集群规模的问题,重构了底层调度模块,实现了任务级别的权限管理、资源分配、资源隔离。结果集存储在HBASE和Postgre中,用传统的Postgre主要是解决HADOOP update性能低的问题。
Gaia,名字挺吓人,实际上基于YARN,自研Sfair (Scalable fair scheduler)调度器,优化调度逻辑,提供更好的可扩展性,并进一步增强调度的公平性,提升可定制化,将调度吞吐提升10倍以上。
整个数据平台业务上主要支撑的有精准推荐,实时多维分析,秒级监控,腾讯分析、信鸽等。