Hbase入门与使用

Hbase是一个分布式的数据库,它的主要作用为海量数据的存储和海量数据的准实时查询。Hbase的应用十分广泛,在交通、金融、电商、移动等行业均有涉足。Hbase有如下几个特点:容量大列式存储多版本扩展性稀疏性高性能可靠性Hbase的架构体系和设计模型服务架构体系1、hbase的主要进程:master、regionserver2、hbase所依赖的两个外部的服务:zookee...
摘要由CSDN通过智能技术生成

        Hbase是一个分布式的数据库,它的主要作用为海量数据的存储和海量数据的准实时查询。Hbase的应用也十分广泛,在交通、金融、电商、移动(电话信息)等行业均有涉足。

一、Hbase特点:

1、容量大
        HBase单表可以有上百亿行、百万列,数据矩阵横向和纵向两个维度所支持的数据量级都非常具有弹性。
2、列式存储
        HBase是面向列的存储和权限控制,并支持独立检索。列式存储,即数据在表中是按照某列存储的,这样在只需要查询少数几个字段的时候,能大大减少读取的数据量。
3、多版本
        HBase每一个列的数据存储有多个版本(version)。
4、扩展性
        底层依赖于HDFS。
5、稀疏性
        为空的列并不占用存储空间,表可以设计的非常稀疏。
6、高性能
        底层的LSM数据结构和Rowkey有序排列等架构上的独特设计,使得HBase具有非常高的写入性能。region切分、主键索引和缓存机制使得HBase在海量数据下具备一定的随机读取性能,该性能针对Rowkey的查询能够达到毫秒级别。
7、可靠性
        WAL机制保证了数据写入时不会因集群异常而导致写入数据丢失;Replication机制保证了在集群出现严重的问题时,数据不会发生丢失或损坏。而且HBase底层使用HDFS,HDFS本身也有备份。

!!LSM数据结构:

        LSM树全称是基于日志结构的合并树(Log-Structured Merge-Tree)。No-SQL数据库一般采用LSM树作为数据结构,HBase也不例外。众所周知,RDBMS一般采用B+树作为索引的数据结构,如图1。RDBMS中的B+树一般是3层n路的平衡树。B+树的节点对应于磁盘数据块。因此对于RDBMS,数据更新操作需要5次磁盘操作(从B+树3次找到记录所在数据块,再加上一次读和一次写)。
图1
        在RDBMS中,数据随机无序写在磁盘块中,如果没有B+树,读性能会很低。B+树对于数据读操作能很好地提高性能,但对于数据写,效率不高。对于大型分布式数据系统,B+树还无法与LSM树相抗衡。

        LSM树可以看成n层合并树。在HBase中,它把随机写转换成对memstore和hfile的连续写。图2展示了LSM树数据写的过程。
图2
        数据写(插入,更新):数据首先顺序写如hlog (WAL), 然后写到MemStore, 在MemStore中,数据是一个2层B+树(图2中的C0树)。MemStore满了之后,数据会被刷到storefile (hFile),在storefile中,数据是3层B+树(图2中的C1树),并针对顺序磁盘操作进行优化。
        数据读:首先搜索MemStore,如果不在MemStore中,则到storefile中寻找。
   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值