大数据基础之Hbase

一、为什么需要Hbase

Hbase是BigTable的开源实现,是基于列的分布式数据库,具备高可靠、高性能、可伸缩等技术优势,主要用来存储非结构化和半结构化的松散数据。

Hadoop为什么要设计这么一个Hbase分布式数据库呢?

虽然Hadoop已经有了MapReduce和HDFS,但是Hadoop主要还是为了解决大规模数据离线批处理,因此Hadoop是没有办法满足大数据实时处理的需求。随着这些年数据的大规模爆炸式增长,传统关系型数据库的扩展能力有限,受到了非常大的挑战。

二、数据坐标概念

传统的关系型数据库的定位:

只要通过一个行一个列这两个维度就可以确定一个唯一的数据。excel表格就类似于关系型数据库。

Hbase对数据的定位:

1、采用四维坐标来对数据定位;

2、必须确定行键、列族、列限定符、时间戳,来对数据定位;

3、Hbase是一个键值(KV)数据库;

Hbase访问接口,提供了一个原生的Java API,可通过shell命令、thrift gateway方式、rest gateway方式来访问。可以通过PIG、hive来提供类似SQL类型的接口。

三、Hbase的功能组件

1、库函数,用于连接每个客户端;

2、Master 服务器,用来充当管家的作用;

3、Region服务器,负责存储不同的region。每个分区表会被分为多个region,每个region运行在region服务器上。

第一层:zookeeper文件,记录了-root表的位置信息,root表写死在zookeeper里面。

第二层:-root-表,记录了META表的region位置信息,-root表只能存在一个region里面,不会再分裂了。通过-root-表就可以访问meta表中的数据。

第三层:.meta.表,记录了用户数据表的region位置信息,meta表可以有多个region,保存了Hbase中所有用户数据表的region位置信息。

为了加快访问速度,.meta.表的全部region都会被保存在内存中。 

Hbase并不直接跟磁盘打交道,而是通过HDFS进行数据存储:

Master服务器的作用:

1、对表增删改查;

2、负责不同region服务器的负载均衡;

3、负责调整分裂、合并后region的分布;

4、负责重新分配故障、失效的region服务器;

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值