HBase学习的一些笔记

1、ROWKEY的设计原则

       三大原则:rowkey长度原则、rowkey散列原则、rowkey唯一原则。
       如何设计:1)生成随机数、hash、散列值;2)字符串反转;3)字符串拼接。

2、HBase宕机如何处理

       宕机分为HMaster宕机和HRegionServer宕机。
       (1)HRegionServer宕机:HMaster会将其所保管的region重新分配到其他活动的Region Server上,由于数据和日志都持久存储在HDFS上,该操作系统不会导致数据丢失,所以数据的一致性和安全性是有保证的。
       (2)HMaster宕机:HMaster没有单点问题,HBase中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行。即Zookeeper会保证总会有一个HMaster在对外提供服务。

3、Hive和HBase的区别

共同点: HBase和Hive均是架构在Hadoop中的,都是用Hadoop作为底层存储。
区别: (1)Hive是建立在Hadoop上为了减少MapReduce Job编写工作的批处理系统,HBase是为了支持弥补Hadoop对实时操作的缺陷的项目。
(2)Hive本身不存储和计算数据,他完全依赖于HDFS和MapReduce,Hive中的表纯逻辑。且Hive是借用Hadoop的MapReduce来完成一些Hive命令执行。
(3)HBase是物理表,不是逻辑表,提供一个超大的内存hash表,搜索引擎通过它来存储索引,方便查询操作。
(4)Hive需要用到HDFS存储文件,需要用到MR计算框架。

4、HMaster和HRegionServer职责

HMaster:(1)管理用户对表的增删改查操作;(2)记录Region在哪台RegionServer上;(3)在Region切分后,负责新Region的分配;(4)监控每个RegionServer的状态,负载均衡以及故障转移。
**HRegionServer:**主要进行DML操作,是Region的管理者,对数据可以进行增删改查,对Region进行切分或者合并。

5、HRegion与列族的关系

       HBase有多个RegionServer,每个RS中又有多个Region,一个Region又分为多个Stroe,每个Store对应着表中的一个列族,在HDFS上则对应着一个目录/文件夹,如果列族中没有数据,那这个文件夹为空。
       如果是要经常搜索一整条数据,列族越少越好,如果只有一部分数据经常被搜索,那么就将经常搜索的建立一个列族,其他不常搜索的建立一个列族,这样检索较快。

6、HBase的物理模型

(1)Name Space
       命名空间,类似于关系型数据库的DataBase概念,每个命名空间下有多个表,HBase自带两个命名空间,hbasedefault,hbase中存放的是hbase内置的表,default表示用户默认使用的命名空间。
(2)Region
       类似于关系型数据库中表的概念,HBase中表在行的方向上会被切分为多个HRegion,它是按照大小切割的。在定义时只需要声明列族就可以,不需要声明具体的列。
(3)ROW
       每一行数据都由一个RowKey和多个Column组成,数据是按照RowKey的字典顺序存储的,并且查询数据时只能根据ROWKEY进行检索。
(4)Column
       HBase中的每个列都由CF(列族)和Column Qualifier(列限定符)进行限定,例如info:name,info:age。建表时,无需先设定列限定符,只需指明列族。
(5)Time Stamp
       用于标识数据的不同版本,每条数据写入时,如果不指定时间戳,系统会自动为其加上该字段,其值为写入HBase的时间。
(6)Cell
       由{RK,CF,列限定符,时间戳}唯一确定的单元,Cell中的数据是没有类型的,全部是字节码形式储存。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值