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

6 sec read

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

打赏作者
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

机器学习算法之决策树

什么是决策树 决策树(decision tree)是一种依托于策略抉择而建立起来的树。机器学习中,决策树是一个
8 min read

贝塞尔曲线学习笔记

什么是贝塞尔曲线 贝塞尔曲线的数学基础是早在 1912 年就广为人知的伯恩斯坦多项式。但直到 1959 年,当
46 sec read

KNN算法实战:验证码的识别

识别验证码的方式很多,如tesseract、SVM等。前面的几篇文章介绍了KNN算法,今天主要学习的是如何使用
3 min read

发表评论

电子邮件地址不会被公开。 必填项已用*标注