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

相关推荐
观测云40 分钟前
观测云 × AWS SSO:权限治理可观测实践
云计算·aws
马里马里奥-11 小时前
在Windows系统部署本地智能问答系统:基于百度云API完整教程
windows·云计算·百度云
来自于狂人9 天前
速通Ceph分布式存储(含超详细图解)
云计算
云宏信息10 天前
金融vmware替换过程中关于利旧纳管、迁移、数据安全容灾备份、成本及案例|金融行业数字化QA合集④
大数据·运维·服务器·科技·金融·云计算
成都极云科技10 天前
如何选择适合的服务器托管方案以优化网站性能:提升速度与稳定性的关键决策
运维·服务器·人工智能·云计算·gpu算力
小猴崽10 天前
腾讯云轻量数据库:性能与成本优化的新一代数据解决方案
数据库·云计算·腾讯云
编程乐学(Arfan开发工程师)10 天前
74、单元测试-前置条件
redis·python·阿里云·单元测试·云计算·bootstrap
Ultipa10 天前
数据驱动 AI 时代:数据库行业的技术跃迁与生态重构
大数据·数据库·人工智能·重构·云计算·图数据库
忘记安全带10 天前
AWS EC2使用SSM会话管理器连接
服务器·网络·自动化·云计算·aws
来自于狂人10 天前
速通KVM(云计算学习指南)
云计算