一、Hbase简介
1.Hbase是什么
Hbase是一个分布式的、列式存储的数据库。HBase在Hadoop之上提供了类似于Bigtable的能力,是Apache的Hadoop项目的子项目,用于存储海量的结构化或者半结构、非结构化的数据。
HBase是一个高可靠性、高性能(快)、面向列、可伸缩的分布式数据库系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化和非结构化数据存储集群。
- 高可靠性 :分布式的数据库 , 存储的数据是安全的, 集群对外服务是可靠
- 高性能:处理数据的速度,效率, 分布式的数据库就可以利用集群中所有机器的运算资源处理数据
- 可伸缩性 :从存储能力和运算能力处理 ,可以通过添加节点来扩展存储容量和添加运算资源
- 面向列 : 在hbase底层存储的所有的数据都是以key/value组成的字节数
它介于nosql和RDBMS之间(nosql一般不存储结构化数据 ,hbase结构化和非结构化都存),仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive或者Phoenix支持来实现多表join等复杂操作)。主要用来存储非结构化和半结构化和结构化的松散数据。与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。
2.hbase的特点
1)海量存储
Hbase适合存储PB级别的海量数据,在PB级别的数据以及采用廉价PC存储的情况下,能在几十到百毫秒内返回数据。这与Hbase的极易扩展性息息相关。正式因为Hbase良好的扩展性,才为海量数据的存储提供了便利。
2)列式存储
这里的列式存储其实说的是列族存储,Hbase是根据列族来存储数据的。列族下面可以有非常多的列,列族在创建表的时候就必须指定。
3