《海量数据处理的大杀器:腾讯分布式数据仓库(TDW).ppt》由会员分享,可在线阅读,更多相关《海量数据处理的大杀器:腾讯分布式数据仓库(TDW).ppt(29页珍藏版)》请在三一办公上搜索。
1、海量数据处理的大杀器 腾讯分布式数据仓库(TDW),2012年7月,Agenda,腾讯公司的海量数据处理平台 腾讯分布式数据仓库(TDW)TDW的技术点分享 TDW技术发展展望,腾讯公司的产品,腾讯海量数据处理平台,统一采集,实时采集,离线采集,流式计算,海量存储&批量处理,分布式数据仓库(TDW),分布式计算平台(TDCP),BI分析库,统一分发,实时分发,批量分发,统一数据流工作流管理(USP),海量数据平台,产品,产品,Agenda,腾讯公司的海量数据处理平台 腾讯分布式数据仓库(TDW)TDW的技术点分享 TDW技术发展展望,TDW是什么,分布式数据仓库(TDW)Tencent dis
2、tributed Data Warehouse 腾讯海量数据处理平台的核心部件基于开源软件hadoop和hive,大量的优化和改造,TDW特性列表(部分),海量数据离线处理解决方案,TDW CORE,基于开源的hadoop和HIVE分层结构查询引擎计算引擎存储引擎进行深度定制,TDW BI分析库,BI分析库的重要补充做为TDW的结果库、展现库提供标准化数据接口提供小数据量精细分析提供update和delete功能提供即席查询功能SQL-MED,TDW统一调度平台(TDW USP),任务接入入库任务出库任务计算任务数据流转配置任务依赖关系配置任务重试和告警任务状态查询重做和补录任务,TDW集成开
3、发环境(TDW IDE),强大的PL编辑调试环境PL模版语法高亮自动格式化自动补全单步调试完善的SQL编辑调试环境语法高亮自动补全explain自动格式化SQL执行进度显示数据导入导出元数据视图,Agenda,腾讯公司的海量数据处理平台 腾讯分布式数据仓库(TDW)TDW的技术点分享 TDW技术发展展望,TDW的技术点分享,多数据存储格式 结构化存储+列存储+压缩ProtocalBuffer hash join 和 colocation 基于负载感知的公平调度策略 差异化多级存储策略分时计算框架数据库特性优化分区功能窗口函数规则系统,结构化存储+列存储+压缩,结构化存储 更高的存储和解析效率提
4、供了一些DB特性(获得表的行数,支持修改表结构)为随机访问提供基础设施列存储支持列簇存储大规模减小磁盘IO集群平均处理能力可得到1020倍的提升(与hadoop本身的文本存储相比)压缩采用lzo压缩,兼顾IO和CPU行存储压缩比1:2,列存储1:4平均节省集群60%的存储成本,ProtocalBuffer,PB优势 良好的协议扩展能力描述能力强、解析效率高编码格式节省存储空间 腾讯广告业务统一采用PB为存储协议,更多其他业务也开始逐步使用 TDW支持PB格式早于开源版本实现可根据接口文件自动创建表结构,hash join 和 colocation,hash join 90%的数据关联都是基于用
5、户id的实现了hash分区入库优化器自动使用hash join(join key=hash key)省略了reduce阶段,大大节省计算时间 Colocation修改了namenode的block摆放策略,使同一hash分区的数据存放在同一台机器上用一致性hash环存放hash分区数据基于colocation的hash join只需要访问本地磁盘即可完成计算,节省参与join计算总数据量80%网络IO hash操作性能提升3倍,基于负载感知的公平调度策略,调度策略的特点资源分组,保证重要用户得到资源保障用户隔离,保证用户之间不互相影响允许重要紧急的任务立即获得集群全部资源小任务友好,小任务不会
6、被大任务堵塞负载感知,不下发任务给内存/磁盘空间不足的子节点效果:集群稳定,总资源不变的情况下效率上升任务平均等待时长从24秒下降到19秒任务平均耗时降低10%集群CPU负载保持不变没有再出现过任务互相影响或者负载过高造成的故障,差异化多级存储策略,结构化压缩平均2倍的压缩率读写效率和存储空间平衡TDW中默认的压缩策略 差异化压缩平均5倍的压缩率可与结构化压缩混用主要针对TDW中的冷数据 差异化副本策略 hadoop raid 节约存储和不降低数据安全 更激进的副本策略 存储成本可有50%的节省,结构化压缩,差异化压缩,差异化副本策略,分时计算框架,问题提出 白天集群负载低 凌晨集群负载非常高
7、,集群压力大 无法按时完成计算任务 解决思路:将某一时间段的计算压力分散到全天 分时计算框架由框架完成分时计算,用户不感知,程序不需修改平峰填谷,集群资源得到充分利用,集群稳定性得到保证业务SLA得到更好保证,分区功能,CREATE TABLE test2(Key INT,Value STRING)PARTITION BY LIST(Key)SUBPARTITION BY RANGE(Value)(SUBPARTITION spart_2011april VALUES LESS THAN(20110501),SUBPARTITION DEFAULT)(PARTITION part_0_5 VA
8、LUES IN(0,5),PARTITION DEFAULT),支持类似Oracle的语法支持list、range、hash分区最多支持两级分区数据自动加载到对应分区支持显式分区优化和隐式分区优化,分析函数,什么是分析函数分析函数为每一行数据针对一组数据行计算出一个特定聚合值,主要用于解决很多统计方面的问题 分析函数实现框架 分析函数带来的优势提升TDW SQL表达能力提高TDW分析效率方便业务迁移Oracle应用 使用情况用户使用分析函数的频率约为join的1/3用户每月提交2000个左右的分析函数,select col1,col2,sum(col1)over(partition by co
9、l2 order by col3)from tbl where col30,规则系统,什么是规则系统准确地说是查询重写规则系统把查询修改为需要考虑规则的形式,然后把修改过的查询传递给查询规划器执行 视图的例子 可用来快速实现TDW新的语法视图CTERollup、Cube等,Agenda,腾讯公司的海量数据处理平台 腾讯分布式数据仓库(TDW)TDW的技术点分享 TDW技术发展展望,TDW技术发展展望,集群大规模化、提高稳定性NameNode高可用、高性能JobTrack高可用、高性能 下一代TDWTDW2.0,NameNode的演进,JobTracker的演进,下一代TDWTDW2.0,Execution Engine,Logical Analysor,Physical Analysor,Lexer/Parser,TDW2.0,更符合规范或事实规范的定义,大幅度加强代数优化,更全面的统计信息搜集和使用,更细致的物理优化规则,DAG,not MapReduce,进程池&中间结果不落地的小任务执行规则,精心优化实现细节,改进的shuffle sort实现,Data Cube,谢 谢!,