【云计算 复习】第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

相关推荐
运维&陈同学6 小时前
【模块一】kubernetes容器编排进阶实战之k8s基础概念
运维·docker·云原生·容器·kubernetes·云计算
科技云报道6 小时前
推动AI云产业向深向实,云·AI·算力创新发展大会即将启幕
云计算
dessler7 小时前
云计算&虚拟化-虚拟化技术介绍
linux·运维·云计算
神秘的土鸡7 小时前
丹摩征文活动 | SD3+ComfyUI的图像部署实践
人工智能·云计算·aigc·ai绘画·gpu算力·安全架构
云计算DevOps-韩老师11 小时前
【网络云计算】2024第45周周考-分组技能大赛-LVM结合RAID解题思路【RAID结合LVM】
网络·云计算·perl·devops·lvm扩容·lvm基本概念·raid基础
林农11 小时前
C03S01-Linux网络基本设置
linux·网络·云计算
容器魔方13 小时前
KubeEdge 1.19.0版本发布!更完备的节点设备能力,全新的Dashboard体验
云原生·容器·云计算
小安运维日记18 小时前
CKA认证 | Day1 k8s核心概念与集群搭建
运维·云原生·容器·kubernetes·云计算·k8s
这里是苏同学19 小时前
Linux操作系统之软件安装与包管理器工具
linux·运维·网络·centos·云计算
KubeSphere 云原生19 小时前
云原生周刊:Istio 1.24.0 正式发布
云计算·k8s·容器平台·kubesphere