hbase介绍

什么是Hbase:

Hbase在Hadoop的分布式文件系统之上提供了一个类似谷歌bigtable的功能,它是一个面向列和水平扩展的键值对数据库。Hbase 非常适合在大数据当中结构化数据的快速随机访问。Hbase 提供的 API 支持使用几乎任何编程语言进行开发。它是 Hadoop 生态系统的一部分,提供对 Hadoop 文件系统中数据的随机实时读/写访问。

hbase主要用于大数据应用当中存储数据,不适用于 Web 、移动应用等传统的关系型数据库(SQL).

hbase发展历史

hbase已经发展一段时间了,是现在热门的大数据量的结构化数据集存储技术,hbase最初是Powerset 公司用于一个自然语言的搜素项目,主要用于处理海量数据的定位。

1、2006年,Google发表了bigtable论文。

2、2006年底,Google成立Hbase,开始研发hbase.

3、2008-2010,HBase成为Hadoop子项目并发布多个初始版本。

4、2010年,Hbase成为apache顶级项目。

5、2011年,apache hbase发布第一个版本

Hbase优势:

1、水平可扩展:可以动态增加或删除列。

2、利用HDFS做为文件存储,可以存储大数据量的数据集,有利于表的分析查询,统计相关操作。

3、快速的随机读写操作。

4、hbase命令的底层是mapreduce计算框架。

5、易于Java操作,提供了丰富的Java api。

Hbase劣势:

1、于关系型数据库(sql)不同,Hbase是很难进行关联查询的。无法完成复杂的查询语句。

2、需要利用java api操作过滤数据,在shell命令上过滤数据不是很容易。

3、hbase每次命令操作,都会转化为一个mapreduce作业,因此会导致高I/O

4、排序只能在行键上进行。

哪里场景可以使用 HBase:

1、主要用于大数据的随机、实时的读/写的访问系统。

2、Apache HBase 是仿照 Google Bigtable 建模的非关系型数据库,所以可以用于文件系统的存储。