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

TDW HIVE使用现状

腾讯数据仓库TDW元数据重构方案_第1张图片

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

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

原因分析:

腾讯数据仓库TDW元数据重构方案_第2张图片

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

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

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

具体工作:

腾讯数据仓库TDW元数据重构方案_第3张图片

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

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

重构步骤三:分散化

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

腾讯数据仓库TDW元数据重构方案_第4张图片

上线效果展示

1、查询引擎负载

腾讯数据仓库TDW元数据重构方案_第5张图片

2、元数据库负载

腾讯数据仓库TDW元数据重构方案_第6张图片

3、元数据操作效率

腾讯数据仓库TDW元数据重构方案_第7张图片

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

Related posts:

  1. 给Ubuntu添加Windows及Mac字体
  2. Google Analytic 数据导出API接口
  3. Google Analytics 数据导出工具:Excellent Analytics

你可能感兴趣的:(技术,数据仓库)