欢迎投稿

今日深度:

HBase读书笔记,

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特性。

www.htsjk.Com true http://www.htsjk.com/hbase/41554.html NewsArticle HBase读书笔记, 读写首先根据rowid定位到reginserver:Zookeeper→-ROOT-→-META-→ReginServer -META-表中存储了Regionserver的region分区信息,如果某台Regionserver挂掉(通过Zookeeper感知),那么master可以...
相关文章
    暂无相关文章
评论暂时关闭