所谓数据热点, 指的是大量的数据写到hbase的某一个或者某几个region中, 导致其余的region没有数据, 其他region对应regionServer的节点承受了大量的并发请求, 此时就出现了热点问题

解决方案: 通过预分区和设计良好的rowkey来解决

--加盐处理(加随机数) : 可以在rowkey前面动态添加一些随机数, 从而保证数据可以均匀落在不同region中
基本保证数据落在不同region
将相关性比较强的数据分散在不同的额region中, 导致查询的效率有一定降低
--hash处理: 根据rowkey计算其hash值, 在rowkey前面hash计算值即可 (MD5 HASH)
让相关性比较强的数据可以被放置到同一个region中
如果相关数据比较多, 依然会导致热点问题
--反转策略: 比如说手机号反转 或者 时间戳的反转
好处: 基本保证数据落在不同region
弊端: 将相关性比较强的数据分散在不同的region中, 导致查询的效率有一定降低

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐