• HBase的逻辑结构与物理结构


    逻辑结构

    在这里插入图片描述
    Row key:行键,唯一键。按字典序有序排列
    ColumnFamily:列族。不同列族放在hdfs的不同文件夹中,列族中的列可以动态增加。
    column:列
    Region:分区。按数据量和row_key进行切分。
    Store:HBase实际存储的最小单位。除了store,其他数据属于元数据。

    物理存储结构

    在这里插入图片描述
    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中的数据全部是字节码形式存贮。
  • 相关阅读:
    substring-after用法
    【Leetcode】 416. 分割等和子集
    采购组件修改申请办理流程
    代码随想录刷题 Day14
    MATLAB算法实战应用案例精讲-【目标检测】YOLOV5
    数组的基本知识
    批处理获取当前系统日期及时间及星期转换为数字并加以格式美化的bat代码
    【Python】9*9乘法口诀表(while、for两种循环)
    docker pull、docker load、docker run使用方法
    【CMake】add_dependencies 命令
  • 原文地址:https://blog.csdn.net/Laoddaaa/article/details/126380258