云编程与软件环境技术解析
1 BigTable与Chubby系统介绍
1.1 BigTable系统特性
BigTable是一种关系型数据库,提供丰富的原子操作(事务)。在存储数据时会隐式创建行,行按字典序排列,通常位于一台或少量机器上。大表会在行边界处拆分为多个表片(tablet),每个表片包含连续的行范围。系统目标是每个表片存储约100MB到200MB的数据,每个服务机器负责约100个表片。这样的设计能实现更快的恢复时间,也有助于细粒度的负载均衡,由主机器负责做出负载均衡决策。
1.2 表片定位层次结构
表片定位从Chubby中存储的文件开始,其层次结构如下:
- 第一层是Chubby中的一个文件,包含根表片的位置。
- 根表片包含特殊METADATA表中所有表片的位置。
- 每个METADATA表片包含一组用户表片的位置。
根表片是METADATA表中的第一个表片,且不会被拆分,以确保表片定位层次结构不超过三层。METADATA表在一个行键下存储表片的位置,该行键是表片的表标识符和结束行的编码。
1.3 BigTable的优化与容错特性
- Chubby可保证用于查找根表片的文件的可用性。
- 主机器能快速扫描表片服务器以确定所有节点的状态。
- 表片服务器使用压缩来高效存储数据。
- 使用共享日志记录多个表片的操作,以减少日志空间并保持系统一致性。
1.4 Chubby分布式锁服务
Chubby旨在提供粗粒度的锁定服务,它可以在
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



