HBase系列:Store工作原理

Posted 菜鸟学大数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HBase系列:Store工作原理相关的知识,希望对你有一定的参考价值。

    基础,不用就忘了,Store尤其是,感觉之前也没有刻意去理解它的工作原理,所以这里简单总结一下。

    Region服务器是HBase的核心模块,而Store则是Region服务器的核心,我们知道,每个Store对应了表中的一个列族的存储,每个Store包含了一个MemStore缓存和若干个StoreFile文件。如下图:

    当用户写入数据时,会被非配到相应的Region服务器去执行操作,数据首先会被写入到MemStore和HLog中,但是MemStore的缓存容量是有限的,系统会周期性得调用Region.flushcache()把MemStore缓存里面的内容写到磁盘的StoreFile文件,并清空MemStore。这个过程会存在多个StoreFile文件,当需要访问Store中的某个值的时候,就必须查找所有这些StoreFile文件,非常耗时。所以HBase就就存在一个分裂和合并的问题。

    

    如上图:随着StoreFile文件数量的不断增加,当达到事先设定的数量时,就会触发文件合并操作,多个StoreFile文件会被合并成一个大的StoreFile文件。当多个StoreFile文件合并后,会逐步形成越来越大的StoreFile文件,当单个StoreFile文件大小超过一定阈值时,就会触发文件分裂操作。同时,当前的一个父Region会被分裂成两个子Region,父Region会下线,新分裂出的2个子Region会被Master分配到相应的Region服务器上。

以上是关于HBase系列:Store工作原理的主要内容,如果未能解决你的问题,请参考以下文章

HBase架构与工作原理

2021年大数据HBase(十四):HBase的原理及其相关的工作机制

2021年大数据HBase(十四):HBase的原理及其相关的工作机制

HBase存储读写等原理

HBase原理剖析

Hbase数据存储原理与读写详解