【大数据学习 | HBASE】hbase的整体架构

hbase的region存储原理图

首先我们看到hbase的组成分为两个大的部分 ,分别是hmaster和hregionserver主节点用于协调数据,regionserver用于真正的去管理表 ,其中regionserver 存在多个,他们共同协调管理全有的表,负载均衡,共同分摊压力 ,其中一个表会由一个regionserver进行管理,这样压力都会集中在一个regionserver中,并且查询速度会比较慢,那么为了并行操作查询效率升高一个表会分为多个部分分散在多个regionserver中进行管理,每个表会按照行进行拆分为多个region,一个region是一个表的横向切割的部分内容,所以一个表切割完毕以后会存在多个region部分,分别交给不同的regionserver进行管理一个region会包含一个表所有的列信息,然后这些信息会按照列族进行存储,一个region中存在多少个列族就会有多少个Store,一个store中又会存在一个memstore进行缓存客户端对于这个列族的所有操作,这个memstore的缓存部分写满以后会以文件的形式写到本地磁盘中,这个文件叫做storeFile,最后这个storeFile会写出到hdfs中以HFile的形式进行存储。

hbase的组件结构如下

HMaster

hmaster一般都是两台机器,使用zookeeper进行管理和协调

管理表操作,如:create、alter、drop;

管理HRegionServer的负载均衡,调整region分布;

region split后,负责新region重分布;

在HRegionServer停机后,负责失效的HRegionServer上region的迁移;

HRegionServer

真正干活的节点,一般会和datanode部署到一起

维护region,处理region的IO请求,如:put、get、scan、delete;

regionserver负责切分在运行过程中逐渐变大的region

Region

一个表会按照rowkey的范围进行行级别的分割,分割出来的一个部分就叫做region ,它是表的一部分数据,可以分散到不同的regionserver中进行管理,是一个表的最小负载均衡的单位
每个region都会记录自己的startkey和endkey的范围。

Store

每一个列族对应一个Store,一个Region里包含一个或者多个Store,由此在设计cf时,尽量将同一系列的数据存在一个列族中,便于同一系列的数据都存在同一个region中。

Hlog

hbase WAL(write ahead log) ,**在用户发起写请求时先向Hlog写一份,然后再将数据向memstore中写,Hlog数据是写磁盘,为了避免HRegionServer故障时memstore数据丢失,**Hlog滚动更新,新数据会加入会对应冲抵掉较早的Hlog数据。

Memstore

hbase写缓存 ,在用户发起写请求时先写入hlog,然后再写入memstore中,当memstore写入达到flush阈值时,将memstore中的数据写到hdfs上(hfile)每个列族对应一个memstore,即一个HStore/Store中只有一个memstore。

storefile

​ 当memstore写数据达到设定的阈值之后,会将数据溢写到hdfs,即storefile,内部存储hfile。storefile会进行合并,当storefile经过多次合并后变得已经达到指定规则的分裂阈值,则再进行region分裂。

相关推荐
阿坤带你走近大数据11 分钟前
DM达梦数据库的介绍
数据库·mysql·oracle·国产信创
周有贵31 分钟前
AI视角下广电转型新探索:GEO技术与金鹰卡通初步接洽,解锁传媒AI融合新可能
大数据·人工智能·传媒
2601_957786771 小时前
星链引擎矩阵系统:流批一体湖仓架构与亿级数据实时数仓技术实践
大数据·矩阵·架构
我科绝伦(Huanhuan Zhou)1 小时前
oracle linux8.8一键部署oracle 11g
数据库·oracle
2601_957786771 小时前
企业级内容矩阵全链路自动化运营技术实现与实践
大数据·矩阵·自动化
跨境卫士—小依1 小时前
低值包裹全面计税之后跨境卖家如何重做小额订单承接逻辑
大数据·人工智能·跨境电商·亚马逊·营销策略
噗噗121 小时前
企业微信 API 实操系列:构建全链路私域自动化增长体系
大数据·自动化·企业微信
数据库小学妹1 小时前
企业级数据库迁移实践:从Oracle到国产数据库的兼容性与实施策略
数据库·mysql·oracle·dba
六月雨滴1 小时前
Oracle 安全架构概述
数据库·oracle·dba·安全架构
迷藏4941 小时前
【无标题】
java·数据库·oracle