欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Google File System
第1行: | 第1行: | ||
+ | {{SeeWikipedia}} | ||
+ | |||
Google File System | Google File System | ||
[[Image:google-file-system.png|right|thumb|GFS Architecture]] | [[Image:google-file-system.png|right|thumb|GFS Architecture]] | ||
第14行: | 第16行: | ||
*http://labs.google.com/papers/gfs.html | *http://labs.google.com/papers/gfs.html | ||
*http://labs.google.com/papers/gfs-sosp2003.pdf | *http://labs.google.com/papers/gfs-sosp2003.pdf | ||
+ | |||
+ | {{Comment}} | ||
+ | |||
+ | [[Category:Google]] | ||
+ | [[Cagegory:File System]] |
2010年9月16日 (四) 07:43的版本
您可以在Wikipedia上了解到此条目的英文信息 Google File System Thanks, Wikipedia. |
Google File System
Google File System (简称GFS) 是由 Google Inc. 设计并实现的一个分布式文件系统,基于大量安装有Linux操作系统的普通PC构成的集群系统。整个集群系统由一台Master(通常有几台备份)和若干台TrunkServer构成。GFS中文件备份成固定大小的Trunk分别存储在不同的TrunkServer上,每个Trunk有多份(比如3)拷贝,也存储在不同的TrunkServer上。Master负责维护GFS中的 Metadata,即文件名及其Trunk信息。客户端先从Master上得到文件的Metadata,根据要读取的数据在文件中的位置与相应的 TrunkServer通信,获取文件数据。
高可靠性是GFS最重要的特点。GFS使用的是可靠性较差的普通PC,节点失效属于正常现象,起中很大一部分设计就是要解决单节点甚至双节点同时实效的问题。
鉴于Google Inc. 的特殊应用环境,需要处理海量数据,经常有大文件(几十G)的操作,而且常是多台机器同时数据输出到一个大文件中,供后面的流程使用。GFS也对这种特殊的应用需求做了很多优化,保证往大文件并发追写数据时的可靠和高效。(来源: 灵感点滴 )
GFS 以64M为一个Chunk(Block),每个Chunk至少存在于三台机器上,交互的简单过程见图:
目前Google拥有超过200个的GFS集群,其中有些集群的计算机数量超过5000台。Google现在拥有数以万计的连接池从GFS集群中获取数据,集群的数据存储规模可以达到5个PB,并且集群中的数据读写吞吐量可达到每秒40G。
<discussion>characters_max=300</discussion>Cagegory:File System