简介
  • 高可靠,高性能,面向列,可伸缩,实时读写的==分布式数据库==
  • 利用HDFS作为其文件存储系统,支持MR程序读取数据
  • 存储非结构化和半结构化数据

 RowKey:主键,数据唯一标识,按字典排序
 Column Family:列族,多个列的集合,最多不要超过3个

HBase能做什么?

  • 海量数据存储
  • 准实时查询

HBase应用场景点
 交通、金融、电商、移动

HBase特点

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

如何选择Hbase的版本
官方版本:http://archive.apache.org/dist/hbase/
CDH版本:http://archive.cloudera.com/cdh5 #稳定,兼容性

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

HBase表结构模型

HBase介绍_第2张图片
只设计这个表格中有多少个列即可,指定表中的列簇

HBase数据模型

HBase介绍_第3张图片