海量数据分布式存储技术-作业四

1.HBase与其他组集成部分的相互关系;

2.阐述HBase和BigTable的底层技术对应关系;

3.阐述HBase和传统关系型数据库的区别;

4.HBase有哪些类型的访问接口;

5.分别解释HBase中行键、列键和时间戳的概念;

6.试述HBase的三层结构中各层次的名称和作用。

1.解:

HBase利用Hadoop MapReduce来处理HBase中的海量数据,实现高性能计算;利用Zookeeper作为协同服务,实现稳定服务和失败恢复;使用HDFS作为高可靠的底层存储,利用廉价集群提供海量数据存储能力;Sqoop为HBase的底层数据导入功能,Pig和Hive提供了高层语言支持,Hbase是BigTable的开源实现。

2.解:

a、从文件存储系统来看,BigTable使用GFS,HBase使用HDFS;

b、从海量数据处理来看,BigTable使用MapReduce,HBase使用Hadoop MapReduce;

c、从协同服务管理来看,BigTable使用Chubby,HBase使用Zookeeper。

3.解:

a、从数据类型来看,传统关系数据库使用关系模型,HBase使用数据模型。

b、从数据操作来看,传统关系数据库可以插入、删除、更新、查询和多表连接,而HBase可以插入、查询、删除、清空,但是无法实现表与表之间的关联。

c、从存储模式来看,传统关系数据库基于行模式存储,元组或行会被连续地存储在磁盘中,HBase基于列存储,每个列族都由几个文件保存,不同列族的文件是分离的。

d、从数据索引来看,传统关系数据库针对不同列构建复杂的多个索引,而HBase只有一个行键索引。

e、从数据维护来看,传统关系数据库用最新的当前值去替换记录中原有的旧值,HBase更新操作不会删除数据旧的版本,而是生成一个新的版本。

f、从可伸缩性来看,传统关系数据库很难实现横向拓展,拓展的空间也比较有限,HBase轻易地通过在集群中增加或者减少硬件数量来实现性能的伸缩。

4.解:

HBase提供了Native Java API, HBase Shell, Thrift Gateway, REST GateWay, Pig, Hive等访问接口。

5.解:

a、行键是唯一的,在一个表里只出现一次,否则就是在更新同一行,行键可以是任意的字节数组。

b、列族需要在创建表的时候就定义好,数量也不宜过多。列族名必须由可打印字符组成,创建表的时候不需要定义好列。

c、时间戳,默认由系统指定,用户也可以显式设置。使用不同的时间戳来区分不同的版本。

6.解:

第一层,Zookeeper文件,记录了-ROOT-表的位置信息。

第二层,-ROOT-表,记录了.META.表的Region位置信息。-ROOT-表只能有一个Region。通过-ROOT-表,就可以访问.META.表中的数据。

第三层,.META.表,记录用户数据表的Region位置信息,.META.表可以有多个Region,保存了HBase中所有用户数据表的Region位置信息。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值