腾讯数据仓库TDW元数据重构方案

标签: 技术 数据仓库 | 发表时间:2014-11-16 22:29 | 作者:标点符
出处:http://www.biaodianfu.com

TDW HIVE使用现状

hive

大规模应用场景下HIVE暴露出的问题

  • HIVE进程内存占用高,GC频繁
  • 元数据接口性能下降(秒级->分钟级)
  • 元数据库压力大,不堪重负
  • HIVE进程间各个session容易相互影响
  • HIVE出现session卡死现象
  • 其他

原因分析:

hive-1

  • 元数据库单点问题
    • 性能瓶颈
    • 无法扩展
  • ORM层带来的各种问题
    • 算法复杂度较高
    • 数据结构占用内存大
    • 高并发下容易发生死锁和死循环
    • 映射产生的表结构复杂
    • 有序数据结构
  • HQL Translator层
    • 元数据接口粗放
    • 访问流程不合理
  • Zookeeper依赖

重构步骤一:去除ORM层,直接使用JDBC

  • 优点:定制化的表结构和访问流程,简洁高效的获取元数据
  • 缺点:实现复杂,维护和使用困难

具体工作:

work

重构步骤二:应用层访问流程优化

  • 元数据接口细化,按需获取
  • 消除对有序数据结构的依赖
  • 去除去Zookeeper分布式锁的依赖
  • 元数据重用和缓存

重构步骤三:分散化

  • 职责分离:认证元数据 + 库表元数据
  • 1 global db + N segment db
  • 以HIVE db为单位分发
  • 一致性hash,扩容方便

hive-2

上线效果展示

1、查询引擎负载

1

2、元数据库负载

2

3、元数据操作效率

3

参考链接:http://share.csdn.net/slides/4216

相关 [腾讯 数据仓库 tdw] 推荐:

Protobuf在腾讯数据仓库TDW的使用

- - 标点符
protobuf是google提供的一个开源序列化框架,类似于XML、JSON这样的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多. 虽然是二进制数据格式,但并没有因此变得复杂,开发人员通过按照一定的语法定义结构化的消息格式,然后送给命令行工具,工具将自动生成相关的类,可以支持java、c++、python等语言环境.

腾讯数据仓库TDW元数据重构方案

- - 标点符
大规模应用场景下HIVE暴露出的问题. HIVE进程内存占用高,GC频繁. 元数据接口性能下降(秒级->分钟级). 元数据库压力大,不堪重负. HIVE进程间各个session容易相互影响. HIVE出现session卡死现象. 高并发下容易发生死锁和死循环. HQL Translator层. 重构步骤一:去除ORM层,直接使用JDBC.

大规模Hadoop集群在腾讯数据仓库TDW的实践

- - 标点符
随着业务的快速增长,TDW的节点数也在增加,对单个大规模Hadoop集群的需求也越来越强烈. TDW需要做单个大规模集群,主要是从数据共享、计算资源共享、减轻运营负担和成本等三个方面考虑. TDW之前在多个IDC部署数十个集群,主要是根据业务分别部署,这样当一个业务需要其他业务的数据,或者需要公共数据时,就需要跨集群或者跨IDC访问数据,这样会占用IDC之间的网络带宽.

腾讯TDW:大型Hadoop集群应用

- - 服务器运维与网站架构|Linux运维|X研究
PS:TDW是腾讯最大的离线数据处理平台. 本文主要从需求、挑战、方案和未来计划等方面,介绍了TDW在建设单个大规模集群中采取的JobTracker分散化和NameNode高可用两个优化方案. TDW(Tencent distributed Data Warehouse,腾讯分布式数据仓库)基于开源软件Hadoop和Hive进行构建,打破了传统数据仓库不能线性扩展、可控性差的局限,并且根据腾讯数据量大、计算复杂等特定情况进行了大量优化和改造.

数据仓库

- Ran - Linux@SOHU
翻译:马少兵、曾怀东、朱翊然、林业. 尽管服务器存储、处理能力得到有效的提高,以及服务器价格的降低,让人们能够负担起大量的服务器,但是商业软件应用和监控工具快速的增加,还是使得人们被大量的数据所困扰. 在数据仓库领域中的许多系统管理员、应用开发者,以及初级数据库管理员发现,他们正在处理“海量数据”-不管你准备与否-都会有好多不熟悉的术语,概念或工具.

数据仓库概念

- - 互联网 - ITeye博客
数据仓库:是一个数据库环境,它提供用户用于决策支持的当前和历史数据,这些数据在传统的数据库中不方便得到. 特点:面向主题,集成的,相对稳定的,反应历史变化的. 组成:数据仓库的数据库,数据抽取工具,元数据,访问工具,数据集市,数据仓库管理,信息发布系统. 数据挖掘:就是从大量数据中获取有效的,新颖的,潜在有用的,最终可理解的模式的过程.

大数据仓库-kudu

- - 数据库 - ITeye博客
数据仓库里面存储引擎是非常重要的,存储引擎的好坏,基本决定了整个数仓的基础. cloudera公司最近发布了一个kudu存储引擎. 按照cloudera的想法,kudu的出现是为了解决,hbase,parquet不能兼顾分析和更新的需求,所以需要一个新的存储引擎可以同时支持高吞吐的分析应用以及少量更新的应用.

数据仓库的设计与开发

- - 数据库 - ITeye博客
     数据仓库系统的设计与开发. 1)       收集和分析业务需求.   用户需求,管理人员需求. 2)       建立数据模型和数据仓库的物理设计.   概念模型,逻辑模型,物理模型. 3)       定义数据源. 数据源面向应用,不是面向主题,而且数据源之间存在多个不一致的情况,所以必须在已有的系统中定义记录系统(内容正确,在多个数据源间起决定作用的操作型数据源).

oracle数据仓库设计指南

- - 数据库 - ITeye博客
ODS(Operational Data Store)是数据仓库体系结构中的一个可选部分,ODS具备数据仓库的部分特征和OLTP系统的部分特征,它是“面向主题的、集成的、当前或接近当前的、不断变化的”数据.     一般在带有ODS的系统体系结构中,ODS都设计为如下几个作用:. 1 )    在业务系统和数据仓库之间形成一个隔离层.

[原]数据仓库元数据管理

- - oycn2010的专栏
元数据管理, 简单的做就是EXCEL结合版本管理等传统工具管理, 专业点就用专门的元数据管理工具;. 数据字典--> 数据知识库. 业务元数据,技术元数据,管理元数据. 参照:SAP元数据管理平台:按业务(角色)分类,按技术类型分类(特征,关键值,DSO,InfoCube),数据流程图. 按照传统的定义,元数据(Metadata)是关于数据的数据.