Posted on 2005-12-07 13:16
inwind 阅读(213)
评论(0) 编辑 收藏 引用 所属分类:
搜索引擎
google file system 这篇文章我也看了,作者的1,2,3点当时都注意到了,可惜没有及时的更新记录,呵呵,这里把这位作者的留下来了:)
=======================================================================================
最近在对现有的搜索引擎进行分布式的改进, 回顾以前阅读过的 google file system 的文章时发现google的思维和我们平时固守的思维很不一样, 可以说很多在我们看来是有一些"偏激"的,可是正是由于这些偏激, 才导致google与其跟随者的不同.
以下为几个例子:
1. google认为, 所有的硬件都是容易产生故障的, 因此google认为故障是必然的, 不产生故障才是偶然现象. 这个想法和我们通常的意识是相反的.
2. Google认为, 一旦写入, 再也不删除和修改. 这点上google认为修改和删除会对系统造成潜在的伤害, 例如文件的不连续性, 文件定位的困难..
3. Google将Linux的 file system的block更改为 64M , 也就是说, 写文件的最小单元是64M, 而不是我们通常的512字节, 两者整整相差了128000倍.
4. Google认为修复是没有必要的, 当一个服务器出现问题的时候, 撤下来, 换上另外一个 google unit(google 单元)即可, 因为维修的成本远远大于直接上线一个全新的服务单元的成本. 说来容易, 其实只有当google结构真正实现高冗余和分布式这样的操作才可行, 而这些正是google的核心.
当我们设计一个系统的时候, 我们最简单的做法通常是会根据需求对已有的一些经验进行匹配, 这个过程中我们通常走的是近路,而且我们的经验常常会束缚我们的想法, 没有抛开经验进行全新的分析和设计, 也自然就难以有所创新.