HBase介绍

2019-06-20 20:58:36 浏览数 (1)

一、hbase应用场景

  • 海量数据存储,上百亿行×上百万列,关系型数据库一般最多30个列,单表五百万
  • 准实时查询,上百亿行×上百万列情况百毫秒
  • 上百万行数据没必要放在hbase
  • 举例说明实际业务场景中的应用:交通GPS信息、移动电话信息、金融、电商

二、hbase的特点

  • 容量大:hbase单表可以百亿行、百万列,数据矩阵横向和纵向亮给维度所支持的数据两级都非常具有弹性;
  • 面向列:hbase是面向列的存储和权限控制,并支持独立检索。列式存储,其数据在表中是按照某列存储的,这样在查询只需要少数几个字段的时候,能大大减少读取的数据量;
  • 多版本:hbase每列的数据存储有多个版本version;
  • 稀疏性:为空的列并不占用存储空间,表可以设计的非常稀疏;
  • 扩展性:底层依赖于HDFS,增加节点;
  • 高可靠性:WAL机制保证了数据写入时不会因集群异常而导致写入数据丢失:Replication机制保证了在集群出现严重的问题时,数据不会发生丢失或损坏。而且HBase底层使用HDFS HDFS本身也有备份;
  • 高性能:底层LSM数据结构和Rowkey有序排列等架构上的独特设计,使得hbase具有非常高的写入性能。region切分、主键索引和缓存机制使得hbase在海量数据下具备一定的随机读取性能,该性能针对Rowkey的查询能达到毫秒级别。

三、hbase架构体系与设计模型

hbase架构体系

Column Family 列簇

表创建的时候,先建列簇,插入数据时动态增加列

  1. 一张表不会超过5个列簇
  2. 每个列簇的列数没有限制
  3. 列只有插入数据后存在
  4. 列在列簇中是有序的

四、hbase对比mysql等关系型数据库

  • hbase支持列动态增加
  • hbase支持数据自动切分
  • hbase支持高并发读写
  • hbase不支持条件查询

0 人点赞