google的演算法是否真的很快? (轉)

worldblog發表於2008-01-06
google的演算法是否真的很快? (轉)[@more@]

今天在用的時候突然間想到了一個問題,google是不是真的有那麼快的搜尋速度,或者,它利用了一些我們可能沒想到的手段來“欺騙”我們。我現在所能想到是的,由於我們訪問網頁的限制(每頁只能看十個搜尋結果),google是否每次只在一箇中(聽說google用了幾千個伺服器)搜尋我們想要的東西,把這些搜尋得到的結果送到我們的伺服器上(也就是我們的網頁上顯示了搜尋結果的第一頁),而當我們選擇了第二頁的時候,它再在伺服器中繼續搜尋(可能還是在原來的那個伺服器中搜尋,也可能是在另一臺上搜尋了,這要看原來的伺服器是否已經搜尋完畢)。我這樣想,並不是沒有什麼根據。我們可以看一下,每次得到的搜尋結果的個數,都寫明是約有多少個,如果真的是在提交搜尋請求的時候就把所有可能的網頁都搜尋出來了,那肯定不可能是大約的數目了。而且,從實現的角度來想(也許我的思想有點幼稚吧),搜尋一些常用詞得到的結果是很大的,如果把這些結果都記錄下來,那麼,對於單一的來說是可能的,但如果對於成千上萬的人來同時訪問(和同時搜尋),就算有幾千臺高伺服器,我想也是不高的。或者有人會問,如果搜尋的結果只有幾個,可以在一頁中顯示出來,那麼這該怎麼解釋。我認為,對於這一情況,google是有自己的一套做法的。我個人的認為是,google可能認為如果在一臺伺服器中只有幾個命中的記錄,那麼在其它伺服器中的命中記錄應該也會只有幾個(很多的機率是很小的,除非伺服器是分語言來記錄的,如果是這樣做,反而會更好,可以根據搜尋詞的語言來指定要訪問哪些伺服器),因此,它只把在一臺伺服器上得到的命中記錄返回給使用者,並且指出,可能還有一些其它的符合條件的記錄(這個大家應該用看過吧)。如果google真的是這樣做的,那我們就不難理解為什麼它的搜尋速度會這麼快了------一個使用者同一時刻只會用到一個伺服器(大部分情況下)。
我忘記在哪裡看到有人說google是6000多臺伺服器連起來的,那麼,我想,google的訪問量還不至於多到每秒6000次吧。這樣,在同一時刻把不同的使用者分配到不同的機器上去,速度想慢點也難了。
以上這些只是我突然間想到的東西,如果有不同的意見可以討論一下,不要罵我幼稚就行了。呵呵


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-996704/,如需轉載,請註明出處,否則將追究法律責任。

相關文章