HBase是一个在HDFS上开发的面向列的分布式数据库。
从逻辑上来讲,HBase将数据按照表、行和列进行存储。与HDFS一样,HBase主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。HBase表的特点如下:容量大:一个表可以有数十亿行,上百万列。当关系型数据库的单个表的记录在亿级时,则查询和写入的性能都会呈现指数级下降,而HBase对于单表存储百亿或更多的数据都没有性能问题。无固定模式(表结构不固定):每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然并的列。面向列:面向列的存储和权限控制,支持列独立检索。关系型数据库是按行存储的,在数据量大的时候,关系型数据库依赖索引来提高查询速度,而建立索引和更新。Hbase的优点HDFS有高容错,高扩展的特点,而Hbase基于HDFS实现数据的存储,因此Hbase拥有与生俱来的超强的扩展性和吞吐量。HBase采用的是Key/Value的存储方式,这意味着,即便面临海量数据的增长,也几乎不会导致查询性能下降。HBase是一个列式数据库,相对于于传统的行式数据库而言。当你的单张表字段很多的时候,可以将相同的列(以regin为单位)存在到不同的服务实例上,分散负载压力。Hbase的缺点架构设计复杂,且使用HDFS作为分布式存储,因此只是存储少量数据,它也不会很快。在大数据量时,它慢的不会很明显!Hbase不支持表的关联操作,因此数据分析是HBase的弱项。常见的 group by或order by只能通过编写MapReduce来实现!Hbase部分支持了ACID