设为首页 加入收藏

TOP

HBase中冷热数据处理以及资源分配解决方案
2019-04-29 01:46:11 】 浏览:69
Tags:HBase 冷热 数据处理 以及 资源分配 解决方案
版权声明: https://blog.csdn.net/KamRoseLee/article/details/84070551
资源紧张的情况下如何保证最近写入数据查询
现状 使用云主机,硬件层面不可控,只能从软件和设计角度去考虑了
优化手段 优化原理 说明
将(Long.MAX_VALUE – timestamp)加到rowkey 如果最近写入HBase表中的数据是最可能被访问的,可以考虑将时间戳作为row key的一部分,由于是字典序排序,所以可以使用Long.MAX_VALUE – timestamp作为row key,这样能保证新写入的数据排在最前面,在读取时可以被快速命中。 快速命中,较少IO,查询也就快
适当减少memstore的flush 写数据先写入memstore,超多大小才flush到磁盘,可以把阈值适当调大,使刚写入的热数据在内存里待一会,增大缓存命中率,同时也降低了写磁盘的次数 阈值不能太大,否则flush比较慢
hbase.regionserver.global.memstore.upperLimit
使用堆外内存做二级缓存(blockcache) 热数据不容易被淘汰,命中率高,有一定的效果 LRU
不能以单次读写论英雄
云主机没有配ssd,也无法使用二级缓存
按天建表+最近时间段常驻内存
(设置将冷数据表关闭blockcache,留更多缓存空间给热数据)
按时间段建表,比如按天,当天的可以常驻内存,其余的动态设置为不常住内存; 具体时间段怎么界定有待讨论,不到万不得已不建议时间段搞得很小
按天建表+当天适当增大副本 副本数越多,数据本地性就越强,查询会变快 副本数不能过多,占用大量存储;冷数据可以降副本以缓解整体存储的占用
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇如何用Phoenix(4.14版本)映射HBas.. 下一篇mr任务之从多个Hbase表中读取数据..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目