1.Hbase 有 4个维度来确定某个具体的值,行键、列族、列名、时间戳;
2.强一致性
3.稀疏多维列表
4.多维稀疏排序Map
BigTable本质上是一个Map结构数据库,HBase也是由一系列KV构成的。然而Hbase这个Map系统确有很多限定词———稀疏的、分布式的、持久性的、多维的以及排序的。HBase中Map的key是一个复合键,由rowkey、column family 、qualifier、type以及timestamp组成,value即为cell值。
Hbase还包含多维、稀疏、排序等关键词:
(1)多维:Hbase的key是一个复合数据结构,由多维元素构成,包括rowkey、columnfamily、qualifier、type以及timestamp。
(2)稀疏:稀疏性是HBase的 一个突出特点。Hbase整整一行仅有一列有值,其他列都为空值。在其他数据库中,对于空值的处理一般会填充null,而Hbase的空值不需要任何填充。因为HBase的列在理论上是允许无限扩展的,对于成百万列的表来说,通常会存在大量的空值,如果使用填充null的策略,势必会浪费大量的空间,因此稀疏性是HBase的列可以无限扩展的一个重要条件。
(3)排序:构成HBase的KV在同一个文件中都是有序的,但规则并不是仅仅按照rowkey排序,而是按照KV中的key进行排序————先比较rowkey,rowkey小的排在前面;如果rowkey相同,再比较column,即columnfamily:qualifier,colum小的排在前面;如果column还相同,再比较时间戳timestamp,即版本信息,timestamp大的排在前面。
(4)分布式:很容易理解,构成HBase的所有Map并不集中在某台机器上,而是分布在整个集群中。
5.HDFS压缩存储
6.自动水平扩展
7.服务器自动调整平衡
HDFS为Hbase提供可靠的低层数据存储服务
MapReduce为Hbase提供高性能的计算能力
Zookeeper为Hbase提供稳定服务和Failover机制
总结:
Hbase是一个通过大量廉价的机器解决海量数据的高速存储和读取的分布式数据库解决方案。