HBase读书笔记

读写首先根据rowid定位到reginserver:Zookeeper→-ROOT-→-META-→ReginServer

-META-表中存储了Regionserver的region分区信息,如果某台Regionserver挂掉(通过Zookeeper感知),那么master可以把托管在这台RegionServer上的regin分区分配到其他RegionServer上。

存储的最小单位是block,那么索引的最小单位也是block。

读缓存blockCache,写缓冲Memstore,都是针对一个列簇讲的。

读会查询blockCache,Memstore,HFile三个区域的信息。

写到WAL和Memstore后成功返回,当Memstore满的时候,有一个后台线程把memstore中的内容写到HDFS中形成一个HFile。为了提高读性能,会做小合并(部分HFile参与),大合并(一个列簇的所有HFile参与,这时候会把有delete标记的记录彻底清理掉)

HBase类似于聚簇索引表,而每个Region就是叶节点。另外Hbase只能保证行内事务,但是使用类似思想实现的分布式数据库(cobar)可是做到单台server内的事务。

HBase通过把一张表分散成不同的region保存在不同的RegionServer上,从而保证了表的容量可以无限扩展,HDFS的数据本地性保证了读写性能不会降低,replication保证了数据的安全性。但是牺牲了传统数据库的ACID特性。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值