看板 CSSE 關於我們 聯絡資訊
※ 引述《haryewkun (Har)》之銘言: : ※ 引述《reader (讀者)》之銘言: : : 如果 Yahoo 的估計量是正確的, 20G 的網頁,光是檢查有沒有更新,大約就要 : : 花上 10TB 左右的流量,更新的總資料量則和時間有關。 : : 若要一周檢查一次,更新率為 1%, 平均網頁大小為 50KB, 則總共的資料量為 : : (20G * 0.01 * 50KB + 10TB) / 50MB = 400K sec, 一周有 600K sec 以上。 : : 所以理論上,只要一台好機器就可能在一周內爬完全球網頁。只是若要收斂到 : : 這個地步,需要較長的時間。我就不去計算了。 : 有兩個小小的問題。 : 如果要在一個星期內,檢查兩百億個網頁有沒有更新,這台機器,同一個時間 : 內,要處理多少個 TCP/IP connection? 20G / (86400 * 7) 約等於 33000. 所以每秒鐘似乎得處理三、四萬個連線。 不過實際上的數字會遠小於此數,因為一個連線就可以檢查該機器所有的 網頁,而大部分的網頁都存在少數網站上,通常還是高效能網站。所以, 只要好好運用 Keep-Alive, 連線數量並不是問題。 當然慢速網站的拖累會是一個麻煩,那就是工程上的取捨和技巧了。 : 第二個問題就是,只用一台電腦,能夠處理及儲存 20billion條資料,而且平 : 均每條資料都有 50K 的長度嗎?(總資料量是 20G*50K = 1000 TB) : 我的意思是,就算你用硬碟陣列,一台硬碟 500GB,你也需要差不多兩千台的 : 硬碟吧? 這種資料處理基本上不需要回頭讀取,所以可以使用其他機器或外接設備來 儲存資料,例如磁帶櫃。 例如目前銷量很好的 Sun StorageTek SL8500, 一台就可以儲存 10EB 的資料。 要儲存全球網頁根本不是問題。 所以,一個全球服務的大型網站系統需要很多機器,高速反應更是考驗工程 設計品質,但是一個搜尋全球網頁的系統,反而不需要很多機器。 註: 1EB = 1000 PB, 1PB = 1000 TB -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.222.173.30