深入浅出HBase

1 适用场景

1.1 HBase简介

HBase是一个开源的NoSQL分布式数据库,对稀疏表提供更高的存储空间使用率和读写效率。

采用存储计算分离架构:

  • 存储层基于HDFS存储数据,提供容错机制和高可靠性;
  • 计算层提供灵活快速的水平扩展、负载均衡和故障恢复能力。

提供强一致语义,在CAP理论中属于CP系统。
注:一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)

HBase与关系型数据库对比:

1.2 HBase数据模型

逻辑结构
HBase以列族(column family)为单位存储数据,以行键(rowkey)索引数据。
个人感觉有点像DataFrame结构,它适合稀疏数据,缺省列不占用存储空间;通过(rowkey, column family, column qualifier, version)唯一指定一个具体的值;允许批量读取多行的部分列族/列数据。

  • 列族需要在使用前预先创建,列名(column qualifier)不需要预先声明,因此支持半结构化数据模型。
  • 支持保留多个版本的数据,(行键+列族+列名+版本号)定位一个具体的值。

 

物理结构
物理数据结构最小单元是KeyValue结构:

  • 每个版本的数据都携带全部行列信息。
  • 同一行,同一列族的数据物理上连续有序存储。
  • 同列族内的KeyValue按rowkey字典序升序,column qualifier升序,version降序排列。
  • 不同列族的数据存储在相互独立的物理文件,列族间不保证数据全局有序。
  • 同列族下不同物理文件间不保证数据全局有序。
  • 仅单个物理文件内有序。
  •  

1.3 使用场景

  • “近在线”的海量分布式KV/宽表存储,数据量级可达到PB级以上
  • 写密集型、高吞吐应用,可接受一定程度的时延抖动
  • 字典序主键索引、批量顺序扫描多行数据的场景
  • Hadoop大数据生态友好兼容
  • 半结构化数据模型,行列稀疏的数据分布,动态增减列名
  • 敏捷平滑的水平扩展能力,快速响应数据体量、流量变化

典型应用:
电商订单数据、搜索推荐引擎、广告数据流、用户交互数据、时序数据引擎、图存储引擎、大数据生态

HBase数据模型的优缺点:

 

2 架构设计

2.1 HBas

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值