一:判断题
1:HBase是一套高性能的分布式数据集群,必须在大型机或者高性能的服务器上进行搭建。
T
2:HBase是Apache的Hadoop项目的子项目,利用Hadoop HDFS作为其文件存储系统,适合于非结构化数据存储。
T
3:Hbase 采用是 Key-Value 形式的数据库,模拟于 Java 中的 Map 形式。
T
4:HBase 中的数据都是字节,且有各种类型。
F
二:单选题
1:HBase 存储底层数据依靠的是
A.HDFS
B.Hadoop
C.Memory
D.MapReduce
2:HBase依赖______提供强大的计算能力。
A.Zookeeper
B.Chubby
C.RPC
D.MapReduce
3:HBase依赖______提供消息通信机制
A.Zookeeper
B.Chubby
C.RPC
D.Socket
4:HBase来源于哪一项?
A.The Google File System
B.MapReduce
C.BigTable
D.Chubby
5:HFile 数据格式中的 MetaIndex 字段用于
A.Meta 块的长度
B.Meta 块的结束点
C.Meta 块数据内容
D.Meta 块的起始点
6:HFile 数据格式中的 KeyValue 数据格式中 Value 部分是
A.拥有复杂结构的字符串
B.字符串
C.二进制数据
D.压缩数据
7:HFile 数据格式中的 Magic 字段用于
A.存储随机数,防止数据损坏
B.存储数据的起点
C.存储数据块的起点
8:HFile 数据格式中的 Data 字段用于
A.存储实际的 KeyValue 数据
B.存储数据的起点
C.指定字段的长度
D.存储数据块的起点
D.指定字段的长度
9:HBase数据库的BlockCache缓存的数据块中,哪一项不一定能提高效率。
A.–ROOT-表
B…META.表
C.HFile index
D.普通的数据块
10:h0148. 关于MySQL分库分表的方案相关描述,错误的是:
A.当服务器性能出现瓶颈需要扩容时,常常采取“翻倍”分库增
加服务器的方案,导致资源的浪费。
B.一开始就对如何切分数据做好精心设计,一旦稍有不慎,设
计上出现了数据倾斜。
C.故障恢复需要不需要人工介入,运维简单。
11:h0149. 关于HBase的描述,错误的是:
A.HBase是一个开源的、分布式的、版本化的、非关系的数据库,它参考了Google的Bigtable。
B.HBase™是Hadoop数据库,是一个分布式、可伸缩、大数据存储区。
C.目标是在商用硬件集群之上托管非常大的表----数十亿行X百万列。
D.只能用来存储结构化的数据
三:填空题
1:HBase的分布式存储的最小单元是
Region
2:HBase的存储的最小单元是
Hfile
四:主观题
1:简述HBase写数据流程?
1:zookeeper中存储了meta表的region信息,从meta表中获取相应的region信息,然后找到meta表的数据。 2:根据namespace、表名和rowkey根据meta表的数据找到写入数据对应的region信息。 3:找到对应的regionserver。 4:把数据分别写到Hlog和MemStore上一份。 5:MemStore达到一个阀值后则把数据刷成一个StoreFile文件。若MemStore中的数据有丢失,则可以从HLog上恢复。 6:当多个StoreFile文件达到一定的大小后,会触发Compact合并操作,合并为一个StoreFile,这里同时进行版本的合并和数据删除。 7:当Compace后,逐步形成越来越大的StoreFile后,会触发Spilt操作,把当前的StoreFile分成两个,这里相当于把一个大的regio分割成两个region。
2:HBase的数据模型有哪些?
1:行健(rowkey)是字节数组,是表中每条记录的“主健“,方便快速查找。 2:行(row)由行健(rowkey)唯一标识。 3:列族(column family)行的数据按列族分组cf,创建表的时候定义,不轻易修改。 4:限定字符(column qualifier)列里面的数据定位通过列限定符每个CF可以有一个或多个列成员。 5:单元(cell)行健,列族和列限定符一起确定一个单元。 6:时间版本(version)单元值有时间版本,用时间戳来标识默认1个。 7:时间戳(timestamp)每个cell可能有多个版本,它们之间用时间戳区分。
3:简述HBase的特点有哪些?
1:基于hadoop的hdfs存储,zookeeper进行管理。 2:适合存储半结构化或非结构化的数据。 3:HBase为null的记录不会被存储。 4:HBase是主从架构,HMaster作为主节点,HRegionServer作为从节点
4:HBase的rowkey设计原则有哪些?
1:长度原则:建议越短越好,不要超过16个字节。 2:散列原则:建议将rowkey的高位作为散列字段,由程序循环生成,低位放时间字段,这一将提高数据均衡分布在每个Regionserver 实现负载均衡。 3:唯一原则:必须在设计上保证其唯一性。