首页 > 其他 > 详细

Hbase模型与框架分享(2)—Hbase简介

时间:2014-12-17 02:06:00      阅读:399      评论:0      收藏:0      [点我收藏+]
  • (1)定义:
??????? HBase : Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。
??????? 利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。
  • (2)HBase是Google Bigtable的开源实现
?

BigTable

HBase

文件存储系统

GFS

HDFS

数据处理

MapReduce

Hadoop MapReduce

协调服务

Chubby

Zookeeper

  • (3)hbase在hadoop生态系统中的位置
bubuko.com,布布扣

其中HBase位于结构化存储层

Hadoop?HDFS为HBase提供了高可靠性的底层存储支持。

Hadoop?MapReduce为HBase提供了高性能的计算能力

Zookeeper为HBase提供了稳定服务和failover机制。

Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。

?Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。

  • (4) Hbase访问接口

a. ? Native Java API:

? ? 最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBase表数据

b. ? HBase Shell:

? ? HBase的命令行工具,最简单的接口,适合HBase管理使用

c. ? Thrift Gateway:

? ? 利用Thrift序列化技术,支持C++,PHP,Python等多种语言,适合其他异构系统在线访问HBase表数据

d. ? REST Gateway:

? ? 支持REST 风格的Http API访问HBase, 解除了语言限制

e. ? Pig:

? ? 可以使用Pig Latin流式编程语言来操作HBase中的数据,和Hive类似。

? ? 本质最终也是编译成MapReduce Job来处理HBase表数据,适合做数据统计。

f. ? Hive:

? ? 可以使用类似SQL语言来访问HBase。

  • (5)hbase数据模型

?(a)?Table & Column Family

bubuko.com,布布扣
(b).?Table & Region

当Table随着记录数不断增加而变大后,会逐渐分裂成多份splits,成为regions,一个region由[startkey,endkey)表示,不同的region会被Master分配给相应的RegionServer进行管理:


bubuko.com,布布扣

(c) -ROOT- && .META. Table

HBase中有两张特殊的Table,-ROOT-和.META.

???.META.:记录了用户表的Region信息,.META.可以有多个regoin

???-ROOT-:记录了.META.表的Region信息,-ROOT-只有一个region

???Zookeeper:记录了-ROOT-表的location

bubuko.com,布布扣
  • (5) hbase体系结构
bubuko.com,布布扣
  • (6) hbase存储格式

HBase中的所有数据文件都存储在Hadoop HDFS文件系统上,主要包括上述提出的两种文件类型:

a). ?HFile:

? ? HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件。

? ? 实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile。

b). HLog File:

? ? HBase中WAL(Write Ahead Log) 的存储格式,物理上是Hadoop的Sequence File。

?

Hbase模型与框架分享(2)—Hbase简介

原文:http://gaoxianwei.iteye.com/blog/2166869

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!