【云原生】简单谈谈分布式存储组件HBase

  1. 什么是HBase:

    1. 是一个非关系型数据库(稀疏矩阵)
      1. 关系型数据库:有固定的列,每一列的数据类型明确
      2. 非结构化数据,半结构化数据。
    2. 存储的目标数据
      1. 数据量大
      2. 结构简单
      3. 基于key的快速查找能力
      4. 可以面向列进行查询
    3. 为什么要有hbase,为什么不用hdfs:
      1. 因为hdfs适用的场景是海量的数据批读写,不支持海量数据中的个别数据修改
      2. 而Hbase支持在海量数据中,修改某一个数据。
      3. Hbase的快,是相对于hdfs来说的。
  2. 数据仓库的特点

    1. 面向主题:每一种数据分析的方向都有对应的主题,主题是一个抽象的概念,主题不是固定的。
    2. 数据集成:任何一个主题的数据,最好是可以轻易的集成在一起。
    3. 非易失:用于保存历史归档数据,同时也是增量数据。
    4. 反应历史变化:通常不会删,会一直保存下去
  3. hbase的数据结构

    1. 逻辑结构
      1. 列族:多个列的组合
        1. 在数据底层当中,各个列族之间,数据是分开存储的。
      2. 列:一个列族下有若干的列
        1. 注意:hbase的列,没有数据类型,都是string
        2. 不需要在建表时声明
      3. 行:rowkey
        1. 所有的列族,所有的列,都可以引用同一个行号,但是不强制要求各个行之间对应
        2. 可以当做索引用
        3. 按字典顺序排序的
        4. 要在hbase当中查某一行,只能通过行号来查,因为hbase是基于列数据进行查询的。但是行号是可以过滤的,行号是可以随意设置的。可以把某个常用列的值作为key的一部分,方便过滤。
        5. Hbase是有分区的,同一行数据,只会出现在一个分区当中
        6. 一个分区中有若干的Store,一个Store中保存一个列族
  4. 物理结构

    1. 物理存储结构,即在物理文件当中,hbase数据的存储格式。
    2. hbase是基于列进行查询的,任何一个字段单元格都是一个独立的数据。
      1. Rowkey
      2. 列族名
      3. 列名
      4. 时间戳
      5. 操作类型
      6. 版本号
    3. 在hbase当中没有真正意义上的update,所谓的修改和删除,是追加了一条数据,已最新的时间戳来显示。如果是删除数据,会将该数据的类型改为delete,删除的数据不会永久保留,如果没有正在进行的读写,那么就会启动删除。牺牲了一部分读的性能,换取写的性能。
  5. hbase的shell操作

    1. 建表:create ‘[命名空间:]表名’,’列族名1’,’列族名2’……
    2. 添加/修改记录:put ‘[命名空间:]表明’,’行名’,’列族名:列名’,’值’
    3. 获取一行记录:get ‘[命名空间:]表明’,’行名’
    4. 获取记录数:count ‘[命名空间:]表明’ ---- 行数!!!
    5. 删除记录:delete ‘[命名空间:]表明’,’行名’,’列族名:列名’
    6. scan命令:
      1. 属性
        1. 查询指定列
        2. 指定行数
        3. 起始行
        4. 结束行
        5. 时间戳
        6. 版本
      2. 过滤器:
        1. 对值过滤
        2. binary等值
        3. substring包含
        4. 列前缀过滤
        5. 列明包含过滤
        6. Rowkey前缀过滤
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

隐 风

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

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

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

打赏作者

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

抵扣说明:

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

余额充值