Google File System论文阅读难点笔记

本文记录了阅读Google File System (GFS) 论文时遇到的难点,主要探讨了GFS中的一致性问题、变更顺序与租赁机制,以及记录追加的原子性。GFS通过编号和版本控制保证一致性,采用租赁机制减少Master节点的负担,确保并发追加数据时的数据顺序。记录追加操作在GFS中具有原子性,即使有碎片,也能保证至少一条正确记录的存在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

阅读GFS论文时,发现有几个地方特别不容易理解,特记录如下。

一致性问题

GFS中的文件由块组成,同一个块有多个副本,副本分布在不同的节点上,如何保证数据的一致性?

论文中有“宽松的一致性模型”这种说法,一般的理解,“宽松”的意思就是不严格保证,为什么呢?原文中的说法是为了简化系统设计。

为什么会有一致性的问题?一致性问题产生的根源是什么?

写入操作失败,是导致不一致性的一个原因。

更普遍的原因是用户多路并发写操作,因为简化系统设计,又没有提供复杂的同步机制。

一致性涉及到的重要概念:

  1. consistent:对于文件中的一块区域,比如从某个偏移量开始到某个偏移量结束,如果客户端从任意副本读出的这块数据都相同,则认为文件的这块区域在系统中是consistent,也就是一致的,但一致并不等同于正确。
  2. defined:如果对于文件中的某一个区域,如果一个变更完成后,区域中的数据在保持一致性的同时,所有的客户端都能完整的看到这次变更,则说明这块区域是defined,也就是定义的,这是理解的状态。

接下来看下表:

  随机写 记录追加写
串行成功 定义的 定义但部分不一致
并发成功 一致但是未定义
失败 不一致
  • 随机写串行成功
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值