腾讯分布式数据仓库项目,在Hadoop和hive的基础上开发的腾讯内部最大的离线数据处理平台。TDW支持Oracle功能兼容的SQL语法,支持PB级的存储和TB级的计算等。
这个项目主要的应用场景是构建低成本的数据仓库。我们知道传统的数据仓库需要专用的硬件和昂贵的软件授权,使用TDW,可以基于廉价的PC Server构建数据仓库。我们希望通过开源的TDW,降低数据仓库的成本和建设门槛,促进企业对数据价值的发掘,提升国内企业的信息化水平。
TDW在过去几年的设计思路一直是“开源软件”+“腾讯定制和优化”。使用开源软件,大大节省了我们的研发成本和时间,可以快速搭建起原型,比如TDW核 心的查询引擎,是基于apache hive这个开源软件。但是仅仅使用开源软件,又不能完全满足腾讯的业务需求,因此,我们需要再开源软件基础上,根据腾讯的业务特点,进行定制和优化。在 TDW的研发过程中,我们基于hive和hadoop,依次经历了数据仓库功能完善、易用性建设、高可用和稳定性加强,性能和成本优化,安全建设等定制和 优化。
TDW是腾讯海量数据处理平台中最核心的模块,它有以下几个作用:
提供海量的离线计算和存储服务。TDW是腾讯内部规模最大的离线数据处理平台,公司内大多数业务的产品报表、运营分析、数据挖掘等的存储和计算都是在TDW中进行。这是TDW提供的最基础的服务。
数据集中于共享功能。腾讯产品线较长,数据丰富,为了挖掘数据价值,经常需要访问多个产品的数据。TDW是腾讯公司级的数据仓库,这里集中了大多数业务的数据,业务在这里可以方便的进行数据共享和管理。
TDW为其他大数据服提供基础和平台。这 有两个含义,首先是TDW对腾讯内部开放各种API接口,很多业务的数应用、数据处理平台可以基于TDW之上,由TDW提供最基础的存储于计算,业务在 TDW之上定制个性化的数据产品。其次,TDW内存放了腾讯大量有价值的数据,对于这些数据,各个业务有可能有一些不同的需求,这些需求可以抽象出一些固 定的数据服务,如海量数据点查询、快速多维分析、流式计算等,这些服务是TDW衍生出来的精细化的服务。
与其他商业数据库比,当然是成本优势。与社区的hive+hadoop比,TDW包含了大量功能,稳定性和性能优化,并且经过了腾讯生产环境的验证。
在架构上,TDW并没有对开源软件做大的修改。TDW的存储和计算,主要采用hadoop的HDFS和MapReduce,TDW的SQL查询引擎主要基于Hive。
TDW是腾讯海量数据处理平台中最核心的模块,它有以下几个作用: 提供海量的离线计算和存储服务。TDW是腾讯内部规模最大的离线数据处理平台,公司内大多数业务的产品报表、运营分析、数据挖掘等的存储和计算都是在TDW中进行。这是TDW提供的最基础的服务。 数据集中于共享功能。腾讯产品线较长,数据丰富,为了挖掘数据价值,经常需要访问多个产品的数据。TDW是腾讯公司级的数据仓库,这里集中了大多数业务的数据,
组会基本内容 使用DTW构建时间序列 dtw算法介绍,假设存在两个时间序列Q与C,长度为n与m Q = q 1 , q 2 . . . Q=q_1,q_2... Q=q1,q2... C = c 1 , c 2 . . . C=c_1,c_2... C=c1,c2... 为了对齐这两个序列,我们需要构造一个n x m的矩阵网格,矩阵元素(i, j)表示qi与cj两个点的距离d(qi, cj
TDW是腾讯海量数据处理平台中最核心的模块,它有以下几个作用: 提供海量的离线计算和存储服务。TDW是腾讯内部规模最大的离线数据处理平台,公司内大多数业务的产品报表、运营分析、数据挖掘等的存储和计算都是在TDW中进行。这是TDW提供的最基础的服务。 数据集中于共享功能。腾讯产品线较长,数据丰富,为了挖掘数据价值,经常需要访问多个产品的数据。TDW是腾讯公司级的数据仓库,这里集中了大多数业务的数据,
前记: 刚刚打开csdn首页,一篇“腾讯大规模Hadoop集群实践”的文章占据了最显眼的位置。这让我想起前段时间看到的另外一篇文章:飞天5K 于是翻出来,仔细对比了下 1. 离线数据平台 TDW(Tencent distributed Data Warehouse)是腾讯最大的离线数据处理平台 ODPS(Open Data Processing Service)是阿里巴巴研发离线数据
本课题主要涉及以下几点: 1. 企业中常见的数据类型 2. 多结构化的数据的摄取/输出 Apache Log formats Custom log format Image format 3. NoSQL 数据的摄取/输出 MongoDB HBase 4. 结构化数据的摄取/输出 Hive RCFile Hive HCatalog 5. 半结构化数据的摄取/输出 raw XML binar
分布式支持 数据访问层支持分布式数据库,包括读写分离,要启用分布式数据库,需要开启数据库配置文件中的deploy参数: return [ // 启用分布式数据库 'deploy' => 1, // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '192.168.1.1,19
投的 Teg 云架构平台,结果被大数据捞了,一面就挂了。 一面 3.28 自我介绍 介绍冷存储项目 介绍阿里tianchi比赛 线程和进程区别,协程和线程区别? 页表实现 如果访问进程地址空间,在page table 中找不到,会发生什么? 做题 输入一串0和1组成的字符串。重新排列这个字符串使得任何一个字符都不是它前面两个字符的和。比如011就不满足,因为0+1=1。 010,110,111都是
一个成功的技术,现实的优先级必须高于公关,你可以糊弄别人,但糊弄不了自然规律。 ——罗杰斯委员会报告(1986) 在本书的第一部分中,我们讨论了数据系统的各个方面,但仅限于数据存储在单台机器上的情况。现在我们到了第二部分,进入更高的层次,并提出一个问题:如果多台机器参与数据的存储和检索,会发生什么? 你可能会出于各种各样的原因,希望将数据库分布到多台机器上: 可扩展性 如果你的数据量、读取负载、写
光速面试,周六投周日测评周一约面 面试官人很好 两数之和 给不懂编程的人讲线程和进程 线程的状态 实现同步的方法 synchronized和lock区别 让线程阻塞的方法 让java程序结束的方法 本地fork了代码,upstream更新了,应该怎么拉取(没答上) 最近做的项目 讲讲项目遇到的难点 感觉面试官找不到问的了,项目用的SpringBoot,mybatisPlus,shiro,vue,j
三道算法题,最后一个填空也是设计算法…… 两道二叉树一道字符串直接g
全程无八股 项目: 1、介绍你的工作内容 2、数据库构建过程 3、服务架构 4、如果一个业务很慢怎么办 5、微服务架构的选型 6、大数据处理的技术(不太会。。。。) 算法: 手撕 四则运算,一个string数组,{“1”,“+”,”4“,”/“,”6“,”*“,”2“}算结果(两个辅助栈) 反问: 还有几轮(最多一轮技术面+hr) 整体情况还可以 PS:流程现在显示复试,没有之前会议连接,是不是秒