我正在创建一个爬虫程序,为了论证,它将抓取10亿个页面。我知道这是我将要抓取的绝对最大页数,我知道我需要在互联网上存储关于每个页面的尽可能多的信息。爬虫是nutch,带有soir。
如何可靠地确定维护此数据量所需的硬盘大小?我无法找到有关记录在nutch中占用多少空间的任何信息。我需要知道,所以我可以看到在一个驱动器上托管这个是多么现实,如果没有,我的其他选择是什么。
如果每页需要1千字节,则需要10亿页= 1 000 000 000 / 1024/1024 = 95太字节。这很多。但是,如果它是每页半个字节,或者是一个字节的25%或更少,这将使它只存储在几个服务器上更加真实。
答案 0 :(得分:2)
你已经做了一个估计,但你的估计可能还有点远。几乎没有现代网页只有1kb大小(MSN.com是319KB(58.8KB gzipped) - 但1B网页,取决于你问的是谁,今天在互联网上有相当数量的相关页面。并保持记住,你可能不只是想存储实际的页面内容,而是索引它。这将包括几个索引,这取决于你期望从索引中使用什么样的类型。大部分内容可能也会是解析并转换为其他内容,将针对不同的用法单独编制索引。
因此问题的唯一答案是“它取决于”和“祝你好运”。此外,95TB目前还不是很多存储,并且可以由单个服务器处理(存储方式 - 索引使用和查询计数将需要更多服务器,但这一切都取决于您将要使用的内容)。
从某处开始,看看它在哪里。