HBase是什么

HBase是什么,第1张

HBase是什么

文章目录
  • Hbase是什么
    • 1、非关系型数据库与关系型数据库的对比
    • 2、Hbase逻辑存储结构
    • 3、Hbase物理存储结构
    • 4、数据模型
    • 5、Hbase基本架构

Hbase是什么

Hbase(Hadoop Database)是一种分布式、可扩展、支持海量数据存储的NoSQL数据库

  • 分布式:通过zookeeper进行管理,提供高可用;
  • 可扩展:Hbase基于HDFS,因此继承了HDFS的可扩展性;
  • 支持海量存储:这也是(HDFS)可扩展性带来的;
1、非关系型数据库与关系型数据库的对比

Mysql是典型的关系型数据库,通过行列规整的存放在系统中,一次增加一整行或者删除一整行。

非关系型数据库,直接针对于一个字段。通过KV对的形式,直接对指定字段的值进行 *** 作。其中K为ROWKEY,全局唯一。V为字段的值。

以上为个人直观理解比较浅显,下面对Hbase的逻辑结构进行详细说明。

和关系型数据库相比,Hbase能够轻松应对字段变更的场景(下面有说明)。

2、Hbase逻辑存储结构

Hbase逻辑结构主要由列族,列,RowKey,Region和Store等组成。它们之间的关系如下:

列族是对多个列的整体统称,因此列与列族之间是属于的关系,一个列只能属于一个列族。

RowKey是全局唯一,相当于主键。

Store是多条数据(RowKey)的一个列族的数据构成。

Region是多条数据(RowKey)的所有列族的数据构成。或者多条数据(RowKey)的多个Store组成。

3、Hbase物理存储结构

4、数据模型
  • Name Space

    类似于Mysql中的database,其中可以包含多张表。Hbase两个自带的命名空间,分别是hbase和default,hbase中存放的是Hbase内置的表,default表是用户默认使用的命名空间。

  • Table

    Hbase定义表时只需要声明列族即可,不需要声明具体的列。这意味着,往Hbase写入数据时,字段可以动态、按需指定。因此,和关系型数据库相比,Hbase能够轻松应对字段变更的场景。

  • Row

    Hbase表中的每行数据都由一个RowKey和多个Column(列)组成,数据是按照RowKey的字典顺序存储的,并且查询数据时只能根据RowKey进行检索。

  • Column

    Hbase中的每个列都由Column Family(列族)和Column Qualifier(列限定符)进行限定。建表时,只需指明列族,而列限定符无需预先定义。

  • Time Stamp

    用于标识数据的不同版本。

  • Cell

    由=={rowkey, column Family:column Qualifier, time Stamp}==唯一确定的单元。cell中的数据全部是字节码形式存贮。

5、Hbase基本架构

  • Region Server

    是Region的管理者,其实现类为HRegionServer。主要作用:对数据进行get、put、delete;对Region进行splitRegion、compactRegion。

  • Master

    是所有RegionServer的管理者,其实现类为HMaster。主要作用:对表进行create、delete、

    alter;对RegionServer的 *** 作:分配regions到每个RegionServer,监控每个RegionServer的状态,负载均衡和故障转移。

  • Zookeeper

    实现Hbase的高可用,RegionServer的监控、元数据的入口以及集群配置文件的维护。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5696095.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存