HBASE表设计

时间:2023-01-13 11:02:36

一,Hbase表设计概述

HBase的表设计将会直接影响Hbase表使用的效率和便利性,并且HBase的表的结构一旦确定下来之后,很难更改,所以HBase的表是需要设计的。HBase中的表设计,主要设计的是行键和列族

HBASE表设计

二,Hbase表中的列族设计

在设计Hbase表时,列族不宜过多,越少越好,官方推荐不要越过3个

经常要一起查询的数据不要放在不同的列族中,尽量减少跨列族的数据访问

如果真的要设计多个列族,要提前考虑列族数据不均匀的问题

三,Hbase表设计的行键的设计

Hbase表中行键是唯一标识一个表中行的字段,所以行键设计的好不好将会直接影响未来对Hbase的查询的性能和查询的便利性

行键设计的基本原则:

1,行键必须唯一标识数据

必须唯一才能唯一标识数据

2,行键必须有意义

这样才能方便数据的查询

3,行键最好是字符串类型

因为数量类型在不同的系统中处理方式可能不同

4,行键最好具有固定的长度

不同长度的数据可能 会造成自然排序时排序的结果和预期不一致

5,行键不宜过长

行键最多可以达到64KB,但是最好在10~100个字节之间,最好不要超过16字节,越短越好,最好是8的整数倍

行键设计的最佳实践:

1,散列的原则

行键的设计将会影响数据在hbase表中的排序方式,这会影响region切分后的结果,要注意,在设计行键时应该让经常要查询的数据分散在不同的region中,防止某一个或某几个regionserver成为热点。

2,有序的原则

行键的设计将会影响数据在hbase表中的排序方式,所以一种策略是将经常连续查询的条件作为行键最前面的数据,这样一来可以方便批量查询