Posted on 2005-12-07 13:16
inwind 閱讀(220)
評論(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的核心.
當我們設計一個系統的時候, 我們最簡單的做法通常是會根據需求對已有的一些經驗進行匹配, 這個過程中我們通常走的是近路,而且我們的經驗常常會束縛我們的想法, 沒有拋開經驗進行全新的分析和設計, 也自然就難以有所創新.