HBase的特点

  • 高性能(对比关系型数据库)
  • 分布式
  • 大部分分布式系统,为了保证性能,都会选择牺牲原子性,不会保持强一致性,一般都是最终一致性。
    大部分分布式系统,NoSql数据库都不支持事务
  • 满足CAP定理。 强一致性,高可用性,分区容错性,最多只能满足其二,无法三者兼得
  • 非关系型数据库,不支持SQL语言
  • NoSql和关系型数据库,相辅相成,没有替代关系
  1. 海量存储
    HBase适合存储PB级别的海量数据,在PB级别的数据以及采用廉价PC存储的情况下,能在几十到百毫秒内返回数据。这与HBase的极易扩展性息息相关。正式因为HBase良好的扩展性,才为海量数据的存储提供了便利。
  2. 列式存储
    这里的列式存储其实说的是列族存储,HBase是根据列族来存储数据的。列族下面可以有非常多的列,列族在创建表的时候就必须指定。
  3. 极易扩展
    HBase的扩展性主要体现在两个方面,一个是基于上层处理能力(RegionServer)的扩展,一个是基于存储的扩展(HDFS)。
    通过横向添加RegionSever的机器,进行水平扩展,提升HBase上层的处理能力,提升Hbsae服务更多Region的能力。
  4. 高并发
    由于目前大部分使用HBase的架构,都是采用的廉价PC,因此单个IO的延迟其实并不小,一般在几十到上百ms之间。这里说的高并发,主要是在并发的情况下,HBase的单个IO延迟下降并不多。能获得高并发、低延迟的服务。
  5. 稀疏
    稀疏主要是针对HBase列的灵活性,在列族中,你可以指定任意多的列,在列数据为空的情况下,是不会占用存储空间的。