你好,游客 登录 注册 搜索
背景:
阅读新闻

Hbase基础原理

[日期:2016-04-28] 来源:简书  作者: [字体: ]

发展历史

  • 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

    此处输入图片的描述

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

    此处输入图片的描述

  • HRegion虽然是分布式存储的最小单元,但并不是存储的最小单元。

    事实上,HRegion由一个或者多个Store组成,每个store保存一个columns family。

    每个Strore又由一个memStore和0至多个StoreFile组成。如图:

    StoreFile以HFile格式保存在GFS上

    此处输入图片的描述

系统架构

此处输入图片的描述

此处输入图片的描述

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的元数据信息,负载很低




收藏 推荐 打印 | 录入:elainebo | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款