1简介
1.1 介绍
-
HBase 是 Apache Hadoop 的数据库,是建立在 HDFS 之上,被设计用来提供高可靠性、高性能、列存储、可伸缩、多版本的 NoSQL 的分布式数据存储系统,实现对大型数据的实时、随机的读写访问。
-
HBase 依赖于 HDFS 做底层的数据存储
-
HBase 依赖于 MapReduce 做数据计算
-
HBase 依赖于 ZooKeeper 做服务协调
1.2 HBase数据库的特点
-
它介于 NoSQL 和 RDBMS 之间,仅能通过主键(rowkey)和主键的 range 来检索数据。
-
HBase 查询数据功能很简单,不支持 join 等复杂操作。
-
HBase 中支持的数据类型:byte[](底层所有数据的存储都是字节数组)。
-
主要用来存储结构化和半结构化的松散数据。
1.3 HBase表的特点
-
大:一个表可以有上十亿行,上百万列。
-
面向列:面向列(族)的存储和权限控制,列(簇)独立检索。
-
稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。
-
无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列。
1.4HBase的逻辑结构
1、Region
类似于一个表的子表,表中的一部分。HBase中的一个表被拆分成多个region。HBa