Posted on 2005-12-07 13:16
inwind 閱讀(225)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
搜索引擎
google file system 這篇文章我也看了,作者的1,2,3點(diǎn)當(dāng)時(shí)都注意到了,可惜沒(méi)有及時(shí)的更新記錄,呵呵,這里把這位作者的留下來(lái)了:)
=======================================================================================
最近在對(duì)現(xiàn)有的搜索引擎進(jìn)行分布式的改進(jìn), 回顧以前閱讀過(guò)的 google file system 的文章時(shí)發(fā)現(xiàn)google的思維和我們平時(shí)固守的思維很不一樣, 可以說(shuō)很多在我們看來(lái)是有一些"偏激"的,可是正是由于這些偏激, 才導(dǎo)致google與其跟隨者的不同.
以下為幾個(gè)例子:
1. google認(rèn)為, 所有的硬件都是容易產(chǎn)生故障的, 因此google認(rèn)為故障是必然的, 不產(chǎn)生故障才是偶然現(xiàn)象. 這個(gè)想法和我們通常的意識(shí)是相反的.
2. Google認(rèn)為, 一旦寫(xiě)入, 再也不刪除和修改. 這點(diǎn)上google認(rèn)為修改和刪除會(huì)對(duì)系統(tǒng)造成潛在的傷害, 例如文件的不連續(xù)性, 文件定位的困難..
3. Google將Linux的 file system的block更改為 64M , 也就是說(shuō), 寫(xiě)文件的最小單元是64M, 而不是我們通常的512字節(jié), 兩者整整相差了128000倍.
4. Google認(rèn)為修復(fù)是沒(méi)有必要的, 當(dāng)一個(gè)服務(wù)器出現(xiàn)問(wèn)題的時(shí)候, 撤下來(lái), 換上另外一個(gè) google unit(google 單元)即可, 因?yàn)榫S修的成本遠(yuǎn)遠(yuǎn)大于直接上線一個(gè)全新的服務(wù)單元的成本. 說(shuō)來(lái)容易, 其實(shí)只有當(dāng)google結(jié)構(gòu)真正實(shí)現(xiàn)高冗余和分布式這樣的操作才可行, 而這些正是google的核心.
當(dāng)我們?cè)O(shè)計(jì)一個(gè)系統(tǒng)的時(shí)候, 我們最簡(jiǎn)單的做法通常是會(huì)根據(jù)需求對(duì)已有的一些經(jīng)驗(yàn)進(jìn)行匹配, 這個(gè)過(guò)程中我們通常走的是近路,而且我們的經(jīng)驗(yàn)常常會(huì)束縛我們的想法, 沒(méi)有拋開(kāi)經(jīng)驗(yàn)進(jìn)行全新的分析和設(shè)計(jì), 也自然就難以有所創(chuàng)新.