四、分布式数据库HABSE
1、请阐述HBase和传统关系数据库的区别
正确答案:
我的答案:
(1)数据类型:关系数据库采用关系模型,具有丰富的数据类型和存储方式,HBase则采用了更加简单的数据模型,它把数据存储为未经解释的字符串。
(2)数据操作:关系数据库中包含了丰富的操作,其中会涉及复杂的多表连接。HBase操作则不存在复杂的表与表之间的关系,只有简单的插入、查询、删除、清空等,因为HBase在设计上就避免了复杂的表和表之间的关系。
(3)存储模式:关系数据库是基于行模式存储的。HBase是基于列存储的,每个列族都由几个文件保存,不同列族的文件是分离的
(4)数据索引:关系数据库通常可以针对不同列构建复杂的多个索引,以提高数据访问性能。HBase只有一个索引——行键,通过行键访问,或者键扫描,从而使得整个系统不会慢下来。
(5)数据维护:在关系数据库中,更新操作会用最新的当前值去替换记录中原来的旧值,旧值被覆盖后就不会存在。而在HBase中执行更新操作时,并不会删除数据旧的版本,而是生成一个新的版本,旧有的版本仍然保留。
(6)可伸缩性:关系数据库很难实现横向扩展,纵向扩展的空间也比较有限。相反,HBase和BigTable这些分布式数据库就是为了实现灵活的水平扩展而开发的,能够轻易地通过在集群中增加或者减少硬件数量来实现性能的伸缩。
2、分别解释HBase中行键、列键和时间戳的概念
正确答案:
行键是唯一的,在一个表里只出现一次,否则就是在更新同一行,行键可以是任意的字节数组。
列族需要在创建表的时候就定义好,数量也不宜过多。列族名必须由可打印字符组成,创建表的时候不需要定义好列。
时间戳,默认由系统指定,用户也可以显示设置。使用不同的时间戳来区分不同的版本。
3、试述HBase各功能组建及其作用
正确答案:
(1)库函数:链接到每个客户端;
(2)一个Master主服务器:主服务器Master主要负责表和Region的管理工作;
(3)许多个Region服务器:Region服务器是HBase中最核心的模块,负责维护分配给自己的Region,并响应用户的读写请求
4、请阐述Region服务器向HDFS文件系统中读写数据的基本原理
正确答案:Region服务器内部管理一系列Region对象和一个HLog文件,其中,HLog是磁盘上面的记录文件,它记录着所有的更新操作。每个Region对象又是由多个Store组成的,每个Store对象了表中的一个列族的存储。每个Store又包含了MemStore和若干个StoreFile,其中,MemStore是在内存中的缓存。
1.HBase是一种 数据库
A、关系数据库
B、列式数据库
C、文档数据库
D、行式数据库
正确答案: B
2.下列对HBase数据模型的描述错误的是
A、HBase列族支持动态扩展,可以很轻松地添加一个列族或列
B、HBase中执行更新操作时,会删除数据旧的版本,并生成一个新的版本
C、HBase是一个稀疏、多维度、排序的映射表,这张表的索引是行键、列族、列限定符和时间戳
D、每个HBase表都由若干行组成,每个行由行键(row key)来标识
正确答案: B
3.下列说法正确的是
A、如果不启动Hadoop,则HBase完全无法使用
B、HBase的实现包括的主要功能组件是库函数,一个Master主服务器和一个Region服务器
C、如果通过HBase Shell插入表数据,可以插入一行数据或一个单元格数据。
D、Zookeeper是一个集群管理工具,常用于分布式计算,提供配置维护、域名服务、分布式同步等。
正确答案: D
答案解析:HBase有三种运行模式,单机模式、伪分布式模式、分布式模式。启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop put:向表、行、列指定的单元格添加数据 一次只能为一个表的一行数据的一个列添加一个数据
4.对于HBase数据库而言,每个Region的建议最佳大小是
A、1GB-2GB
B、2GB-4GB
C、500MB-1000MB
D、100MB-200MB
正确答案: A
5.HBase三层结构的顺序是
A、Zookeeper文件,.MEATA.表,-ROOT-表
B、-ROOT-表,Zookeeper文件,.MEATA.表
C、.MEATA.表,Zookeeper文件,-ROOT-表
D、Zookeeper文件,-ROOT-表,.MEATA.表
正确答案: D
答案解析:
Zookeeper文件:记录了-ROOT-表的位置信息 -ROOT-表:记录了.META.表的Region位置信息 -ROOT-表只能有一个Region。通过-ROOT-表,就可以访问.META.表中的数据 .META.表:记录了用户数据表的Region位置信息,.META.表可以有多个Region,保存了HBase中所有用户数据表的Region位置信息
6.客户端是通过 级寻址来定位Region
A、四
B、一
C、二
D、三
正确答案: D
7.关于HBase Shell命令解释错误的是
A、put:向表、行、列指定的单元格添加数据
B、list:显示表的所有数据
C、create:创建表
D、get:通过表名、行、列、时间戳、时间范围和版本号来获得相应单元格的值
正确答案: B
答案解析:
list:显示HBASE中所有表的信息
二.多选题
1.下列对HBase的理解正确的是
A、HBase是一个行式分布式数据库,是Hadoop生态系统中的一个组件
B、HBase是针对谷歌BigTable的开源实现
C、HBase多用于存储非结构化和半结构化的松散数据
D、HBase是一种关系型数据库,现成功应用于互联网服务领域
正确答案: BC
2.HBase和传统关系型数据库的区别在于哪些方面:
A、存储模式
B、可伸缩性
C、数据索引
D、数据维护
正确答案: ABCD
答案解析:
1.存储模式:关系数据库是基于行模式存储的。HBase是基于列存储的,每个列族都由几个文件保存,不同列族的文件是分离的。2.可伸缩性:关系数据库很难实现横向扩展,纵向扩展的空间也比较有限。相反,HBase和BigTable这些分布式数据库就是为了实现灵活的水平扩展而开发的,能够轻易地通过在集群中增加或者减少硬件数量来实现性能的伸缩。3.数据索引:关系数据库通常可以针对不同列构建复杂的多个索引,以提高数据访问性能。HBase只有一个索引——行键,通过行键访问,或者键扫描,从而使得整个系统不会慢下来。 4.数据维护:在关系数据库中,更新操作会用最新的当前值去替换记录中原来的旧值,旧值被覆盖后就不会存在。而在HBase中执行更新操作时,并不会删除数据旧的版本,而是生成一个新的版本,旧有的版本仍然保留。
3.访问HBase表中的行,有哪些方式
A、通过某列的值区间
B、通过单个行健访问
C、全表扫描
D、通过一个行健的区间来访问
正确答案: BCD
五、NoSQL数据库
1、试述CAP理论的具体含义。
正确答案:
C(Consistency):一致性,是指任何一个读操作总是能够读到之前完成的写操作的结果,也就是在分布式环境中,多点的数据是一致的,或者说,所有节点在同一时间具有相同的数据。
A:(Availability):可用性,是指快速获取数据,可以在确定的时间内返回操作结果,保证每个请求不管成功或者失败都有响应;
P(Tolerance of Network Partition):分区容忍性,是指当出现网络分区的情况时(即系统中的一部分节点无法和其他节点进行通信),分离的系统也能够正常运行,也就是说,系统中任意信息的丢失或失败不会影响系统的继续运作。
2、请举例说明不同产品在设计时是如何运用CAP理论的。
正确答案:
3、试述BASE的具体含义。
正确答案:
BASE(Basically Availble基本可用, Soft-state软状态, Eventual consistency最终一致性)
基本可用: 是指一个分布式系统的一部分发生问题变得不可用时,其他部分仍然可以正常使用,也就是允许分区失败的情形出现。
“软状态”,是指状态可以有一段时间不同步,具有一定的滞后性。
最终一致性:根据更新数据后各进程访问到数据的时间和方式的不同,又可以区分为:因果一致性;“读己之所写”一致性;单调读一致性;会话一致性;单调写一致性。
而最终一致性是弱一致性的一种特例,允许后续的访问操作可以暂时读不到更新后的数据,但是经过一段时间之后,必须最终读到更新后的数据。 最常见的实现最终一致性的系统是DNS(域名系统)。
4、请解释软状态、无状态、硬状态的具体含义。
正确答案:
“软状态(soft-state)”是与“硬状态(hard-state)”相对应的一种提法。
“硬状态” ,是指可以保证数据一致性,即保证数据一直是正确的。
“软状态”,是指状态可以有一段时间不同步,具有一定的滞后性。
一.单选题
1.下列关于NoSQL数据库和关系型数据库的比较,不正确的是
A、NoSQL数据库的可扩展性比传统的关系型数据库更好
B、NoSQL数据库具有弱一致性,关系型数据库具有强一致性
C、NoSQL数据库很容易实现数据完整性,关系型数据库很难实现数据完整性
D、NoSQL数据库缺乏统一的查询语言,而关系型数据库有标准化查询语言
正确答案: C
2.以下对各类数据库的理解错误的是
A、文档数据库的数据是松散的,XML和JSON 文档等都可以作为数据存储在文档数据库中
B、图数据库灵活性高,支持复杂的图算法,可用于构建复杂的关系图谱
C、键值数据库的键是一个字符串对象,值可以是任意类型的数据,比如整型和字符型等
D、HBase数据库是列族数据库,可扩展性强,支持事务一致性
正确答案: D
3.下列数据库属于文档数据库的是
A、HBase
B、MongoDB
C、MySQL
D、Redis
正确答案: B
4.NoSQL数据库的三大理论基石不包括
A、CAP
B、ACID
C、BASE
D、最终一致性
正确答案: B
答案解析:
CAP
二.多选题
1.关于NoSQL数据库和关系数据库,下列说法正确的是:
A、关系数据库有关系代数理论作为基础,NoSQL数据库没有统一的理论基础
B、NoSQL数据库和关系数据库各有优缺点,但随着NoSQL的发展,终将取代关系数据库
C、大多数NoSQL数据库很难实现数据完整性
D、NoSQL数据库可以支持超大规模数据存储,具有强大的横向扩展能力
正确答案: ACD
2.NoSQL数据库的类型包括:
A、键值数据库
B、文档数据库
C、图数据库
D、列族数据库
正确答案: ABCD
答案解析:
键值数据库、列族数据库、文档数据库和图形数据库
3.CAP是指:
A、分区容忍性
B、一致性
C、可用性
D、持久性
正确答案: ABC
答案解析:
C(Consistency):一致性,是指任何一个读操作总是能够读到之前完成写操作的结果,多点的数据是一致的,或者说,所有节点在同一时间具有相同的数据。 A:(Availability):可用性,是指快速获取数据,可以在确定的时间内返回操作结果,保证每个请求不管成功或者失败都有响应; P(Tolerance of Network Partition):分区容忍性,是指当出现网络分区的情况时(即系统中的一部分节点无法和其他节点进行通信),分离的系统也能够正常运行,也就是说,系统中任意信息的丢失或失败不会影响系统的继续运作。
4.NoSQL数据库的BASE特性是指:
A、持续性
B、软状态
C、最终一致性
D、基本可用
正确答案: BCD
答案解析:
基本可用(Basically Available) 软状态/柔性事务(Soft state) 最终一致性 (Eventual consistency)
三.判断题
1.目前,NoSQL的含义是“Not only SQL”,而不是“No SQL”。
正确答案:√
2.一个数据库事务具有ACID是指:原子性,一致性,持久性,隔离性。
正确答案:√
答案解析:
A(Atomicity):原子性,是指事务必须是原子工作单元,对于其数据修改,要么全都执行,要么全都不执行。 C(Consistency):一致性,是指事务在完成时,必须使所有的数据都保持一致状态。 I(Isolation):隔离性,是指由并发事务所做的修改必须与任何其它并发事务所做的修改隔离。 D(Durability):持久性,是指事务完成之后,它对于系统的影响是永久性的,该修改即使出现致命的系统故障也将一直保持。
六、云数据库
一.简答题(共4题,100.0分)
1、试述云数据库的概念。
云数据库是部署和虚拟化在云计算环境中的数据库。云数据库是在云计算的大背景下发展起来的一种新兴的共享基础架构的方法,它极大地增强了数据库的存储能力,消除了人员、硬件、软件的重复配置,让软、硬件升级变得更加容易。
2、UMP 系统是如何保障数据安全的?
SSL 数据库连接。 SSL (Secure Sockets Layer) 是为网络通信提供安全及数据完整性的一种安全协议,它在传输层对网络连接进行加密。Proxy 服务器实现了完整的MySQL 客户端服务器协议,可以与客户端之间建立SSL 数据库连接。数据访问IP 白名单。可以把允许访问云数据库的IP 地址放入“白名单”,只有白名单内的IP地址才能访问,其他IP地址的访问都会被拒绝,从而进一步保证账户安全。记录用户操作日志。 用户的所有操作记录都会被记录到日志分析服务器,通过检查用户操作记录,可以发现隐藏的安全漏洞。SQL拦截。Proxy 服务器可以根据要求拦截多种类型的SQL 语句,比如全表扫描语句”select
3、简述阿里云RDS的主要优势
pRDS是阿里云提供的关系型数据库服务,它将直接运行于物理服务器上的数据库实例租给用户,是专业管理的、高可靠的云端数据库服务
pRDS由专业数据库管理团队维护,还可以为用户提供数据备份、数据恢复、扩展升级等管理功能,相对于用户自建数据库而言,RDS具有专业、高可靠、高性能、灵活易用等优点,能够帮助用户解决费时费力的数据库管理任务,让用户将更多的时间聚焦在核心业务上 pRDS具有安全稳定、数据可靠、自动备份、管理透明、性能卓越,灵活扩容等优点,可以提供专业的数据库管理平台、专业的数据库优化建议以及完善的监控体系
4、微软云关系数据库SQL Azure提供了关系型数据库存储服务,包含哪三部分?
SQL Azure报表服务
SQL Azure数据同步
SQL Azure数据库
选择题:
1.下列Amazon的云数据库属于关系数据库的是
A、Amazon SimpleDB
B、Amazon DynamoDB
C、Amazon Redshift
D、Amazon RDS
正确答案: D
答案解析:
微软的SQL Azure云数据库、阿里云RDS都采用了关系模型
2.下列关于UMP系统的说法不正确的是
A、Agent服务器部署在运行MySQL进程的机器上,用来管理每台物理机上的MySQL实例
B、Mnesia是UMP系统的一个组件,是一个分布式数据库管理系统,且不支持事务
C、Controller服务器向UMP集群提供各种管理服务,实现集群成员管理、元数据存储等功能
D、UMP系统是低成本和高性能的MySQL云数据库方案
正确答案: B
答案解析:
UMP系统是低成本和高性能的MySQL云数据库方案;Agent服务器部署在运行MySQL进程的机器上,用来管理每台物理机上的MySQL实例;Mnesia是一个分布式数据库管理系统。Mnesia支持事务,支持透明的数据分片,利用两阶段锁实现分布式事务.Controller服务器向UMP集群提供各种管理服务,实现集群成员管理、元数据存储、MySQL实例管理、故障恢复、备份、迁移、扩容等功能。
二.多选题
1.UMP依赖的开源组件包括
A、LVS
B、RabbitMQ
C、Mnesia
D、ZooKeeper
正确答案: ABCD
答案解析:
Mnesia LVS RabbitMQ ZooKeeper
2.在UMP系统中,Zookeeper主要发挥的作用包括
A、负责集群负载均衡
B、提供分布式锁,选出一个集群的“总管”
C、监控所有MySQL实例
D、作为全局的配置服务器
正确答案: BCD
答案解析:
作为全局的配置服务器 。 提供分布式锁(选出一个集群的“总管”) 。 监控所有MySQL实例 。
3.UMP系统设计了哪些机制来保证数据安全
A、记录用户操作日志
B、数据访问IP白名单
C、SSL数据库连接
D、SQL拦截
正确答案: ABCD
三.判断题
1
UMP系统通过多个组件的协同作业,实现对用户透明的功能包括:容灾、读写分离、分库分表、资源管理、资源调度、资源隔离、数据安全。 正确答案:√
答案解析:
容灾 读写分离 分库分表 资源管理 资源调度 资源隔离 数据安全