HBase的表的设计

六、HBase的表设计

        HBase表的设计 会直接影响hbase使用的效率 和 使用的便利性

        HBase表的设计 主要是 列族的设计 和 行键的设计

 

        1.列族的设计

                在设计hbase表时候,列族不宜过多,越少越好,官方推荐hbase表的列族不宜超过3个。

                经常要在一起查询的数据最好放在一个列族中,尽量的减少跨列族的数据访问。       

                如果有多个列族 多个列族中的数据应该设计的比较均匀

        2.行键的设计

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

                所以hbase中的行键是需要进行设计的

               

                行键设计的基本原则:

                        行键必须唯一

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

                        行键必须有意义

                                这样才能方便数据的查询

                        行键最好是字符串类型

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

                        行键最好具有固定的长度

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

                        行键不宜过长

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

               

                行键的最佳实践:

                        散列原则:

                                行键的设计将会影响数据在hbase表中的排序方式,这会影响region切分后的结果,

                                  要注意,在设计行键时应该让经常要查询的数据分散在不同的region中,防止某一个或某几个regionserver成为热点。

                        有序原则:

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

                                 这样一来可以方便批量查询

 

 

七、hbase案例

        用户表

                id     name       age  gender email

                001  zhang      19    男            [email protected]

                002  wang       20    男            [email protected]

        用户访问的网页                           

                host        viewtime content    userid

                www.baidu.com      2016-12-20     xxxx        001

                www.sina.com 2016-11-10      xxxx        001

                www.souhu.com     2016-11-09      xxxx        001

                www.baidu.com      2016-12-20     xxxx        002

                www.163.com         2016-12-20     xxxx        002

猜你喜欢

转载自blog.csdn.net/tryll/article/details/86533968
今日推荐