HBase 简介
HBase(Hadoop database)是一个分布式、可扩展、面向列的 NoSQL 数据库,本质上是一个 Key-Value 系统,底层存储基于 HDFS,原生支持 MapReduce 计算框架,具有高吞吐、低延时的读写特点。
HBase 主要特性
HBase包含很多重要的特性,如下:
强一致性读写:HBase并不是最终一致性,而是强一致性的系统,这使得HBase非常适合做高速的聚合操作。
自动sharding:HBase的表在水平方向上以region为单位分布式存储在各个节点上,当region达到一定大小时,就会自动split重新分布数据。
自动故障转移:这是HBase高可用的体现,当某一个节点故障下线时,节点上的region也会下线并会自动转移到状态良好的节点上线。
面向列的存储:HBase是面向列的存储系统,相同特征(列族相同)的数据会被尽量放到一起,这有利于提高数据读取的效率。
无缝结合Hadoop:HBase被定义为Hadoop database,就是基于HDFS做的数据存储,同时原生的支持MapReduce计算引擎。
非常友好的API操作:HBase提供了简单易用的Java API,并且提供了Thrift与REST的API供非Java环境使用。
Block Cache与Bloom Filter:查询优化方面HBase支持Block Cache与Bloom Filter,使得HBase能够对海量数据做高效查询。
什么时候使用 HBase
HBase作为一款NoSQL数据库,并不能解决所有问题。关于我们在实际生产过程中满足哪些条件的时候可以选