moyuanhuang / OpenCourses

online open courses for back-end stuffs
1 stars 0 forks source link

lec 3: Google File System #4

Open moyuanhuang opened 6 years ago

moyuanhuang commented 6 years ago

在读论文之前需要清楚的概念:

通常我们要在两者之中做权衡,是牺牲一些性能获得更好的一致性或者相反。总之鱼与熊掌不可兼得。而GFS的system design中对这一问题处理得很实际,也很有指导意义。

GFS在设计时做的一些假设:

  1. machine failure是常态而不应该被当做exception对待。这是因为整个GFS通常由上百个机器组成的。
  2. files are big 主要作为存储目的的GFS通常用来存储大量的网站数据或科学数据库,都以GB为单位。
  3. client对GFS的操作通常是追加写而不是override。

Record Append:

Snapshot:

moyuanhuang commented 6 years ago

其他一些实现上的细节。

Single Master: 使用单一master服务器的好处就是容易实现的,控制流决策简单。然而同样也要尽量避免读取数据时client与master的交互,否则master的datai/o将会成为性能的瓶颈。为了达到此目的:

Hot point: 当一个文件比较小,只占一个chunk,此时这个文件的读写都会落到同一个chunkserver上,被频繁读写,成为性能瓶颈。