Cell(单元格):
- 由{rowkey, column, version} 唯一确定的单元 。
- Cell 中的数据没有类型,全部是以字节数组进行存储 。
- 将数据存储在HDFS上,并利用Hadoop的MapReduce框架进行分布式计算,从而实现了高可扩展性和高并发性 。
- 这种数据存储方式使得HBase能够实现高速的随机读写功能 。
- 该算法通过内存和顺序写磁盘的方式,使得随机写入成为可能,同时还能保证读取效率 。
- 可以支持PB级别的数据存储和处理,从而满足大规模数据的实时处理需求 。

文章插图
HMaster:
- HBase集群的主节点,负责监控RegionServer,处理Region分配和负载均衡 。
- 管理 Region,处理对所分配Region的IO请求,Region是表的分片,由多个Store组成 。
- 维护HBase的运行状态信息,如Region分布信息等 。
- HMaster和RegionServer都依赖Zookeeper 。
- HBase表的分片,由一个或者多个Store组成,存储实际的表数据 。
- Store以Column Family为单位存储数据,主要组成是MemStore和StoreFile(HFile) 。
- 1个Column Family的数据存放在一个Store中 , 一个Region包含多个Store 。
- 内存存储,用于临时存放写数据,达到阈值后刷入StoreFile 。
- 数据会先写入到 MemStore 进行缓冲,然后再把数据刷到磁盘 。
- 通过内存 , 也加快了读写速度 。
- 磁盘上面真正存放数据的文件 。
- 用来持久化存储HFiles 。
一个 Store 里面只有一个 MemStore 。
一个 Store 里面有很多个 StoreFile, 最后数据是以很多个 HFile 文件保存在 HDFS 上 。
- StoreFile是HFile的抽象对象 。
- 每次 MemStore 刷写数据到磁盘,就生成对应的一个新的 HFile 文件出来 。

文章插图

文章插图
负载均衡HBase 官方目前支持两种负载均衡策略:
- SimpleLoadBalancer 策略和 StochasticLoadBalancer 策略 。
这种策略能够保证每个 RegionServer 的 Region 个数基本相等 。
假设集群中一共有 n 个 RegionServer,m 个 Region ,那么集群的平均负载就是 average = m/n 。
- 这种策略能够保证所有 RegionServer 上的 Region 个数都在 [floor(average),ceil(average)]之间 。
虽然集群中每个 RegionServer 的 Region 个数都基本相同,但如果某台 RegionServer 上的 Region 全部都是热点数据,导致 90 %的读写请求还是落在了这台 RegionServer 上,这样没有达到负载均衡的目的 。
推荐阅读
- steam怎么换区 steam两种转区方法介绍
- 郑梓妍扮演者是谁?郑梓妍扮演者钟晨瑶介绍
- 中秋节介绍 中秋节介绍英语作文
- 纸张种类 纸张种类大全介绍
- 水玻璃的特性及用途介绍 水玻璃的特性及用途
- 南京春节的风俗有哪些,南京人结婚风俗都有哪些介绍的详细些
- 电信星卡29元套餐介绍,电信星卡可以添加副卡
- 华为手表gt2功能介绍,华为手表gt2怎么设置
- 罗非鱼钓法介绍 罗非鱼如何钓
- Scylla数据库-高性能的分布式数据库
