HBase基础

HBase基础

** HBase是Apache旗下一个高可靠性、高性能、面向列、可伸缩的分布式数据库。**

CAP理论

在这里插入图片描述
1.Consistency(一致性):数据一致更新,所有数据变动都是同步的。
2.Availability(可用性):良好的响应性能。
3.Partition tolerance(分区容错性):可靠性。
HBase存储结构

HBase采用key-value的形式存储数据,最基本的存储单位是列(column)。 表是由列族组成的,列族是由列组成的列是由key-value组成

空值不占用任何存储空间

每个region负责一定范围数据的读写和维护。这样即使一张巨大的表,由于被切割到不同的region,查询起来的延时也非常低。

每行都拥有唯一的行键(row key)来标定这个行的唯一性。row key是由用户通过自定义规则生成的一串不重复的字符串。所有的行按照row key的字典序进行排序存储。
时间戳

多个值之间使用版本号进行区分,默认是数据被添加时的时间戳
集群架构
在这里插入图片描述

MemStore是内存缓冲区

当MemStore的大小达到128M(hbase.hregion.memstore.flush.size)或者占用内存达到总内存的40%时会触发flush操作。

当StoreFile文件数量增长到3个后,会触发合并(Compact)操作

StoreFile在完成Compact操作后,体积会越来越大。当单个StoreFile的大小超过10G后,会触发分裂(Split)操作,把当前Region分裂成2个Region。新分裂出的Region 会被Hmaster迁移到其它的HRegionServer进行管理

HLog记录的日志数量达到32的时候,就会触发强制flush操作。
Hbase是由Client、Zookeeper、HMaster、HRegionServer和HDFS等几个组件组成,那么各自的功能如下:

Client:包含了访问HBase的接口,还有维护缓存加速HBase的访问。
Zookeeper:实现HMaster的高可用;监控HRegionServer的状态;存储.META.的地址。
HMaster:维护.META.;为HRegionServer分配Region;维护集群的负载均衡。
HRegionServer:处理客户端的读写请求;管理HMaster分配的Region。
HDSF:为HBase提供最终的底层数据存储服务。

HBase集群的启动和关闭

开启HBase集群: start-hbase.sh

关闭HBase集群: stop-hbase.sh

Shell

HBase Shell是HBase集群的命令行接口。
启用shell:hbase shell
create命令创建表:
create 'user', 'cf1'
list命令查看有哪些表:
list
describe命令来查看表属性:
describe 'user'
put命令来插入数据:
put 'user', 'rk0001', 'cf1:name', 'zhangsan'
scan来查看表数据:
scan 'user'
get来获取单元格数据:
get 'user', 'rk0001', 'cf1:name'
delete来删除单元格数据:
delete 'user', 'rk0002', 'cf1:age'
deleteall删除整行记录:
deleteall 'user', 'rk0001'
disable来停用表:
disable 'user'
启用表:
enable 'user'
drop删除表:
drop 'user'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值