HBase介绍

一、hbase应用场景

  • 海量数据存储,上百亿行×上百万列,关系型数据库一般最多30个列,单表五百万

  • 准实时查询,上百亿行×上百万列情况百毫秒

  • 上百万行数据没必要放在hbase

  • 举例说明实际业务场景中的应用:交通GPS信息、移动电话信息、金融、电商

二、hbase的特点

  • 容量大:hbase单表可以百亿行、百万列,数据矩阵横向和纵向亮给维度所支持的数据两级都非常具有弹性;

  • 面向列:hbase是面向列的存储和权限控制,并支持独立检索。列式存储,其数据在表中是按照某列存储的,这样在查询只需要少数几个字段的时候,能大大减少读取的数据量;

  • 多版本:hbase每列的数据存储有多个版本version;

  • 稀疏性:为空的列并不占用存储空间,表可以设计的非常稀疏;

  • 扩展性:底层依赖于HDFS,增加节点;

  • 高可靠性:WAL机制保证了数据写入时不会因集群异常而导致写入数据丢失:Replication机制保证了在集群出现严重的问题时,数据不会发生丢失或损坏。而且HBase底层使用HDFS HDFS本身也有备份;

  • 高性能:底层LSM数据结构和Rowkey有序排列等架构上的独特设计,使得hbase具有非常高的写入性能。region切分、主键索引和缓存机制使得hbase在海量数据下具备一定的随机读取性能,该性能针对Rowkey的查询能达到毫秒级别。

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

HBase介绍_第1张图片
hbase架构体系

Column Family 列簇

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

  1. 一张表不会超过5个列簇

  2. 每个列簇的列数没有限制

  3. 列只有插入数据后存在

  4. 列在列簇中是有序的

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

  • hbase支持列动态增加

  • hbase支持数据自动切分

  • hbase支持高并发读写

  • hbase不支持条件查询

你可能感兴趣的:(HBase介绍)