Hbase中rowkey设计原则
1.rowkey长度原则:
(rowkey不宜过长)
建议不要超过16个字节(若rowkey长度过长,memorystore会将部分缓存数据存入内存降低内存利用率,降低检索效率,HFile进行数据持久化时也会极大影响存储效率);
2.rowkey散列原则:
设计目标:将数据均匀的分布在每个RegionServer,实现负载均衡,避免出现热点问题
热点问题解决:
加盐:在rowkey高几位随机生成一些字符串
hash取值:对rowkey取哈希值保证唯一性
反转:对rowkey进行反转 例:根据手机号进行话费查询(反转查询)
实例:三大运营商查询流量及话费
查询条件:手机号、业务类型、查询时间
3.rowkey唯一原则
原理:rowkey是按照字典顺序排序存储的,将经常读取的数据存储到一块