对于Google File System的粗浅感触:
2003年,Google发布Google File System论文,这是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,提供容错功能。从根本上说:文件被分割成很多块,使用冗余的方式储存于商用机器集群上。
GFS由一个master和大量的Chunkserver构成。Google设置一个master来保存目录和索引信息,这是为了简化系统结果,提高性能来考虑的,但是这就会造成主成为单点故障或者瓶颈。为了消除主的单点故障Google把每个chunk设置的很大(64M),这样,由于代码访问数据的本地性,application端和master的交互会减少,而主要数据流量都是Application和Chunkserver之间的访问。
另外,master所有信息都存储在内存里,启动时信息从Chunkserver中获取。提高了master的性能和吞吐量,也有利于master当掉后,很容易把后备j机器切换成master。客户端和Chunkserver都不对文件数据单独做缓存,只是用linux文件系统自己的缓存。
Google的后面两篇论文——MapReduce 和 BigTable都是以GFS为基础。三大基础核心技术构建出了完整的分布式运算架构。
谷歌之所以现在能称霸世界搜索引擎市场,最重要的技术就是GFS,GFS是google分布式存储的基石,其他存储系统,比如Google的bigtable、megastore、percolator均直接或者间接的构建在GFS上。Google File System那么被人称道的原因就是它是Google集群技术的核心。
GFS支持了必需提供超大文件量与超大流量的 Google 搜寻引擎服务,是许多 Google 应用软件或云服务的基础,可以说是云时代的杀手级技术。