HBase

BigTable是在google的这个体系里面,基于GFS和mapreduce产生出来的nosql的一个原型系统。在开源社区中基于这个BigTable的设计思想还开发出了一系列的nosql原型,hbase就是在hadoop的社区里面对这种nosql的特性进行支持的一个例子,也是今天很多大数据的这个公司广泛使用的一个原型。那我们来看hbase

hbase特性

1.hbase使用了BigTable的设计思路,它很多设计的决策上和BigTable是一致的。

2.它是一个开源项目,有大量的开源社区的支持。

3.它的环境实际上是基于hadoop和Hdfs,所以说当你从hadoop迁移到从hadoop扩展到这个hbase的时候,是一个比较容易的操作,因为它底层的数据已经原本的在这个hdfs里面存在了。

4.从架构上来说,hbase的这个架构和BigTable的架构也是一致的。它也是由中心hmaster和边缘server叫做region server来组成的,client是一个聪明的客户端,通过一个叫做zookeeper的子系统,zoo keeper和chubby是对应的。他们管理了名字空间,管理了这个系统的一些枷锁和一些关键信息的保护。那么在这个region server里面,把数据抽象化成了叫做region的一个结构。region实际上和tablet是能够对应的,region是将一系列行的数据组织到连续的行的数据组织到一块,然后形成的这样一个概念。region在这里面也会被拆成很多的这种store,和SStable又能够对应的上。那么这些store就会通过它的store的文件和底层的HDFS分布式文件系统连接起来,能够得到存储得到读取以及得到后面的这种删除和修改。所以两个结构能够完全对应,底层在big table是分布式文件系统GFS;而在Hbase是HDFS。那么上层通过tablet和这边对应的HRegion能够对应起来。

这里写图片描述

5.整体上来说,如果理解了big table的特性,那么你可以把这些特性直接运用到分布式的hbase里面。而大家如果想要去理解big table它的一些具体的性能和它的这种局限性的话,也可以直接去通过bigtable它的论文来找得到。所以我们基本上可以用bigtable里面的这些策略,我们学习到的一些经验,来对hbase进行理解。

这里写图片描述

6.客户和bigtable进行交互的流程,在hbase里面,master server会去管理元数据信息,它涉及到的是和各个region server进行通讯,以及对于HDFS里面的数据进行操作。那么zookeeper和chubby对应管理的系统中的名字空间和一些关键的信息。

hbase原型的代码

这里写图片描述

1.往hbase里面插入数据;

2.创建一个表格;

3.把这个表格给列出来;

4.可以把往表格里的不同的行和不同某一个行和某一个列里面插入数据。可以反复进行。

5.可以对这个表格进行操作,比如说我们可以将表格里的这个数据进行一个scan进行列出,可以将表格进行一个删除(disable)之后,再进行drop,把表格进行一个删除的操作。

6.我们不需要去写分布式文件操作的一些代码,或者说是进行分布式文件的一个具体的读和写。而是通过像使用sql一样进行一个表格的创建,表格中数据源的一个插入,以及对表格进行其他的额外的这种操作。可以使用更加复杂的这种execution的代码来对表格的数据进行查,然后进行增,或者说进行删,来满足大家的业务需求。

summary

HBase是基于Google BigTable模型开发的,典型的key/value系统


test

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值