Hbase读写流程
RowKey的设计原则
先回答RowKey是什么,再回答为什么要这样设计。
RowKey是什么?
rowKey是可以唯一标识一行数据,在Hbase中检索数据有以下三种方式
1、通过get的方式,指定RowKey获取唯一一条记录
2、通过scan的方式,设置startRow和stopRow进行范围搜索
3、全表扫描
RowKey设计
长度原则、散列原则、唯一原则
长度原则:RowKey的设置不宜过长,Hbase会缓存部分数据到内存当中,如果RowKey过程,占用的空间过大,内存的利用率就会降低。
散列原则:为了达到负载均衡的效果,我们应该让RowKey对应的数据均匀的分布在每个regionServer上。可以通过加盐的方式,加盐的方式有很多种,例如可以在RowKey前面加上随机数再将时间戳翻转,然后拼在一起。也可以利用Hash或者mod函数,目的其实只有一个,就是负载均衡
唯一性:RowKey就像数据库的组件Id一样, 唯一标识一条数据的
Hbase架构详解
RegionServer:存储region的位置,数据存在的地方,能够对过大的rigion块进行切分