全网最详细的大数据HBase文章系列,强烈建议收藏加关注!

新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点。

目录

系列历史文章

前言

Hbase数据模型

术语:


系列历史文章

2021年大数据HBase(十七):HBase的360度全面调优

2021年大数据HBase(十六):HBase的协处理器(Coprocessor)

2021年大数据HBase(十五):HBase的Bulk Load批量加载操作

2021年大数据HBase(十四):HBase的原理及其相关的工作机制

2021年大数据HBase(十三):HBase读取和存储数据的流程

2021年大数据HBase(十二):Apache Phoenix 二级索引

2021年大数据HBase(十一):Apache Phoenix的视图操作

2021年大数据HBase(十):Apache Phoenix的基本入门操作

2021年大数据HBase(九):Apache Phoenix的安装

2021年大数据HBase(八):Apache Phoenix的基本介绍

2021年大数据HBase(七):Hbase的架构!【建议收藏】

2021年大数据HBase(六):HBase的高可用!【建议收藏】

2021年大数据HBase(五):HBase的相关操作-JavaAPI方式!【建议收藏】

2021年大数据HBase(四):HBase的相关操作-客户端命令式!【建议收藏】

2021年大数据HBase(三):HBase数据模型

2021年大数据HBase(二):HBase集群安装操作

2021年大数据HBase(一):HBase基本简介

前言

2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习。

有对大数据感兴趣的可以关注微信公众号:三帮大数据

HBase数据模型

在HBASE中,数据存储在具有行和列的表中。这是看起来关系数据库(RDBMS)一样,但将HBASE表看成是多个维 度的Map结构更容易理解

术语:

  • 表(Table) : HBase中数据都是以表形式来组织的, HBase中的表由多个行组成
  • 行键(row key):
  1. HBase中的行有一个rowkey(行键)和 一个或者多个列组成, 列的值与rowkey、列相关联
  2. 行在存储是按行键的字典序排序
  3. 行键的设计非常重要, 尽量让相关的行存储在一起
  • 列(Column): HBase中的列有列族(column family) 和列限定符(列名)(Column Qualifier)组成
  1. 表示如下 : 列族名:列限定符 例如: C1:USER_ID C1:SEX
  • 列族(Column Family):
  1. 出于性能原因, 列族将一组列及其值组织在一起
  2. 每个列族都有一组存储属性: 例如 是否应该换成在内存中, 数据如何被压缩等
  3. 表中的每一行都有相同的列族, 但在列族中不存储任何内容
  4. 所有的列族的数据全部都存储在一块(文件系统HDFS)
  5. Hbase官方建议所有的列族保持一样的列, 并且将同一类的列放在一个列族中
  • 列标识符(Column Qualifier)
  1. 列族中包含一个个的列限定符, 这样可以为存储的数据提供索引
  2. 列族在创建表的时候是固定的, 但列限定符是不做限制的
  3. 不同的列可能会存在不同的列标识符
  • 单元格(Cell): 单元格是行、列族和列限定符的组合,包含一个值和一个时间戳, 数据以二进制存储
  • 版本号(verson num): 每条数据都会有版本号的概念
  1. 每条数据都可以有多个版本号, 默认值为系统时间戳, 类型为Long
  • 时间戳(timeStamp): 每个数据都会有时间戳的概念
  1. 在向Hbase插入更新数据的时候, HBase默认会将当前操作的时间记录下来, 当然也可以人为指定时间
  2. 不同版本的数据按照时间倒序排序, 即最新的数据排在最前面