hbase高级知识

 

 

1 hbase行健设计

 

遵循规则: 唯一 ,有序, 可识别性 ,读写性能的最佳优化

这种优化级别从左到右,逐渐递减。

 

同时,rowkey基本是由多个字段共同构建而成,可以根据业务需求,将这些字段用不同分隔符来间隔

比如用   a|b:c

 

比如电商的这个:

产品编码+用途:_ : 多种分隔符  
时间戳_userID:djy
时间戳_userID:yhj

时间戳决定唯一有序, useID决定可识别,djy代金卷/yhj优惠卷 决定读写速度,因为用字母简写方式替代真实数据这样组成的rowkey会剪短,在大数据量下查询势必会减少IO.

 

rowkey补充:

rowkey是以字典顺序排序的。而存储的字节码,字典排序,我们知道,如果是字 母,那就是字母的顺序,比如,有两个rowkey,rowkey1:aaa222,rowkey2:bbb111,那么rowkey1是排在 rowkey2前面的,因为按字典,a排在b前面,如果rowkey2的第一位也是a,那么就根据第二位来比较,如果还相同,则比较第三为,后面同样.

我们在根据rowkey范围查询的时候,我们一般是知道startRowkey,如果我们通过scan只传startRowKey : d开头的,那么查询的是所有比d大的都查了,而我们只需要d开头的数据,那就要通过endRowKey来限制。我们可以通过设定endRowKey为:d 开头,后面的根据你的rowkey组合来设定,一般是加比startKey大一位。比如说rowkey设计为:用户ID-日期,那么查某个用户某天的数 据,startKEY为3231-20121212,endKey为:3231+201213,那么你查到的就是用户为3231在20121212这一天 的数据。

 

 

 

 

 

 

 

 

 

 


2 列族高级配置,表详细信息是怎样配置的,每一个是什么意思,是怎么配置的


3 hbase底层结构,region store(memorystore, storefile, hfile, hlog-walg)


4 集群管理 怎么管  为什么要进行合并


5 性能调优: 参数配置(默认的某些配置只适合测试,不适合生产)   客户端优化写代码的时候

 
6 机架感知  手动配置一个


7 二级索引的构建   以通过协处理器或者mr来实现二级索引

 

 

你可能感兴趣的:(hbase高级知识)