作者:Sanjay Ghemawat
          Howard Gobioff
          Shun-Tak Leung
翻译:tinyfool

2.6.1 内存内数据结构

因为元数据保存在内存中,所以主服务器操作的速度很快。而且,主服务器可以在后台,简单而高效的周期扫猫自己的整个状态。这种周期性的扫描用来在块服务器间实现块的垃圾收集的功能,用来实现块服务器失效的时复制新副本的功能,用来实现负载均衡的块移动的功能,以及用来实现统计硬盘使用情况的功能等。4.3和4.4章节将深入讨论这些行为。

这种纯内存的机制一种可能的问题是,块的数量和整个系统的容量都受限于主服务器拥有的内存尺寸。不过实际上这不是一个严重的限制。对于每个64MB的块,服务器只需管理不到64字节的元数据。大多数的块是满的,因为每个文件只有最后一块是部分填充的。类似的,每个文件的命名空间通常在64字节以下,因为保存的文件名是用前缀压缩算法压缩过的。

如果需要支持更大的文件系统,为主服务器增加额外内存的花费是很少的,而把元数据保存在内容带来了系统的简洁性,可靠性,高性能和灵活性。