Hbase一:Hbase介绍及特点

时间:2023-02-25 17:05:57

转载请注明出处:  

1.Google的三篇论文

  2003年,Google发布Google File System论文,(GFS)这是一个可扩展的分布 式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价 的普通硬件上,提供容错功能。从根本上说:文件被分割成很多块,使用冗余的方 式储存于商用机器集群上。

  紧随其后,2004年,Google公布了MapReduce论文,论文描述了大数据的分布 式计算方式,主要思想是将任务分解然后在多台处理能力较弱的计算节点中同时处 理,然后将结果合并从而完成大数据处理。

  接着到了2006年,Google公布了BigTable论文,BigTable是一种构建于GFS和 MapReduce之上的多维稀疏图管理工具。

  正是这三篇论文,掀起了开源软件的大数据热潮。人们根据GFS,开发出了HDFS 文件存储。MapReduce计算框架,也成了海量数据处理的标准。而HDFS与 MapReduce结合在一起,形成了Hadoop。而BigTable更是启发了无数的NoSQL 数据库。而HBase正是继承了正统的BigTable思想。所以,Hadoop+HBase是模拟 了Google处理海量网页的三大基石实现的,他们也就成了开源大数据处理的基石。

2.Hbase是什么

  HBase是一种构建在HDFS之上的分布式、面向列的存储系统。

  HBase是构建于HDFS上的一套分布式非结构化数据存储系统,类似于Redis之类的Key-Value数据库,可以通过key进行大规模数据的快速索引查询。目前常用于在大规模数据中快速查询某些信息记录,例如从几亿用户信息中快速查询某个用户信息。

  特性:

  • 对于检索key查询value可以做到毫秒级的响应,满足大多数低延迟相应的要求;
  • 底层使用HDFS作为文件存储系统,让HBase的单表存储记录数可以达到极高的规模。

  在需要实时读写、随机访问超大规模数据集时,可以使用HBase。

  尽管已经有许多数据存储和访问的策略和实现方法,但事实上大多数解决方案,特别是一些关系类型的,在构建时并没有考虑超大规模和分布式的特点。许多商家通过复制和分区的方法来扩充数据库使其突破单个节点的界限,但这些功能通常都是事后增加的,安装和维护都很复杂。同时,也会影响RDBMS的特定功能,例如联接、复杂的查询、触发器、视图和外键约束这些操作在大型的RDBMS上的代价相当高,甚至根本无法实现。

  HBase从另一个角度处理伸缩性问题。它通过线性方式从下到上增加节点来进行扩展。HBase不是关系型数据库,也不支持SQL,但是它有自己的特长,这是RDBMS不能处理的,HBase巧妙地将大而稀疏的表放在商用的服务器集群上。

  HBase是可以提供实时计算的分布式数据库,数据被保存在HDFS分布式文件系统上,由HDFS保证期高容错性;

  Hadoop是一个高容错、高延时的分布式文件系统和高并发的批处理系统,不适用于提供实时计算;HBase是可以提供实时计算的分布式数据库,数据被保存在HDFS分布式文件系统上,由HDFS保证期高容错性。

  它是Hadoop的生态系统,提供对数据的随机实时读/写访问,是Hadoop文件系统的一部分。我们可以直接或通过HBase的存储HDFS数据。使用HBase在HDFS读取消费/随机访问数据。 HBase在Hadoop的文件系统之上,并提供了读写访问。

3.Hbase特性

  Apache HBase是一个Hadoop上的数据库。一个分布式,可扩展的大数据存储 引擎。HBase有个最明显的特征:

  1、HBase支持非常大的数据集,数十亿行*数百万列。如此庞大的数据量级,足以 撑爆我们在J2EE阶段学习过的所有数据存储引擎。

  2、HBase支持大数据量的随机、实时读写操作。在海量数据中,可以实现毫秒级的 数据读写。

  3、HBase从一开始就深度集成了Hadoop。HBase基于Hadoop进行文件持久化, 还继承了Hadoop带来的强大的可扩展性。Hadoop可以基于廉价PC机组建庞大的 应用集群。HBase也深度集成了Hadoop的MapReduce计算框架,并且也正在积极 整合Spark。这使得HBase能够很轻松的融入到整个大数据生态圈。

  4、HBase的数据是强一致性的,从CAP理论来看,HBase是属于CP的。这种设计 可以让程序员不需要担心脏读、幻读这些事务最终一致性带来的问题。

  5、最后最重要的还是HBase的框架性能是足够高效的。HBase的开源社区非常活 跃,他的性能经过很多大型商业产品的验证。Facebook的整个消息流转的基础设施 就构建于HBase之上。