1.在Client向region中写数据的整个过程中,Hlog和内存中的数据都是过渡的数据,当写入region成功后,Hlog里的数据和内存中数据会定时删除的,以防止内存不足.
一.LRU算法,HBase面向列读取数据很快原理
leastest recently used
二.HBase角色担当:
HMaster:
1.监控RegionServer
2.处理RegionServer故障转移
3.处理元数据的变更
4.处理region的分配或移除
5.在空闲时间进行数据的负载均衡
6.通过Zookeeper发布自己的位置给客户端
RegionServer
1.负责存储HBase的实际数据
2.处理分配给它的Region
3.刷新缓存到HDFS
4.维护Hlog,一个RegionServer对应一个Hlog
5.执行压缩
6.负责处理Region分片
三.HBase的常用操作
3.1进入HBase客户端命令操作界面
$bin/hbase shell
3.2查看帮助命令
help
3.3查看数据库中有哪些表
list
3.4创建一张表
create ‘student’,‘info’
3.5向表中存储一些数据
put ‘student’,‘1001’,‘info:name’,‘Thomas’
put ‘student’,‘1001’,‘info:sex’,‘male’
put ‘student’,‘1001’,‘info:age’,‘18’
3.6扫描查看存储的数据
scan ‘student’
scan ‘student’,{STARTROW => ‘1001’,STOPROW => ‘1003’}
3.7查看表结构
desc ‘student’
3.8更新指定字段数据
put ‘student’,‘1001’,‘info:name’,‘Nick’
put ‘student’,‘1001’,‘info:age’,‘100’
3.9查看指定行的数据
get ‘student’,‘1001’
查看指定行指定列或列族的数据
get ‘student’,‘1001’,‘info:name’
3.10删除数据
3.10.1 删除某一个rowKey全部的数据
deleteall ‘student’,‘1001’
3.10.2 删除掉某个rowKey中某一列的数据
delete ‘student’,‘1001’,‘info:sex’
3.11清空表数据
truncate ‘student’
3.12删除表
首先在删除表之前,要把状态变为disable状态
disable ‘student’
然后再删除表
drop ‘student’
3.13统计一张表有多少行数据
count ‘student’