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