HBase Rowkey设计

来源:互联网 发布:地暖品牌 知乎 编辑:程序博客网 时间:2024/06/03 21:35
Rowkey是不可分割的字节数,按字典排序由低到高存储在表中。

在设计HBase表时,Rowkey设计是至关重要的,应该基于预期的访问模式来为Rowkey建模。Rowkey决定了访问HBase表时可以得到的性能,原因有两个:
Region基于Rowkey为一个区间的行提供服务,并且负责区间的每一行;HFile在硬盘上存储有序的行。
这两个因素是相互关联的。当region将内存中的数据刷写为HFile时,这些行已经排过序,也会有序的写到硬盘上。

设计遵循三个原则:
Rowkey是以字典顺序从大到小排序,HBase默认是从小到大排序,可以通过Rowkey=Integer.MAX_VALUE-Rowkey来实现
Rowkey尽量散列,可以通过如下三种方式来实现:反转;散列;取指定数值的部分进行MD5加密,再进行拼接
Rowkey的长度尽量短

0 0
原创粉丝点击