简介
我们之前已经学习了hive,现在来学习下hbase。
HBase(Hadoop Database)是一个高可靠性、高性能、面向列、可伸缩、 实时读写的分布式数据库。
与hadoop一样,Hbase可以依靠横向扩展,通过不断增加廉价的服务器,来增加计算和存储能力。
背景
该技术来源于Fay Chang所撰写的Google论文Bigtable(一个结构化数据的分布式存储系统)。
就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样
HBase在Hadoop之上提供了类似于Bigtable的能力。
HBase是Apache的Hadoop项目的子项目。
与关系型数据库的区别
HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。
另一个不同的是HBase基于列的而不是基于行的模式。
HBase是介于Nosql(非关系型数据库)和RDBMS(关系型数据库)之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。
主要用来存储非结构化和半结构化的松散数据。