今天花了一天看完了Google File System的论文,平时不注意专业名词的积累,确实蛮累的。其中碰到了一些疑问,赶紧记下来,不一定是对的答案,而是一些现在的想法。
1、Snapshot是如何实现的?
快照其实就是复制、备份。当进行快照之后,master马上在内存中对需要快照的文件标记一下。比如说文件foo需要快照,master就把foo的引用计数加1,foo的引用计数就变成2了。之后坐等copy-on-write发生。
什么是copy-on-write(COW)?
有N个进程同时读一个文件,系统只需要提供一份这个文件就行了。但如果有一个进程对这个这个文件修改,这个文件就会被系统单独复制一下,唯一的交给这个进程,这个进程以后就对复制的部分进行操作。详看《深入理解计算机系统》虚拟存储器,存储器映射。
就拿上面那个例子来说,当client要求改foo时,原先在内存中有2个指针(1个是snapshot生成的指针)指向foo,foo的引用记录是2,现在赶紧把foo复制一份,将这2个指针分别指向两个foo文件。然后把新生成的foo文件返回给client,client对它进行更改。
2、GFS是如何处理小文件的?
小文件应该就跟平时处理一样,gfs会提供小文件操作的api,不然一个文件至少就要占用一个64MB大的chunk么?
3、各个副本的数据是不是一样的?
GFS只保证所有并发操作都会被执行,lease过的primary chunk保证所有并发操作的顺序一样。这样能保证数据的一致性,但是要说到底哪个并发改了哪些数据,那就不清楚了,所以会被GFS标为undefined。
有了前2点还不能保证数据一样么?
对的,只能保证client在使用数据时感觉是一样。再精确来讲,是内容一样,但是数据不一样,不能保证bytewise identical。可能每个副本的经历不一样,比如某些副本在某些chunkserver上操作的时候,重试了好几次,造成gfs添加了一些padding数据在其中。
4、在现实的cluster测试当中,为什么第六部分所讲的写速率上限是66.7MB/s?
每个chunk是100Mb/s,16个chunk加起来是200MB/s。但是每个文件要复制3份,所以实际的写入速度还要除以3。
5、Record Append的速度为什么随着client的增加而减少?要是client继续增加,那速度岂不是慢地稀里哗啦?
论文中这里的速度是单独一个文件的record append速度。16个client一起上的时候,难免有congestion,所以追加速度会慢。(因为这里有并行,所以要么加锁,要么就要排队列)
实际上倒是不用担心,因为client可能有上千个,而client要进行的操作可能不仅是这一个,它可以选择先去操作其它文件。(不知道是不是这样)
分享到:
相关推荐
根据提供的文件信息,下面将详细阐述关于Google File System(GFS)中文版的知识点。 ### 标题知识点 #### Google File System中文版 - **分布式文件系统概念**:GFS是一种面向大数据存储和处理的分布式文件系统。...
### Google File System (GFS) 系统架构与设计 #### 概述 Google File System(简称 GFS)是一项由Google开发的可扩展分布式文件系统,旨在为大规模数据密集型应用提供支持。它通过在低成本商品硬件上运行来实现...
接下来,了解GFS(Google File System),它是基于大规模分布式数据处理需求而设计的分布式文件系统。在设计GFS时,Google工程师们对传统的分布式文件系统进行了深入分析,发现必须重新审视它们的设计折衷选择,以...
The Google File SystemThe Google File SystemThe Google File System
《谷歌文件系统(The Google File System)》是Google公司于2003年发布的一篇技术论文,它详细阐述了一种专为大规模分布式计算环境设计的文件系统。这篇论文成为了后来许多分布式文件系统的设计基础,对云计算和大...
标题《The Google file system》指的是谷歌文件系统,这是一种专为处理大规模分布式数据密集型应用而设计和实施的可扩展分布式文件系统。该文件系统以低成本的商品化硬件为运行平台,在提供容错能力的同时,为大量...
标题《The Google File System.pdf》与描述《google分布式三大奠基文章之一》提示了该文件是关于Google设计和实现的分布式文件系统(GFS)的详细介绍,它是谷歌用于处理大量分布式数据密集型应用的基础存储平台。...
### Google File System (GFS) 关键知识点 #### 摘要与背景 - **设计与实现**:GFS是一个面向大规模数据密集型应用的、可伸缩的分布式文件系统,旨在通过廉价的通用硬件提供高可靠性和高性能的服务。 - **应用场景...
谷歌的三驾马车——Google File System(GFS)、MapReduce和Bigtable,是构建大规模分布式计算系统的核心技术。这三者共同构成了谷歌处理海量数据的基础架构,为搜索引擎、云计算和其他大数据应用提供了强大的支撑。...
《Google File System、Lustre File System、Global File System 分布式文件系统研究》 分布式文件系统是现代大规模数据处理的核心技术,其中Google File System (GFS)、Lustre File System (LFS)和Global File ...
### 谷歌文件系统(Google File System, GFS)详解 #### 引言 谷歌作为全球最大的搜索引擎之一,处理着海量的数据。为了满足如此庞大的数据处理需求,谷歌设计并实现了一种高度优化且可扩展的分布式文件系统——...
谷歌的三篇经典论文——Bigtable、File-System和MapReduce,对现代大数据处理和分布式系统的发展产生了深远影响。这三篇文章分别详细介绍了谷歌在数据存储、文件系统和大规模并行计算上的创新解决方案。 首先,让...
### Google File System (GFS)解析 #### 一、概览 《Google File System》(简称GFS)是一篇由Google发布的关于其内部文件系统架构的技术论文,该论文揭示了Google如何解决大规模数据存储的问题。GFS是为了解决海量...
在云计算领域,Google无疑是引领潮流的巨头之一,其在2000年代初期发表的三篇论文——"The Google File System"(GFS)、"MapReduce: Simplified Data Processing on Large Clusters"和"Bigtable: A Distributed ...
"File System Forensic Analysis" 是一本专注于文件系统取证分析的经典著作,对于理解文件系统的工作原理以及在调查数字犯罪或数据恢复场景中的应用具有极高的价值。 首先,我们要理解文件系统的基础概念。文件系统...
Global File System GFS_培训资料
谷歌的三大核心技术——Google File System (GFS)、MapReduce 和 BigTable,是现代大数据处理与存储的基础,对于理解互联网巨头如何处理海量数据至关重要。这三项技术分别解决了大规模分布式系统中的文件存储、大...
**文件系统审计师(File System Auditor) 1.52安装指南** **一、软件概述** File System Auditor(简称FSA)是一款专业级别的文件系统监控和审计工具,它主要用于记录和分析用户对文件系统进行的各种操作,如读取、...
《Windows文件系统审计工具——File_System_Auditor2.53深度解析》 在IT管理领域,特别是企业网络环境中,确保数据安全与合规性至关重要。File_System_Auditor是一款专门针对Windows文件系统的审计工具,其最新版本...