Hadoop实战之HBase

一、HBase简介
1、HBase--Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库
2、利用HDFS作为其文件存储系统,利用MapReduce来处理HBase中的海量数据、利用ZooKeeper来作为其分布式协同服务

3、主要用来存储非结构化和半结构化得松散数据



二、HBase体系结构
HBase的服务器体系结构遵从简单的主从服务器架构,它由HRegion Server群和HBasw Master Server构成。HBasw Master Server管理所有的HRegion Server,而HBase中所有的服务器都是通过ZooKeeper来进行协调并处理HBase服务器运行期间可能会遇到的错误。
1、ZooKeeper
--保证在任何时候,集群只有一个Master
--存储所有region的寻址入口
--实时监控HRegion Server的上线和下线信息,并通知Master
--存储HBase的schema和table元数据
2、HBase Master
--管理用户对Table的增、删、改、查操作
--管理HRegion服务器的负载均衡,调整HRegion分布
--在HRegion分裂后,负责新HRegion的分布
--在HRegion Server停机后,负责失效HRegion Server上的HRegion的迁移
3、HRegion Server
HRegion Server包含两大部分HLOG部分和HRegion部分
1)HLOG是用来存储数据日志,采用的是先写日志的方式(write-ahead log)
2)HRegion部分由很多的HRegion组成,每一个HRegion又由很多歌Store组成,每一个Store实际上存储的是一个列族下的数据,此外每个Store中包含一个MemStore和多个StoreFile。MemStore驻留在内存中,数据到来时首先更新到MemStore中,当达到一定阈值后在更新到对应的StoreFile中。当Store中StoreFile的数量达到一定阈值后将触发合并操作,将多个StoreFile合并成一个StoreFile。
    (Q:什么是HRegion
        A:HBase会自动把表水平划分成多个区域(HRegion),每个HRegion会保存一个表里面某段连续的数据;每个表一开始只有一个HRegion,随着数据的不断插入,HRegion会不断变大,当增大到某个阈值是,就会等分成两个新的HRegion,并由Master决定新的HRegion分布到哪个HRegion Server上)


三、HBase数据模型
HBase是一个类似Bigtable的分布式数据库,他是一个稀疏的长期存储、多维度的、排序的映射表。这张表的索引是行关键字、列关键字和时间戳。HBase中所有的数据都是字符串,没有类型。
1、列族和列
--HBase表中的每个列都归属于某个列族,列族必须作为表模式定义的一部分预先给出。如create 'test' 'course'
--列名以列族作为前缀,每个列族都可以有很多列成员;如course:math,course:english,新的列族成员可以随后按需、动态加载
--权限控制、存储和调优都是在列族层面进行的
--HBase把同一列族里面的数据存储在同一目录下,由几个文件保存
2、时间戳
--HBase每个cell存储单元对同一份数据有多个版本,根据唯一的时间戳来区分每个版本之间的差异,不同版本数据按照时间倒序排序,最新的数据版本排在最前面
--时间戳类型是64位整数
--时间戳可以由HBase(在数据写入时自动)赋值,此时时间戳是精确到毫秒的当前系统时间
--时间戳也可以由客户显式赋值,如果应用程序要避免数据版本冲突,就必须自己生成具有唯一性的时间戳
3、cell单元格
--由行和列的坐标交叉决定
--单元格是有版本的

--单元格的内容是未解析的字节数组,由{row key,column(=<family>+<qualifier>),version}唯一确定的单元。


参考资料:《Hadoop实战》

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值