HBase的逻辑结构与物理结构

逻辑结构

HBase的逻辑结构与物理结构_第1张图片
Row key:行键,唯一键。按字典序有序排列
ColumnFamily:列族。不同列族放在hdfs的不同文件夹中,列族中的列可以动态增加。
column:列
Region:分区。按数据量和row_key进行切分。
Store:HBase实际存储的最小单位。除了store,其他数据属于元数据。

物理存储结构

HBase的逻辑结构与物理结构_第2张图片
Column Qualifier:列名
Column Family:列族
TimeStamp:写入 HBase 的时间。不同版本(version)的数据根据timestamp进行区分。
Type:Put 插入的数据;对于删除操作,其类型为Delete。

数据模型

  1. Name Space
    命名空间,类似于关系型数据库的database的概念,每个命名空间下有多个表。HBase有两个自带的命名空间,分别是hbase和default,hbase存放hbase内置表,default是用户默认使用的命名空间。
  2. Table
    类似于关系型数据库的表的概念。不同的是,HBase定义表时只需要声明列族,不需要声明具体的列。这意味着,往HBase写入数据时,字段可以动态、按需指定。因此,HBase可以轻松应对字段变更的场景。
  3. Row
    行。每一行数据由一个RowKey和多个Column组成,数据是按RowKey字典顺序存储的,并且查数据时只能根据RowKey进行检索。
  4. Column
    HBase中的每个列都由Column Family(列族)和Column Qualifier(列限定符)进行限定,例如info:name,info:age。建表时,只需指明列族,而列限定符无需预先定义。
  5. Time Stamp
    用于标识不同版本的数据。每一条数据写入时,系统会自动为其加上该字段,其值为写入HBase的时间。
  6. Cell
    由{rowkey, column Family:column Qualifier, time Stamp} 唯一确定的单元。cell中的数据全部是字节码形式存贮。

你可能感兴趣的:(hbase,hbase,大数据,数据库)