Hbase rowkey设计原则,热点问题

简介: Hbase rowkey设计原则,热点问题

正文


rowKey的作用


读写数据时通过 RowKey 找到对应的 Region;

MemStore 中的数据按 RowKey 字典顺序排序;

HFile 中的数据按 RowKey 字典顺序排序。


rowkey设计原则


唯一性:类似于MySQL、Oracle中的主键,用于标示唯一的行;

随机性:有效解决hbase热点问题,避免大量客户端只访问一个或几个节点;

长度设计:越短越好,8字节的整数倍利用了操作系统的最佳特性。如太长会影响HFile的存储效率;且MemStore将缓存部分数据到内存,内存的有效利用率会降低,检索效率低。


解决hbase热点问题


 即增加rowkey的随机性,常见一下三种做法:


反转:如手机号或者时间等,开始位相似性较高,手机号第一位都是1,结束位有一定随机性,做rowkey时反转即可

加盐:在rowkey前加随机数

hash处理:建议使用MD5


相关文章
|
存储 缓存 分布式计算
【Hbase】(十一)详解 HBase 表的设计原则
【Hbase】(十一)详解 HBase 表的设计原则
1712 0
【Hbase】(十一)详解 HBase 表的设计原则
|
SQL 分布式数据库 Apache
Hbase的二级索引和RowKey的设计
Hbase的二级索引和RowKey的设计
736 1
|
存储 缓存 负载均衡
Hbase的Rowkey设计以及如何进行预分区
今天有人问我Hbase的rowkey设计和预分区的问题,这篇文字就简单介绍一下.,关于Hbase的表的一些基本概念这里就不说了,直接说重点,尽可能说的简单一点,废话就不写了. 1.什么是Rowkey? 我们知道Hbase是一个分布式的、面向列的数据库,它和一般关系型数据库的最大区别是:HBase很适合于存储非结构化的数据,还有就是它基于列的而不是基于行的模式.
Hbase的Rowkey设计以及如何进行预分区
|
分布式数据库 索引 Hbase
《HBase应用与发展之HBase RowKey与索引设计》电子版地址
HBase应用与发展之HBase RowKey与索引设计
217 0
《HBase应用与发展之HBase RowKey与索引设计》电子版地址
|
分布式数据库 Hbase
|
存储 缓存 负载均衡
大白话彻底搞懂 HBase Rowkey 设计和实现方式
大白话彻底搞懂 HBase Rowkey 设计和实现方式
1438 0
大白话彻底搞懂 HBase Rowkey 设计和实现方式
|
存储 关系型数据库 Java
Hbase入门(四)——表结构设计-RowKey
Hbase的表结构设计与关系型数据库有很多不同,主要是Hbase有Rowkey和列族、timestamp这几个全新的概念,如何设计表结构就非常的重要。
981 0
Hbase入门(四)——表结构设计-RowKey
|
存储 缓存 分布式数据库
|
分布式数据库 Hbase
案例篇-HBase RowKey 设计指南
吴阳平 阿里巴巴 HBase 业务架构师
17364 0
|
9月前
|
分布式计算 Ubuntu Hadoop
Ubuntu22.04下搭建Hadoop3.3.6+Hbase2.5.6+Phoenix5.1.3开发环境的指南
呈上,这些步骤如诗如画,但有效且动人。仿佛一个画家在画布上描绘出一幅完美的画面,这就是你的开发环境。接下来,尽情去创造吧,祝编程愉快!
658 19