在阅读文章The Google File System之后,我仍然对某些观点感到困惑:
'追加操作'与'写操作'有什么好处?文章强调使用追加操作而不是写操作,我想知道为什么.Append比写更快?
为了保持块的冗余之间的一致性,gfs使用lease来让chunkserver作为主要服务器,让主服务器决定操作顺序以实现一致性,我的问题是如果重试后,更新操作仍然可以成功之后,冗余将处于不一致的状态。然后,当不同的客户端以相同的偏移量读取相同的块时,它们可能会读取不同的内容.gfs如何处理这类问题。
如果在附加操作中发生错误,主chunkserver会选择一个新的偏移来附加记录吗?记录是什么意思?当客户端读取文件时,它如何处理文件中的某些填充或重复记录?
答案 0 :(得分:0)
您的所有问题都直接在论文中提到,因此您应该更仔细地阅读它。但我会简短地回答问题的每个部分,为你提供一个条目:
这样可以在启用并发写入时保持一致性。如果修改现有数据,则对现有数据的并发写入会使一致性变得混乱。如果你只做附加,你可以随意重新排序,保持GFS定义的一致性模型。
它没有涉及到它作为一致性模型的一部分。客户必须处理它。
此致,基督徒