著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:用心阁
链接:https://www.zhihu.com/question/26872988/answer/35186487
来源:知乎
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:用心阁
链接:https://www.zhihu.com/question/26872988/answer/35186487
来源:知乎
三个术语分别属于Hadoop家族中的HBase和HDFS,DateNode是HDFS的,HFile和region是HBase的,HBase是采用HDFS作为存储。
Data Node
Data Node是指HDFS集群中负责存储数据的服务器,与此相对的是Naming Node,参见:
<img src="https://i-blog.csdnimg.cn/blog_migrate/7633c514d4349599ff0a57f5a6c95061.webp?x-image-process=image/format,png" data-rawwidth="874" data-rawheight="604" class="origin_image zh-lightbox-thumb" width="874" data-original="https://pic4.zhimg.com/272b35a89da96d6ed24241d8c7ebb107_r.jpg">
(图片来源: HDFS Architecture Guide)
Region
Region是表按照RowKey范围划分的不同的部分,相当于DBMS中的分区。同时Region也是表在集群中分布的最小单位,可以被分配到某一个Region Server上。
<img src="https://i-blog.csdnimg.cn/blog_migrate/d6a878e15b639436cff1f92981b1fe34.jpeg" data-rawwidth="1500" data-rawheight="1125" class="origin_image zh-lightbox-thumb" width="1500" data-original="https://pic4.zhimg.com/73599131f5b647e6319d93e7aef10fcf_r.jpg">(图片来源: (图片来源: Transcript of HBase for Architects Presentation)
Region中又按照Column Famliy分为不同的Store,每个Store由MemStore和StoreFile组成。
<img src="https://i-blog.csdnimg.cn/blog_migrate/dcea6c48f315793e018f922b843758bb.jpeg" data-rawwidth="1500" data-rawheight="1125" class="origin_image zh-lightbox-thumb" width="1500" data-original="https://pic3.zhimg.com/2438cd1b138a6f2dd547356f85ef8d1e_r.jpg">
(图片来源: Transcript of HBase for Architects Presentation)
HFile
如上图所示,一个StoreFile对应着一个HFile。而HFile是存储在HDFS之上的。HFile文件格式是基于Google Bigtable中的SSTable,如下图所示:
<img src="https://i-blog.csdnimg.cn/blog_migrate/79c78ba174072fcec19e7e2ea235bad8.png" data-rawwidth="1600" data-rawheight="473" class="origin_image zh-lightbox-thumb" width="1600" data-original="https://pic3.zhimg.com/3441bb28765471219ddc34f2e7fc200a_r.jpg">(图片来源: (图片来源: Lineland: HBase Architecture 101)
整体上看
下面这张图中把DataNode,Region(HRegion)和HFile以及它们之间的关系都表示出来了。
<img src="https://i-blog.csdnimg.cn/blog_migrate/ba37cfd50987237521c0a8dfea898f12.png" data-rawwidth="1600" data-rawheight="809" class="origin_image zh-lightbox-thumb" width="1600" data-original="https://pic3.zhimg.com/ef9724265b9a2fc90eab38228bad1646_r.jpg">(图片来源:
Data Node
Data Node是指HDFS集群中负责存储数据的服务器,与此相对的是Naming Node,参见:
<img src="https://i-blog.csdnimg.cn/blog_migrate/7633c514d4349599ff0a57f5a6c95061.webp?x-image-process=image/format,png" data-rawwidth="874" data-rawheight="604" class="origin_image zh-lightbox-thumb" width="874" data-original="https://pic4.zhimg.com/272b35a89da96d6ed24241d8c7ebb107_r.jpg">
(图片来源: HDFS Architecture Guide)
Region
Region是表按照RowKey范围划分的不同的部分,相当于DBMS中的分区。同时Region也是表在集群中分布的最小单位,可以被分配到某一个Region Server上。
<img src="https://i-blog.csdnimg.cn/blog_migrate/d6a878e15b639436cff1f92981b1fe34.jpeg" data-rawwidth="1500" data-rawheight="1125" class="origin_image zh-lightbox-thumb" width="1500" data-original="https://pic4.zhimg.com/73599131f5b647e6319d93e7aef10fcf_r.jpg">(图片来源: (图片来源: Transcript of HBase for Architects Presentation)
Region中又按照Column Famliy分为不同的Store,每个Store由MemStore和StoreFile组成。
<img src="https://i-blog.csdnimg.cn/blog_migrate/dcea6c48f315793e018f922b843758bb.jpeg" data-rawwidth="1500" data-rawheight="1125" class="origin_image zh-lightbox-thumb" width="1500" data-original="https://pic3.zhimg.com/2438cd1b138a6f2dd547356f85ef8d1e_r.jpg">
(图片来源: Transcript of HBase for Architects Presentation)
HFile
如上图所示,一个StoreFile对应着一个HFile。而HFile是存储在HDFS之上的。HFile文件格式是基于Google Bigtable中的SSTable,如下图所示:
<img src="https://i-blog.csdnimg.cn/blog_migrate/79c78ba174072fcec19e7e2ea235bad8.png" data-rawwidth="1600" data-rawheight="473" class="origin_image zh-lightbox-thumb" width="1600" data-original="https://pic3.zhimg.com/3441bb28765471219ddc34f2e7fc200a_r.jpg">(图片来源: (图片来源: Lineland: HBase Architecture 101)
整体上看
下面这张图中把DataNode,Region(HRegion)和HFile以及它们之间的关系都表示出来了。
<img src="https://i-blog.csdnimg.cn/blog_migrate/ba37cfd50987237521c0a8dfea898f12.png" data-rawwidth="1600" data-rawheight="809" class="origin_image zh-lightbox-thumb" width="1600" data-original="https://pic3.zhimg.com/ef9724265b9a2fc90eab38228bad1646_r.jpg">(图片来源: