HBASE基本知识

1.HBase(NoSQL)的数据模型
1.1 (table),是存储管理数据的。
1.2 行键(row key),类似于MySQL中的主键。
    行键是HBase表天然自带的。
1.3 列族(column family),列的集合。
    HBase中列族是需要在定义表时指定的,列是在插入记录时动态增加的。
HBase表中的数据,每个列族单独一个文件。
1.4 时间戳(timestamp没设置的话默认当前时间戳),列(也称作标签、修饰符)的一个属性。
    行键和列确定的单元格,可以存储多个数据,每个数据含有时间戳属性,数据具有版本特性。
取数据时,如果不指定时间戳或者版本,默认取最新的数据。
1.5 存储的数据都是字节数组。
1.6 表中的数据是按照行键的顺序物理存储的。(mySql这种数据库是按照插入数据的先后顺序存储的)

2.HBase的物理模型
2.1 HBase是适合海量数据(如20PB)的秒级简单查询的数据库。
2.2 HBase表中的记录,按照行键进行拆分, 拆分成一个个的region。
    许多个region存储在region server(单独的物理机器)中的。
这样,对表的操作转化为对多台region server的并行查询。

3.HBase的体系结构
3.1 HBase是主从式结构,HMaster(主)、HRegionServer(从)
Master 可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行
        1.为Region server 分配region
        2.负责regionServer 的负载均衡
3.发现失效的region server 并重新分配其上的region(用于存储表中数据的)
Zookeeper
1.保证任何时候,集群中只有一个running master
2.存贮所有Region(存放表中一部分数据的) 的寻址入口
3.实时监控Region Server 的状态,将Region server 的上线和下线信息,实时通知给Master
4.存储Hbase 的schema,包括有哪些table,每个table 有哪些column family等元数据信息
 (为什么这些元数据信息不交给Master主节点存储?
 因为Master主节点可能宕机,如果将元数据存放在Master上,那么系统就不能运行了。
 而将元数据存储在Zookeeper上,宕机后由ZooKeeper启用其他的Master作为主节点,这样丝毫不影响元数据)

    hadoop的namenode如果宕机直接会导致系统不能运行,而HMaster由于有多个,所以当HMaster宕机的时候,

    ZooKepper会将另一个HMaster启用(同一时间只能有一个HMaster运行)




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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值