Hbase基础原理

发展历史

  • HBASE是建立在HDFS上的高性能数据库系统
  • 通过ROWKEY和主键的range来检索数据
  • HIVE支持多表的复杂操作
  • 主要是横向扩展,通过增加廉价的服务器,来提高计算能力
  • 表名,行健,列组,列,值

HBASE中的行只支持三种方式访问

1.通过单个ROWKEY访问
2.通过ROWKEY的范围访问
3.全表扫描

注意ROWKEY在HBASE的内部保存为“字节数组”,一般长度为100左右的BYTES

  • HBase中通过row和columns确定的为一个存贮单元称为cell。每个cell都保存着同一份数据的多个版本
  • 不同版本的数据按照倒序排序,最新的排在最前面
  • 时间戳可以自动赋值,也可以由客户端显示赋值,时间精确到当前时间系统毫秒
  • 都是按照字节码形式存储(CELL中)
  • Table 在行的方向上分割为多个Hregion

    《Hbase基础原理》 此处输入图片的描述

  • region按大小分割的,每个表一开始只有一个region,随着数据不断插入表,region不断增大,当增大到一个阀值的时候,Hregion就会等分会两个新的Hregion。当table中的行不断增多,就会有越来越多的Hregion

    《Hbase基础原理》 此处输入图片的描述

  • Hregion是Hbase中分布式存储和负载均衡的最小单元。最小单元就表示不同的Hregion可以分布在不同的HRegion server上。但一个Hregion是不会拆分到多个server上的

    《Hbase基础原理》 此处输入图片的描述

  • HRegion虽然是分布式存储的最小单元,但并不是存储的最小单元。
      事实上,HRegion由一个或者多个Store组成,每个store保存一个columns family。
      每个Strore又由一个memStore和0至多个StoreFile组成。如图:
      StoreFile以HFile格式保存在GFS上

    《Hbase基础原理》 此处输入图片的描述

系统架构

《Hbase基础原理》 此处输入图片的描述
《Hbase基础原理》 此处输入图片的描述

ZOOKEEPER

1.保证任何时候。集群中只有一个MASTER
2.存储所有REGION的寻址入口
3.监控REGION SERVER,将其上线,下线的消息通知给MASTER
4.存储HBASE的图表,包括有那些TABLE,每个由那些列组(CF)

MASTER

 1.为region server分配region
 2.负责region server的负载均衡
 3.发现失效的regionserver并重新
 分配其上的region
 4.GFS上的垃圾文件回收
 5.处理schema(图表)更新请求

REGION SERVER

1 Region server维护Master分配给它的region,处理对这些region的IO请求
2 Region server负责切分在运行过程中变得过大的region
     可以看到,client访问hbase上数据的过程并不需要master参与(寻址访问zookeeper和region server,数据读写访问regione server),master仅仅维护者table和region的元数据信息,负载很低
    原文作者:WJustHM
    原文地址: https://www.jianshu.com/p/2ab000911fad
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞