HBase-行键设计

1.用户可以指定行键检索一行数据,可有效减少查询时间。

2.设定列族可减少查询的存储文件。

3.存储文件(store file)中每个单元格都保存了时间戳,
  所以用户如果查询近一两个小时修改过的单元格,
  HBase会跳过例如只包含4小时前数据的存储文件。

4.列限定符(column qualifier)查询,查询时指定特定的咧或定义过滤器包含或排除某个列。
  由于系统需检查每个传到过滤器的KeyValue,所以性能只有小幅提升。

5.值筛选,最广泛,用户只能使用过滤器在服务器端筛选值。
  系统需检查每个单元格,也只能小幅提升性能。

在这里插入图片描述

6.HBase高表与宽表
  高表指多行少列,宽表指少行多列;
  高表性能更好;因为按照行键查询更快,并且HBase只能按行分片。
  
7.但问题:若数据一行很长,一个HFile存不下
  解决:分开存成多行。

宽表:行键=userId
在这里插入图片描述
高表:行键=userId+messageId
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41227335/article/details/86302566