大数据技术之HBase简介(1)

目录

HBase 简介

 HBase 定义

 HBase 数据模型

 HBase 逻辑结构

 HBase 物理存储结构

 HBase 基本架构


HBase 简介

 HBase 定义

Apache HBase™ 是一种分布式、可扩展的 NoSQL 数据库,它基于 HDFS 进行数据存储。

 HBase 数据模型

HBase 的设计理念源自 Google 的 BigTable 论文,采用类似的数据模型。

  • BigTable 数据模型简介:

    • Bigtable 是一个稀疏的、分布式的、持久的多维排序 map。
    • 映射由行键、列键和时间戳索引;映射中的每个值都是一个未解释的字节数组。
  • HBase 数据模型:

    • HBase 使用与 Bigtable 非常相似的数据模型。用户将数据行存储在带标签的表中。
    • 数据行具有可排序的键和任意数量的列。
    • 表存储稀疏,因此同一表中的行可以具有变化很大的列。
  • 关键特性:

    • 稀疏、分布式、多维、排序的映射。
    • 映射指代非关系型数据库的 key-value 结构。

 HBase 逻辑结构

HBase 可以用于存储多种结构的数据,以下是以 JSON 格式表示的一个例子:

{
  "row_key1":{
    "personal_info":{
      "name":"zhangsan",
      "city":"北京",
      "phone":"131********"
    },
    "office_info":{
      "tel":"010-1111111",
      "address":"lzl"
    }
  },
  "row_key11":{
    "personal_info":{
      "city":"上海",
      "phone":"132********"
    },
    "office_info":{
      "tel":"010-1111111" 
    }
  },
  "row_key2":{
    ...
  }
}

逻辑结构示例:

personal_infooffice_info
Row Keynamecityphone
row_key1张三北京131*****
row_key11上海132*****
row_key2王五广州
row_key3深圳187*****
...
  • 存储数据稀疏,数据存储多维。
  • 不同行具有不同的列。
  • 数据存储整体有序,按照 RowKey 的字典序排列。

 HBase 物理存储结构

物理存储结构:

Row KeyColumn FamilyColumn QualifierTimestampTypeValue
row_key1personal_infonamet1Put张三
row_key1personal_infocityt2Put北京
row_key1personal_infophonet3Put131*****
row_key1personal_infophonet4Put177*****
  • Timestamp: 不同版本(version)的数据根据 timestamp 进行区分,读取数据默认读取最新版本。
  • StoreFile: 物理文件。
  • Type: 对于删除操作,其类型为 DeleteColumn。

 数据模型

  • Name Space: 类似于关系型数据库的 database 概念,每个命名空间下有多个表。
  • Table: 类似于关系型数据库的表概念,定义表时只需要声明列族即可。
  • Row: HBase 表中的每行数据都由一个 RowKey 和多个 Column 组成。
  • Column: 每个列都由 Column Family(列族)和 Column Qualifier(列限定符)限定。
  • Time Stamp: 用于标识数据的不同版本。
  • Cell: 由{rowkey, column Family:column Qualifier, timestamp} 唯一确定的单元。

 HBase 基本架构

  • Master: 主要进程,负责监控 RegionServer 状态,管理元数据变化。
  • RegionServer: 负责数据 cell 的处理。
  • Region: 表被分割成多个 Region,由 RegionServer 管理。
  • Zookeeper: 用于 Master 的高可用、记录 RegionServer 的部署信息等。
  • HDFS: 提供底层数据存储服务和支持。

架构角色:

  • Master: 实现类为 HMaster,负责监控集群中的所有 RegionServer 实例。
  • Region Server: 实现类为 HRegionServer,负责数据 cell 的处理。
  • Zookeeper: HBase 通过 Zookeeper 来做 Master 的高可用、记录 RegionServer 的部署信息。
  • HDFS: 为 Hbase 提供最终的底层数据存储服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据深度洞察

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值