【云计算 复习】第3节 BIgtable

一、概念

1.Bigtable 应达到的基本目标

(1)广泛的可用性:是为了满足一系列Google产品而并非特定产品的存储要求。

(2)很强的扩展性:根据需要随时可以加入或撤销服务器。

(3)高可用性:确保几乎所有的情况下系统都可用,因为对于客户来说,短暂的服务中断也不能忍受。

(4)简单性:底层系统的简单性既可以减少系统出错的概率,也为上层应用的开发带来便利。

2.概述

(1)Bigtable对存储的数据不做解析,一律看作字符串,具体数据结构由用户实现。

3.数据的存储格式

(1)Bigtable是一个分布式多维映射表,表中的数据通过一个行关键字(Row Key)、 一个列关键字(Column Key)以及一个时间戳(Time Stamp)进行索引

(row:string, column:string, time:int64)→string

4.基本架构

5.Bigtable 中 Chubby 的主要作用

(1)选取并保证同一时间内只有一个主服务器(Master Server)。

(2)获取子表的位置信息。

(3)保存Bigtable的模式信息及访问控制列表。

6.主服务器

(1)Bigtable中主服务器对子表服务器的监控是通过Chubby完成的。以便及时检测到服务器的加入或撤销------保证良好的扩展性。

(2)当一个新的子表产生时,主服务器通过一个加载命令将其分配给一个空间足够的子表服务器。创建新表、表合并以及较大子表的分裂都会产生一个或多个新子表。

(3)创建新表、表合并是由主服务器发起的,主服务器会自动检测到。

(4)较大子表的分裂是由子表服务器发起的,主服务器无法自动检测到,需要分割完成之后子服务器向主服务发出一个通知。

(5)主服务器会定期询问每个具体的子表服务器独占锁的状态。

(6)如果子表服务器的锁丢失或没有回应,则

Chubby服务问题------主服务器首先自己尝试获取独占锁,若失败,说明 Chubby服务出了问题,需要等待Chubby服务的恢复。

子表服务器问题------主服务器获取独占锁成功,说明子表服务器出现了问题。主服务器就中止这个子表服务器并将其上的子表全部移至其他子表服务器。

7.子表服务器

(1)Bigtable中实际的数据都是以子表的形式保存在子表服务器上的。

(2)SSTable是Google为Bigtable设计的内部数据存储格式,所有的SSTable文件都存储在GFS上,用户可以通过键来查询相应的值。

(3)子表是一系列行的集合,每个子表由多个SSTable及日志文件构成。

8.查询

首先从Chubby中提取这个根子表的地址,进而读取所需的元数据子表的位置, 最后就可以从元数据子表中找到待查询的子表。

9.三种形式压缩之间的关系

二、习题

第1题 1分

Bigtable中,为了使主服务负载大大降低,客户端主要与( )通信。

A Master服务器

B 子表服务器

C 主服务器

D 子服务器

答案:D

第19题 1分

Bigtable是Google开发的基于( )和Chubby的分布式存储系统。

A GFS

B Paxos

C Megastore

D Dapper

答案:A

一个用于存数据,一个用于实现一致性

第28题 2分

BigTable是一个分布式多维映射表,表中数据通过行关键字,[填空1],[填空2]来进行索引。

答案:列族、时间戳

第29题 1分

SSTable是Google为Bigtable设计的内部数据存储格式,所有的SSTable文件都存储在[填空1]上。

答案:GFS

第2题 1分

Bigtable中,数据划分和负载均衡的基本单位是( )。

A 行

B 列

C 子表

D 主表

答案:A

这是因为Bigtable将数据按行存储和组织,并通过行键(row key)来进行数据的划分和负载均衡操作。

第3题 1分

以下描述中,Bigtable中Chubby的主要作用不包括( )。

A 选取并保证同一时间内只有一个主服务器。

B 获取子表的位置信息。

C 保存Bigtable的模式信息及访问控制列表。

D 创建访问控制列表。

答案:D

通常是由系统管理员或者具有管理权限的用户通过相应的管理接口或工具来创建和管理访问控制列表。

访问控制列表(Access Control List, ACL)是用于控制资源(如文件、目录、数据库表等)访问权限的列表。

第5题 1分

Bigtable中,实际的数据都是以子表的形式保存在( )中。

A Master服务器

B 子表服务器

C 主服务器

D 子服务器

答案:D

"子表服务器"并不是一个标准术语,可能是对"子服务器"(tablet server)的误解或混淆。即实际存储和处理数据的节点

第7题 1分

Bigtable中的SSTable数量过多,将会显著影响( )的速度。

A 读操作

B 写操作

C 次压缩

D 合并压缩

答案:A

因为在进行读取时,系统需要查找并读取多个SSTable 文件中的数据,当数量过多时,可能会增加读取的开销和时间,从而影响读操作的性能。

第9题 1分

Bigtable通过( )保存日志和数据文件。

A GFS

B MapReduce

C Chubby

D Table

答案:A

第12题 1分

以下不能为Bigtable表中的数据进行索引的是( )。

A 行关键字

B 列关键字

C 时间戳

D 锚点

答案:D

第17题 1分

Bigtable表中的数据是根据( )进行排序的,排序使用的是词典序。

A 行关键字

B 列关键字

C 时间戳

D 锚点

答案:A

第8题 1分

Bigtable中访问控制的基本单位是()。

A. 子表

B. 族

C. 行

D. 列

答案:B

相关推荐
Yanbin_Q1 小时前
调用 AWS Lambda 时如何传送字节数组
云计算·aws
炽天使1 小时前
aws rds-mysql不支持性能详情监控
linux·数据库·mysql·云计算·aws·rds
dessler18 小时前
云计算&虚拟化-kvm-克隆(clone)虚拟机
linux·运维·云计算
孪生质数-21 小时前
国际环境和背景下的云计算领域
网络·科技·云计算
Linux运维老纪1 天前
linux系统运维面试题(二)(Linux System Operations Interview Questions II)
linux·服务器·面试·云计算·运维开发·devops
2403_889461681 天前
智控水利:道品科技农业灌区自动化闸门引领农业灌溉新变革
大数据·网络·人工智能·经验分享·科技·自动化·云计算
努力的小T1 天前
Linux tcpdump 详解教程
linux·运维·服务器·云计算·tcpdump
运维&陈同学1 天前
【zookeeper04】消息队列与微服务之zookeeper客户端访问
linux·后端·微服务·zookeeper·云原生·消息队列·云计算
壹只菜鸟1 天前
阿里云整理(一)
阿里云·云计算