Hbase知识点总结--持续更新

Hbase的基本介绍

hbase是建立在hdfs之上的一个数据库
不支持join等SQL复杂操作
支持的数据类型:byte[]
依靠横向扩展 一个表可以有上十亿行,上百万列
面向列族的存储和权限控制
对于为空(null)的列,并不占用存储空间,是一个稀疏表

Hbase适用场景

海量数据;精确查询;快速返回
海量数据指的是数据量的背景
精确查询指的是业务场景
快速返回指的是业务对时效性的要求

Hbase和Hadoop之间的关系

hdfs
	海量数据存储,适合一次性扫描大量数据
	适合一次写入多次读取
	不适合频繁的更新数据
hbase
	适用一次扫描少量数据
	适合多次写入多次读取
	支持数据更新
	支持删除数据

Hbase与RDBMS的关系

hbase:是一个开源的非关系型分布数据库
RDBMS:是关系型数据库管理系统
hbase
	不支持SQL查询
	不支持事务
	不支持join
RDBMS
	支持SQL查询
	支持事务
	支持join

Hbase详细架构

Client
	访问数据的入口,包含访问hbase的API接口,维护着一些cache(缓存)来加快对hbase的访问
Zookeeper
	Zookeeper的选举机制保证任何时候,集群中只有一个Master
	实时监控RegionServer的状态,将RegionServer的上线和下线的信息实时通知给Master
	存储hbase的schema(元数据)
	存贮所有region的寻址入口
Master
	为RegionServer分配region
	负责RegionServer的负载均衡
	发现失效的RegionServer并且重新分配其上的region
	处理schema更新请求
		master短时间下线,hbase集群依然可用,长时间不行
RegionServer
	RegionServer维护master分配给它的region,处理这些region的IO请求
	RegionServer负责切分在运行过程中变得过大的region

列族Column Family

列族是表schema的一部分,而列不是(schema包含表名和列族)
每个列都所属于某一个列族,一个列族可以包含多个列
一个列族与列的关系是一对多

时间戳

标记一个数据的不同版本,时间戳可以由hbase赋值(在数据写入时自动赋值)
hbase支持工程师自己定义时间戳,每个cell中,不同版本的数据按照时间倒序排序

Hbase本身提供数据回收机制

保存数据的最后N个版本
保存最近一段时间内的版本
</
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值