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