腾讯分布式数据仓库 ( Tencent distributed Data Warehouse,简称TDW) 是腾讯基于开源软件研发的大数据处理平台,它基于Hadoop、Hive、PostgreSQL之上进行研发,历经4年多的研发和运营。目前,TDW已经开源。

腾讯分布式数据仓库(Tencent distributed Data Warehouse,简称 TDW),是腾讯工程技术事业群数据平台部基于开源软件研发的大数据处理平台,它基于Hadoop、Hive、PostgreSQL之上进行研发,并在开源软件的基础上做了大量的定制和优化。

目前,TDW是腾讯内部规模最大的分布式系统,集中了腾讯内部各个产品的数据,为腾讯的各个产品提供海量数据存储和分析服务,包括数据挖掘、产品报表、经营分析等服务。TDW作为腾讯首批对外开源软件,代码已经托管到CSDN CODE平台。

TDW代码托管地址: https://code.csdn.net/Tencent/tdw

项目讨论组,欢迎反馈与讨论: https://code.csdn.net/groups/751697

历时四年多的研发和运营,TDW依次经历了数据仓库功能完善、易用性建设、高可用和稳定性加强,性能和成本优化,安全建设等阶段。目前,TDW平台已经成熟,进入稳定运营阶段,机器总量达到8,000台以上,最大集群超过5,600个节点,覆盖腾讯90%以上的业务产品;TDW集成开发环境在腾讯内的总用户数约1500人,活跃用户数达到700以上,每日运行的分析SQL数达到100,000以上,每日SQL翻译成MR job数达到1000,000以上 。可以说,TDW是名副其实的“海量”系统。

图:TDW基于Hadoop、Hive、PostgreSQL研发

下面,我们为大家汇总了关于TDW的演示幻灯与报道文章,希望对大家深入了解TDW有所帮助。


【演讲幻灯】

1. 腾讯大数据基础平台介绍,赵伟

在5月17日,大数据开放日(深圳站)活动中,来自腾讯数据平台部的高级工程师、TDW技术负责人赵伟为大家详细介绍了腾讯大数据基础平台。

在面对海量数据、降低成本、稳定性要求提升、快速实现等现实的架构挑战要求下,打造一款具有核心技术,能够快速提升企业竞争力的大数据平台,刻不容缓,腾讯大数据基础平台也不断在实践中成型:

  • Gaia,基于Yarn的通用资源调度平台,提供高并发任务调度和资源管理,以实现集群资源共享、可伸缩性和可靠性;不仅可以为MR等离线业务提供服务,还可以支持实时计算,甚至在线服务业务。
  • TDBank,Tencent Data Bank,主要负责 从业务数据源端实时采集数据,进行预处理和分布式消息缓存后,按照消息订阅的方式,分发给后端的离线和在线处理系统;
  • TDW,Tencent distributed Data Warehouse, 腾讯分布式数据仓库,支持百PB级的数据存储和计算,为腾讯公司产品提供海量、高效、稳定的大数据平台支撑和决策支持;
  • TRC,Tencent Real-time Computing, 基于Storm在线消息流的实时计算模型,对海量数据进行实时采集、流式计算、实时存储、实时展示的全流程实时计算体系。

详情,可参阅演讲幻灯:

2. TDW与PostgreSQL数据互访问功能,李巍


TDW作为一个离线数据分析系统,在处理海量数据方面,通过并行计算,有很好的性能优势。但是想用一个大而全的系统解决所有问题一般也是不现实的,同样,TDW也有它的劣势,比如对小数据处理性能低,update/delete性能差、接口不丰富等。

因此,TDW引入了一个强大的开源数据库PostgreSQL,并对其做一些功能扩展,使之有访问TDW数据的能力;同时在TDW中开发了一种新的存储引擎——“pgdata存储引擎”,使得TDW具备读写PostgreSQL中的数据的能力。

详情,可参阅演讲幻灯:

3. TDW Protobuf存储格式功能介绍,马淑婧


Protobuf是Google提供的一个开源序列化框架,类似于XML、JSON这样的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多。虽然是二进制数据格式,但并没有因此变得复杂,开发人员通过按照一定的语法定义结构化的消息格式,然后送给命令行工具,工具将自动生成相关的类,可以支持Java、C++、Python等语言环境。通过将这些类包含在项目中,可以很轻松的调用相关方法来完成业务消息的序列化与反序列化工作。

Protobuf在Google中是一个比较核心的基础库,作为分布式运算涉及到大量的不同业务消息的传递,如何高效简洁的表示、操作这些业务消息在Google这样的大规模应用中是至关重要的。而Protobuf这样的库正好是在效率、数据大小、易用性之间取得了很好的平衡。

关于TDW支持Protobuf格式存储的情况,可参阅演讲幻灯:

4. TDW元数据重构方案和效果展示,肖品

面对大规模应用场景下HIVE暴露出来的问题,如HIVE进行内存占用高、GC频繁,元数据库接口性能下降,元数据库压力大、不堪重负等问题,TDW采取了对元数据重构,如去除ORM层,直接使用JDBC;优化应用层访问流程,细化元数据接口,使其按需获取;分散元数据为认证元数据与库表元数据等。经过上述一系列的优化后,线上响应速度得到明显提升。

5. 腾讯大规模Hadoop集群实践,翟艳堂

关于腾讯大规模Hadoop集群的实践,来自腾讯数据平台不的翟艳堂为我们进行了详细介绍。我们可以看下目前腾讯Hadoop集群容量的几个数字:

  • 服务器,5600台
  • CPU,10W+核
  • 内存,350TB
  • 磁盘,67200块
  • 存储容量,100PB

TDW开源:腾讯的分布式数据仓库相关推荐

  1. 大规模Hadoop集群实践:腾讯分布式数据仓库(TDW)

    TDW 是腾讯最大的离线数据处理平台.本文主要从需求.挑战.方案和未来计划等方面,介绍了TDW在建设单个大规模集群中采取的 JobTracker 分散化和 NameNode 高可用两个优化方案. TD ...

  2. 为数据赋能:腾讯TDSQL分布式金融级数据库前沿技术

    作者简介:李海翔,网名"那海蓝蓝",腾讯金融云数据库技术专家.中国人民大学信息学院工程硕士企业导师.著有<数据库事务处理的艺术:事务管理和并发访问控制>.<数据库 ...

  3. 为数据赋能 | 腾讯TDSQL分布式金融级数据库前沿技术

    点击蓝色字关注"数据库技术大会" 一起玩耍哦~ 作者简介 李海翔,网名"那海蓝蓝",腾讯金融云数据库技术专家.中国人民大学信息学院工程硕士企业导师.著有< ...

  4. 腾讯云分布式数据库TDSQL的十年自主可控之路

    3月12日,腾讯云全新发布自主可控金融业务支撑平台,该平台集中整合腾讯云在基础架构.数据库.大数据以及人工智能等技术场景中的优势能力,致力于帮助金融机构在数字化转型过程中构建全方位自主可控技术体系.其 ...

  5. 数据产品设计专题(5)- 分布式数据仓库技术架构

    一.分布式数据仓库技术架构 二.核心内容解读 (1)分布式数据仓库存储技术:hive+hdfs: (2)事实计算平台技术框架:spark: (3)数据挖掘算法技术框架:mllib + sparkR

  6. 嘉年华回顾丨 尚博带你了解腾讯 TXSQL如何 赋能腾讯云分布式数据库 CynosDB

    2020年数据技术嘉年华还有不到一个月,相信大家期待值也越来越高.数据技术嘉年华组委会在此精心为大家准备了"嘉年华回顾",挑选往届大会中热门的演讲.小编带大家回顾往届的高光时刻!场 ...

  7. 单集群10万节点 走进腾讯云分布式调度系统VStation

    云计算并非无中生有的概念,它将普通的单台PC计算能力通过分布式调度软件连接起来.其最核心的问题是如何把一百台.一千台.一万台机器高效地组织起来,灵活进行任务调度和管理,从而像使用单台机器一样方便地使用 ...

  8. 数据仓库Build The Data Warehouse(William H.Inmon)学习笔记 --- 第六章、分布式数据仓库

    零.简述 大部分企业建立和维护单一中央数据仓库环境.为什么单一中央数据仓库环境比较流行? 数据仓库中的数据全是企业集成的数据,仅在总部使用集成视图: 数据仓库中的大量数据使数据的单一的集中式存储具有意 ...

  9. 腾讯云分布式数据库TDSQL在东吴证券新一代核心交易系统中成功落地

    向大家报告好消息: 腾讯云分布式数据库TDSQL日前在东吴证券新一代核心交易系统中成功落地! ** 这是继在银行业率先打造首个传统核心国产数据库替换案例**后,腾讯云TDSQL在券商核心交易系统场景下 ...

最新文章

  1. Cocos2d-x 处理双击事件的两种方法
  2. C语言数组知识体系整理大学霸IT达人
  3. Unable to find the ncurses libraries or the required header files解决
  4. nivicat复制mysql数据库[Err] [Dtf] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'错误
  5. 您为了什么而学?【一入红尘深似海 勿负天下有心人】
  6. boost::gregorian模块实现以天为单位显示到新年的时间量的测试程序
  7. php添加开机启动脚本_centos 7.2 添加php7 的 php-fpm 开机启动
  8. 函数的命名空间以及作用域
  9. JS 给某个对象添加专属方法
  10. 机器学习工程师第一年的12点体会
  11. matlab 全部的随机数函数
  12. Centos7的 git: 未找到命令解决方法
  13. python爬取京东数据加载失败_Python爬取京东商品数据
  14. Unity游戏框架设计
  15. cacti监控部署——网络流量监控
  16. 【Linux学习笔记】38:有关Linux进程家族树
  17. Android基础四大组件详解
  18. K8S StatefulSet方式部署elasticsearch集群 —— 筑梦之路
  19. 摄像头Optical Center检测算法简单实现
  20. 用Python制作简单的小游戏

热门文章

  1. 怎样从Mac删除APFS卷?
  2. 执法记录仪提示内存不足时怎么办?快速解决方法
  3. Sofia-SIP辅助文档二四 - Sofia SIP用户代理库 - features特性模块
  4. Ubuntu16.04网络配置
  5. centos7挂载fat32格式u盘
  6. 微信小程序学习5:小程序语法-事件绑定之给事件传递参数
  7. 微信小程序下载视频文件wx.downloadFile下载资源失败
  8. linux 下录屏的软件
  9. hid设备驱动linux,Linux HID 驱动开发(2) USB HID Report 描述及usage 概念
  10. 人工智能之情感计算(Research Report of Affective Computing)