网站首页优技培训

当前位置: 优技培训 > Apache HBase数据库

Apache HBase数据库

来源:优技培训时间:

产品介绍

HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

hbase-logo.jpg

HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

与FUJITSU Cliq等商用大数据产品不同,HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。

hbase-架构.jpg

上图描述Hadoop EcoSystem中的各层系统。其中,HBase位于结构化存储层,Hadoop HDFS为HBase提供了高可靠性的底层存储支持,Hadoop MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制。

此外,Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。 Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。

功能

线性和模块化可扩展性。

严格的强一致性读写。

自动和可配置的表分片

自动故障切换支持在RegionServers之间。

方便的基类,用于使用Apache HBase?表支持Hadoop MapReduce作业。

易于使用的Java客户端访问API。

块缓存和布隆过滤器用于实时查询。

通过服务器侧过滤器进行查询谓词下推

Thrift网关和一个支持XML、Protobuf和二进制数据编码选项的RESTful Web服务

可扩展的基于jruby(JIRB)的命令行界面

支持通过Hadoop metrics子系统将指标导出到文件或Ganglia;或者通过JMX