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

6.2.2 元数据

所有块服务器一共保存了数十GB的元数据,大多数是用户数据的64KB的校验和。另外的,保存在块服务器仅有的元数据是块版本号,在4.5章节我们曾经讨论过。

保存在主服务器的元数据更小,只有数十MB,平均一个文件100个字节。这验证了我们的论断,那就是在实际中主服务器的内存大小不是局限系统能力的主要因素。每个文件元数据最大的部分是以前缀压缩形式保存的文件名。元数据的其他部分包括,文件的拥有者和权限,文件到块的映射,每个块的当前版本。另外,我们保存每个块的当前副本位置,以及一个用来实现copy-on-write技术的引用计数。

每个分别的服务器,不管块服务器还是主服务器,都只有50到100MB的元数据。所以恢复会很快:在服务器可以回复请求之前,只需要几秒钟去从硬盘读取这些元数据。然而,服务器可能会不稳定一会儿--通常是30-60秒--知道它从所有块服务器获得块位置信息。


<< 6.2.1 存储 | 6.2.3 读写速度 >>