2014-11-06 32 views
0

我正在創建一個爬蟲,爲了爭辯,它將抓取10億個頁面。我知道這是我將要爬過的絕對最大頁數,我知道我需要在互聯網上存儲每個頁面的信息。爬蟲是nutch與soir。有沒有什麼辦法可以讓你知道一個搜索引擎需要多少空間的數據庫?

我該如何可靠地決定硬盤的大小,我需要維護這些數據量?我找不到任何關於記錄將在nutch中佔用多少空間的信息。我需要知道,所以我可以看到在一個驅動器上託管它是多麼的現實,如果不是,我的其他選擇是什麼。

如果它每頁佔用1千字節,則10億頁需要= 1 000 000 000/1024/1024 = 95太字節。這是很多。但是,如果它是每頁半字節,或者一個字節超過25%或更少,這將使其僅存儲在幾臺服務器上更加實際。

回答

2

您已經完成了一項估算,但您的估算值可能會有所偏差。幾乎沒有現代網頁的大小隻有1kb(MSN.com是319KB(58.8KB gzipped) - 但根據你問的人數,1B網頁是當今互聯網上相當數量的相關頁面,並且保持不變記住,你可能不僅僅想存儲實際的頁面內容,而且還需要對它進行索引,這將包括幾個索引,這取決於你對索引的期望是什麼樣的用途,其中大部分內容也可能是解析並轉換爲其他內容,這些內容將根據不同的用途分別編入索引

因此,對於諸如問題的唯一可能答案是「取決於」和「祝你好運」此外,95TB不是一個很多的存儲空間,並且可以通過單個服務器來處理(存儲方面 - 索引使用和查詢數量將需要更多的服務器,但這一切取決於您將使用的東西)

從某處開始,看看它在哪裏。

+0

你回答了我的問題。我需要找到一種可擴展的存儲解決方案,當數據變得更多時,可以輕鬆地在多臺服務器上生成。 – coderama 2014-11-06 07:51:56

+0

這樣的系統的任何建議? :) – coderama 2014-11-06 07:55:06

+0

@coderama http://en.wikipedia.org/wiki/Clustered_file_system是一個很好的開始,根據您的要求評估不同的選項 – MatsLindh 2014-11-06 09:11:44

相關問題