HBase是一种分布式的、面向列的开源NoSQL数据库。根据官方的说明,其更像是一个数据存储而非数据库,因为其缺失很多数据库的特性。但是其自身又有区别于传统数据库的强大特性,如:
-
强一致性读写,很适合高速计数聚合类任务;
-
HBase 表通过region被分发在集群中。并且随着数据增长,region会自动切分和重新分发;
-
RegionServer自动故障转移;
-
支持HDFS作为它的分布式文件系统;
-
通过MapReduce支持大规模并行处理,并且HBase 可以同时做源端和目标端;
-
支持Java API、Thrift/REST API;
-
在支持Block Cache and Bloom Filters作为大容量查询优化;
-
提供内置网页用于运维视角和JMX 度量。
综上,让我们来看下HBase包含哪些组件吧。
系统架构图
注意:有些图片上会把H