专栏首页赵强老师个人专栏【赵强老师】HBase的体系架构
原创

【赵强老师】HBase的体系架构

一、什么是HBase?

HBase是一个基于HDFS之上的分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“BigTable大表”,即:把所有的数据存入一张表中。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

二、HBase的体系架构

HBase是由三种类型的服务器以主从模式构成的。这三种服务器分别是:HBase HMaster,Region server,ZooKeeper。

  • HBase HMaster负责Region的分配及数据库的创建和删除等操作。具体来说,HMaster的职责包括:
  1. HMaster负责region的分配。
  2. 调控Region server的工作
  3. 在集群启动的时候分配region,根据恢复服务或者负载均衡的需要重新分配region。
  4. 监控集群中的Region server的工作状态。
  5. 管理数据库。提供创建,删除或者更新表格的接口。
  • Region server负责数据的读写服务。用户通过沟通Region server来实现对数据的访问。

具体来说,RegionServer上存在若干个Region。HBase中的表是根据row key的值水平分割成所谓的region的。一个region包含表中所有row key位于region的起始键值和结束键值之间的行。每一个region的默认大小为1GB。集群中负责管理Region的结点叫做Region server。Region server负责数据的读写。每一个Region server大约可以管理1000个region。

  • ZooKeeper负责维护集群的状态(某台服务器是否在线,服务器之间数据的同步操作及master的选举等)。HBase中ZooKeeper的职责包含:
  1. 维护HBase服务器是否存活
  2. 监控HBase服务器是否可访问的状态
  3. 提供服务器故障/宕机的通知
  4. 同时还使用一致性算法来保证服务器之间的同步。
  5. 同时也负责Master选举的工作。
  6. 需要注意的是要保证良好的一致性及顺利的Master选举,集群中的服务器数目必须是奇数,例如三台或五台。

三、HBase的表结构

每一行有一个RowKey用于唯一地标识和定位行,各行数据按RowKey的字典序排列。其中ImployeeBasicInfoCLF和DetailInfoCLF是两个列族,列族下又有多个具体列。(员工基本信息列族:姓名、年龄。详细信息列族:薪水、角色)。

HBase数据模型

  • 命名空间:命名空间是对表的逻辑分组,不同的命名空间类似于关系型数据库中的不同的Database数据库。利用命名空间,在多租户场景下可做到更好的资源和数据隔离。
  • 表:对应于关系型数据库中的一张张表,HBase以“表”为单位组织数据,表由多行组成。
  • 行:由一个RowKey和多个列族组成,一个行有一个RowKey,用来唯一标示。
  • 列族:每一行由若干列族组成,每个列族下可包含多个列,如上ImployeeBasicInfoCLF和DetailInfoCLF即是两个列族。列族是列共性的一些体现。注意:物理上,同一列族的数据存储在一起的。
  • 列限定符:列由列族和列限定符唯一指定,像如上的name、age即是ImployeeBasicInfoCLF列族的列限定符。
  • 单元格:单元格由RowKey、列族、列限定符唯一定位,单元格之中存放一个值(Value)和一个版本号。
  • 时间戳:单元格内不同版本的值按时间倒序排列,最新的数据排在最前面

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

关注作者,阅读全部精彩内容

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【赵强老师】MySQL高可用架构:MHA

    MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failover ...

    赵强老师
  • 大数据和云计算技术周报(第103期)

    本文主要介绍MySQL + HBase 分别解决应用的在线事务问题和大数据场景的海量存储问题。

    大数据和云计算技术
  • 魅族技术晚场回顾,算法、架构、AI之外,还要考虑未来

    在7月7日ArchSummit深圳架构师峰会上,魅族联合InfoQ共同策划举办了第9期以“大数据和 AI 应用实践”为主题的魅族技术开放日活动。活动邀请了5位小...

    机器人网
  • 【生活现场】从洗袜子到HBase存储原理解析

    小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了。

    create17
  • 真能“穿墙识人”,MIT人体姿态估计系统创历史最高精度!

    新智元
  • CDA数据分析师与中国社科大经济学院签署战略合作框架协议

    10月26日,CDA数据分析师董事长赵坚毅访问社科大,并与中国社会科学院大学经济学院签署战略合作框架协议。社科大经济学院执行院长何辉、党委书记钟德寿出席仪式。双...

    CDA数据分析师
  • SDCC 2015架构专场札记:一线互联网公司的架构实践

    【编者按】11月21日,为期三天的SDCC2015中国软件开发者大会成功闭幕,主办方总计邀请了95余位演讲嘉宾,为参会者奉献了10个主题演讲,9大技术专场论坛(...

    CSDN技术头条
  • 医学+数据科学,必将大有可为 | 清华生物医学影像研究中心赵锡海

    在数据时代,相比于传统的统计学分析方法,使用数据科学领域的算法模型或图像识别等技术将能辅助医学专家提高医学研究效率和精准度。作为从始至终支持数据院在医疗健康大数...

    数据派THU
  • SD-WAN实战特训营北京首秀

    2018年12月15日,由未来网络学院主办的首届SD-WAN实战特训营于北京正式开班,吸引了来自运营商、科技公司及高校的36名学员参与。未来网络学院依托江苏省未...

    SDNLAB
  • (课程)基于HBase做Storm 实时计算指标存储

    Hi,大家好!我是祝威廉,本来微博也想叫祝威廉的,可惜被人占了,于是改名叫·祝威廉二世。然后总感觉哪里不对。目前在乐视云数据部门里从事实时计算,数据平台、搜索和...

    用户2936994
  • 0基础学习大数据,你需要了解的学习路线和方向?

    现在大数据这么火,各行各业想转行大数据,那么问题来了,该往哪方面发展,哪方面最适合自己?

    用户2292346
  • 大数据和云计算技术周报(第95期)

    物联网应用层协议主要有CoAP, MQTT, XMPP, HTTP等,本文主要从XMPP的架构,协议栈、协议的原理等方面介绍了XMPP协议。

    大数据和云计算技术
  • 「官宣」——微博瘫痪,新浪程序员哭苦我想开溜!

    我们都知道,在10月16号这一天,大家常玩微博的小伙伴都发现微博又陷入到了突然的瘫痪之中,这可是让大家急坏了。好多网友都说,明明就是想吃一下赵丽颖还有冯绍峰的瓜...

    Java知音
  • 大数据学习过程中需要看些什么书?学习路线

    很多朋友对大数据行业心向往之,却苦于不知道该如何下手。作为一个零基础大数据入门学习者该看哪些书?今天给大家推荐一位知乎网友挖矿老司机的指导贴,作为参考。

    用户2292346
  • 阵容又双叒叕升级!腾讯云最具价值专家开年喜迎大咖入驻

    TVP 是腾讯云在开发者生态建设中重要的一部分,在技术专家们的认可和帮助下,腾讯云致力打造云产品、技术专家与用户三位一体的交流平台,促进开发者生态的构建,实现“...

    TVP官方团队
  • HTC Vive鲍永哲:在高端需求方面探索更多可能性;京东赵刚:AR/VR未来将成为电商行业标配

    在2018 VRCORE上,我们采访了HTC Vive产品及策略副总鲍永哲、京东ARVR首席架构师赵刚。其分别就“5G+VR、HTC Vive的跨界合作、Viv...

    VRPinea
  • 杭州典型ToB技术公司商业模式分析

    按照我个人理解的商业模式优劣排序,挑选杭州本地几家典型ToB技术公司的商业模式分析如下:

    扶墙老师
  • 大数据和云计算技术周报(第91期)

    文章首先回顾了 HBase 的数据模型和数据层级结构,对数据的每个层级的作用和构架均进行了详细阐述;随后介绍了数据写入和读取的详细流程;最后介绍了老版本到新版本...

    大数据和云计算技术
  • 审稿意见的“so what”如何处理?

    “So what” (那又怎样)这句话,作为论文的反馈,在咱们之前的文章中就出现过。

    王树义

扫码关注云+社区

领取腾讯云代金券