HBase中的缓存只要是指在HRegion server节点之上的cache缓存。一部分用来作为memstore,起作用主要是保存最近更新的部分数据以加快客户端响应;另一部分作为blockcache,主要用于读操作。
HRegion server会为其维护的每一个region提供一个memstore,用户的所有修改操作,首先将数据append到WAL日志,然后写到内存中的memstore中,然后就会给客户端确认修改成功。在默认情况下memstore的大小是64MB,当写到memstore中的数据大于64MB后,就会将其中的数据刷新到磁盘上持久化数据。
每一个HRegion server上都只有一个blockcache结构,主要是用于对storefile文件的读操作的优化:storefile文件是有hbase blocks著称的,block是hbase基础的I/O单元——每次读或写数据都是按block的大小操作的(默认64KB);blockcache是基于LRU算法的,服务器每次将读取的一个block数据块保存到blockcache结构,然后在blockcache的数据量达到上线阀值(
heapsize * hfile.block.cache.size * 0.85)后启动基于LRU算法的淘汰机制,将最老最不常用的block删除。
在HRegion server响应可以查询请求的时,首先会在memstore中查询匹配的数据,没有查到的话,再到磁盘上查询storefile中的数据,系统每次读取一个block,并将其放入blockcache如果在当前的block中读到匹配的数据则直接将结果返回给客户端;否则会接着读下一个block,直到将所属region中的数据读完,最后返回结果——查到匹配的数据或返回空。
另外需要注意的是,N * memstore + blockcache的大小总和不能大于给HRegion server配置的JVM heap堆内存的80%,否则服务器将启动不起来。
分享到:
相关推荐
hbase权威指南中文完整版pdf 12章+6附录
hbase权威指南源码
hbase权威指南,hadoop,spark,hbase设计,hbase权威指南-完整版
《hbase权威指南》探讨了如何通过使用与hbase高度集成的hadoop将hbase的可伸缩性变得简单;把大型数据集分布到相对廉价的商业服务器集群中;使用本地java客户端,或者通过提供了rest、avro和thrift应用编程接口的...
Hbase权威指南 随书源代码 源码包 绝对完整版 maven工程,带pom文件,可以直接作为一个完整工程导入eclipse等ide。
作为google bigtable架构的开源实现,hbase能够支持数以十亿计的记录数和数以百万计的字段,与此同时它还能够保证常量级的读写性能。很多it管理层正在质疑hbase。而这本书提供了很多有意义的答案,无论你是否正在...
HBase权威指南,完整高清版。本书探讨了如何通过使用与HBase高度集成的Hadoop将HBase的可伸缩性变得简单;
HBase权威指南中文版
《hbase权威指南》随书示例源代码.方便学习
《HBase权威指南》探讨了如何通过使用与HBase高度集成的Hadoop将HBase的可伸缩性变得简单;把大型数据集分布到相对廉价的商业服务器集群中;使用本地Java客户端,或者通过提供了REST、Avro和Thrift应用编程接口的...
hbase权威指南中文版hbase权威指南中文版hbase权威指南中文版 hbase权威指南中文版hbase权威指南中文版hbase权威指南中文版
Hbase 学习 资料 英文 Hbase权威指南 PDF
Hbase权威指南中文版 带目录 人民邮电出版社 Hbase权威指南中文版 带目录 人民邮电出版社
Hbase权威指南英文版
HBase权威指南(中文版) 高清指南,想要的可以看看,~~~
HBase权威指南中文版.pdf ,深入学习HBase
hbase权威指南英文原版,带有书签目录。