Google的啓示

最近在對現有的搜索引擎進行分佈式的改進, 回顧以前閱讀過的 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的核心.

當我們設計一個系統的時候, 我們最簡單的做法通常是會根據需求對已有的一些經驗進行匹配, 這個過程中我們通常走的是近路,而且我們的經驗常常會束縛我們的想法, 沒有拋開經驗進行全新的分析和設計, 也自然就難以有所創新.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章